From 7347bac4ab7e136157fc94777e6cf87ef9e08599 Mon Sep 17 00:00:00 2001 From: Zhineng Li Date: Fri, 13 Feb 2026 10:54:11 +0800 Subject: first commit --- data/en_us/esa/2024-09-10/api-docs.php | 111167 ++++++++++++++++++++++++++++++ 1 file changed, 111167 insertions(+) create mode 100644 data/en_us/esa/2024-09-10/api-docs.php (limited to 'data/en_us/esa/2024-09-10/api-docs.php') diff --git a/data/en_us/esa/2024-09-10/api-docs.php b/data/en_us/esa/2024-09-10/api-docs.php new file mode 100644 index 0000000..ccfd17b --- /dev/null +++ b/data/en_us/esa/2024-09-10/api-docs.php @@ -0,0 +1,111167 @@ + '1.0', + 'info' => [ + 'style' => 'RPC', + 'product' => 'ESA', + 'version' => '2024-09-10', + ], + 'directories' => [ + [ + 'children' => [ + [ + 'children' => [ + 'GetSite', + 'ListSites', + ], + 'type' => 'directory', + 'title' => 'Query website', + ], + [ + 'children' => [ + 'TagResources', + ], + 'type' => 'directory', + 'title' => 'Manage tags', + ], + ], + 'type' => 'directory', + 'title' => 'Website management', + ], + [ + 'children' => [ + [ + 'children' => [ + [ + 'children' => [ + 'CreateCustomHostname', + 'DeleteCustomHostname', + 'UpdateCustomHostname', + 'VerifyCustomHostname', + 'GetCustomHostname', + 'ListCustomHostnames', + 'ApplyCustomHostnameCertificate', + ], + 'type' => 'directory', + 'title' => 'SaaS domain names', + ], + [ + 'children' => [ + 'BatchCreateRecords', + 'DeleteRecord', + 'UpdateRecord', + 'ListRecords', + 'GetRecord', + ], + 'type' => 'directory', + 'title' => 'DNS records', + ], + [ + 'children' => [ + 'UpdateCnameFlattening', + ], + 'type' => 'directory', + 'title' => 'CNAME flattening', + ], + ], + 'type' => 'directory', + 'title' => 'DNS', + ], + [ + 'children' => [ + [ + 'children' => [ + 'ApplyCertificate', + 'SetCertificate', + 'GetCertificate', + 'ListCertificates', + 'ListCertificatesByRecord', + ], + 'type' => 'directory', + 'title' => 'Website certificates', + ], + [ + 'children' => [ + 'ListClientCaCertificates', + 'SetClientCertificateHostnames', + ], + 'type' => 'directory', + 'title' => 'Client certificates', + ], + [ + 'children' => [ + 'UploadOriginCaCertificate', + 'GetOriginCaCertificate', + 'DeleteOriginCaCertificate', + 'ListOriginCaCertificates', + 'GetSiteOriginClientCertificate', + 'DeleteSiteOriginClientCertificate', + 'ListSiteOriginClientCertificates', + 'UploadOriginClientCertificate', + 'GetOriginClientCertificate', + 'DeleteOriginClientCertificate', + 'ListOriginClientCertificates', + 'SetOriginClientCertificateHostnames', + 'GetOriginClientCertificateHostnames', + ], + 'type' => 'directory', + 'title' => 'Origin certificates', + ], + ], + 'type' => 'directory', + 'title' => 'SSL/TLS', + ], + [ + 'children' => [ + [ + 'children' => [ + 'ListWafRules', + 'ListWafTemplateRules', + 'ListWafManagedRules', + 'GetWafQuota', + 'GetWafFilter', + ], + 'type' => 'directory', + 'title' => 'WAF', + ], + [ + 'children' => [ + 'SetHttpDDoSAttackRuleStatus', + 'SetHttpDDoSAttackRuleAction', + 'DescribeHttpDDoSAttackRules', + 'DescribeDDoSAllEventList', + 'SetDdosMaxBurstGbps', + 'DescribeDdosMaxBurstGbps', + 'DeleteHttpDDoSIntelligentRule', + 'DescribeHttpDDoSIntelligentRateLimitRules', + 'DescribeHttpDDoSIntelligentAclRules', + ], + 'type' => 'directory', + 'title' => 'DDoS', + ], + [ + 'children' => [ + 'GetApiSchemaUsage', + ], + 'type' => 'directory', + 'title' => 'API security', + ], + [ + 'children' => [ + 'GetOriginProtection', + ], + 'type' => 'directory', + 'title' => 'Origin protection', + ], + ], + 'type' => 'directory', + 'title' => 'Security', + ], + [ + 'children' => [ + [ + 'children' => [ + 'ListScheduledPreloadJobs', + ], + 'type' => 'directory', + 'title' => 'Scheduled prefetch', + ], + [ + 'children' => [ + 'UpdateCacheReserveSpec', + ], + 'type' => 'directory', + 'title' => 'Cache reserve', + ], + ], + 'type' => 'directory', + 'title' => 'Cache', + ], + [ + 'children' => [ + [ + 'children' => [ + 'CreateHttpsBasicConfiguration', + 'UpdateHttpsBasicConfiguration', + ], + 'type' => 'directory', + 'title' => 'SSL and TLS rules', + ], + [ + 'children' => [ + 'CreateHttpsApplicationConfiguration', + 'UpdateHttpsApplicationConfiguration', + 'GetHttpsApplicationConfiguration', + 'ListHttpsApplicationConfigurations', + ], + 'type' => 'directory', + 'title' => 'HTTPS rules', + ], + [ + 'children' => [ + 'CreateRedirectRule', + 'UpdateRedirectRule', + ], + 'type' => 'directory', + 'title' => 'Redirect rules', + ], + [ + 'children' => [ + 'CreateRewriteUrlRule', + 'UpdateRewriteUrlRule', + ], + 'type' => 'directory', + 'title' => 'Rewrite URL', + ], + [ + 'children' => [ + 'CreateHttpRequestHeaderModificationRule', + 'UpdateHttpRequestHeaderModificationRule', + 'GetHttpRequestHeaderModificationRule', + 'ListHttpRequestHeaderModificationRules', + ], + 'type' => 'directory', + 'title' => 'Modify Request Header', + ], + [ + 'children' => [ + 'CreateHttpIncomingRequestHeaderModificationRule', + 'UpdateHttpIncomingRequestHeaderModificationRule', + 'GetHttpIncomingRequestHeaderModificationRule', + 'ListHttpIncomingRequestHeaderModificationRules', + 'DeleteHttpIncomingRequestHeaderModificationRule', + ], + 'type' => 'directory', + 'title' => 'Modify incoming request header (client to ESA)', + ], + [ + 'children' => [ + 'CreateHttpResponseHeaderModificationRule', + 'UpdateHttpResponseHeaderModificationRule', + 'GetHttpResponseHeaderModificationRule', + 'ListHttpResponseHeaderModificationRules', + ], + 'type' => 'directory', + 'title' => 'Modify Response Header', + ], + [ + 'children' => [ + 'CreateHttpIncomingResponseHeaderModificationRule', + 'UpdateHttpIncomingResponseHeaderModificationRule', + 'GetHttpIncomingResponseHeaderModificationRule', + 'ListHttpIncomingResponseHeaderModificationRules', + 'DeleteHttpIncomingResponseHeaderModificationRule', + ], + 'type' => 'directory', + 'title' => 'Modify incoming response header (client to ESA)', + ], + [ + 'children' => [ + 'CreateCustomResponseCodeRule', + 'UpdateCustomResponseCodeRule', + 'DeleteCustomResponseCodeRule', + 'GetCustomResponseCodeRule', + 'ListCustomResponseCodeRules', + ], + 'type' => 'directory', + 'title' => 'Custom response codes', + ], + [ + 'children' => [ + 'UpdateManagedTransform', + 'GetManagedTransform', + ], + 'type' => 'directory', + 'title' => 'Managed Transform', + ], + [ + 'children' => [ + 'CreateCacheRule', + 'UpdateCacheRule', + 'GetCacheRule', + 'ListCacheRules', + ], + 'type' => 'directory', + 'title' => 'Cache rules', + ], + [ + 'children' => [ + 'CreateNetworkOptimization', + 'UpdateNetworkOptimization', + ], + 'type' => 'directory', + 'title' => 'Network optimization rules', + ], + [ + 'children' => [ + 'CreateCompressionRule', + 'UpdateCompressionRule', + ], + 'type' => 'directory', + 'title' => 'File compression', + ], + [ + 'children' => [ + 'CreateImageTransform', + 'UpdateImageTransform', + ], + 'type' => 'directory', + 'title' => 'Image processing', + ], + [ + 'children' => [ + 'CreateVideoProcessing', + 'UpdateVideoProcessing', + 'GetVideoProcessing', + 'ListVideoProcessings', + 'DeleteVideoProcessing', + ], + 'type' => 'directory', + 'title' => 'Video processing', + ], + [ + 'children' => [ + 'CreateOriginRule', + 'UpdateOriginRule', + 'GetOriginRule', + 'ListOriginRules', + ], + 'type' => 'directory', + 'title' => 'Origin rules', + ], + ], + 'type' => 'directory', + 'title' => 'Rule configuration', + ], + [ + 'children' => [ + [ + 'children' => [ + 'UpdateIPv6', + 'GetIPv6', + ], + 'type' => 'directory', + 'title' => 'IPv6', + ], + [ + 'children' => [ + 'CreateUrlObservation', + 'UpdateUrlObservation', + 'DescribeUrlObservationData', + 'ListUrlObservations', + 'DeleteUrlObservation', + ], + 'type' => 'directory', + 'title' => 'URL Observation', + ], + [ + 'children' => [ + 'GetCrossBorderOptimization', + 'UpdateCrossBorderOptimization', + ], + 'type' => 'directory', + 'title' => 'Chinese mainland network optimization', + ], + ], + 'type' => 'directory', + 'title' => 'Speed and network', + ], + [ + 'children' => [ + [ + 'children' => [ + 'UpdateSeoBypass', + ], + 'type' => 'directory', + 'title' => 'Waiting room', + ], + [ + 'children' => [ + 'CreateLoadBalancer', + 'UpdateLoadBalancer', + 'GetLoadBalancer', + 'ListLoadBalancers', + ], + 'type' => 'directory', + 'title' => 'Load balancing', + ], + ], + 'type' => 'directory', + 'title' => 'Traffic', + ], + [ + 'children' => [ + 'CreateTransportLayerApplication', + 'UpdateTransportLayerApplication', + 'GetTransportLayerApplication', + 'ListTransportLayerApplications', + 'DeleteTransportLayerApplication', + ], + 'type' => 'directory', + 'title' => 'Layer 4 proxy', + ], + [ + 'children' => [ + 'ListSiteRoutes', + ], + 'type' => 'directory', + 'title' => 'Routine route', + ], + ], + 'type' => 'directory', + 'title' => 'Website configuration', + ], + [ + 'children' => [ + [ + 'children' => [ + 'ListUserRoutines', + 'CreateRoutine', + 'GetRoutine', + 'CreateRoutineRoute', + 'UpdateRoutineRoute', + 'GetRoutineRoute', + 'ListRoutineRoutes', + 'DeleteRoutineRoute', + 'CreateRoutineCodeDeployment', + 'GetRoutineCodeVersion', + 'ListRoutineCodeVersions', + 'UpdateRoutineConfigDescription', + 'CreateRoutineRelatedRecord', + 'ListRoutineRelatedRecords', + ], + 'type' => 'directory', + 'title' => 'Edge routine', + ], + [ + 'children' => [ + [ + 'children' => [ + 'UpdateEdgeContainerAppResourceReserve', + 'GetEdgeContainerAppResourceReserve', + 'DescribeEdgeContainerAppStats', + 'GetEdgeContainerAppResourceStatus', + 'GetEdgeContainerAppResourceCapacity', + ], + 'type' => 'directory', + 'title' => 'Container management', + ], + [ + 'children' => [ + 'CreateEdgeContainerAppImageSecret', + 'ListEdgeContainerAppImageSecrets', + 'DeleteEdgeContainerAppImageSecret', + ], + 'type' => 'directory', + 'title' => 'Container app image secret', + ], + [ + 'children' => [ + 'RollbackEdgeContainerAppVersion', + ], + 'type' => 'directory', + 'title' => 'Version management', + ], + ], + 'type' => 'directory', + 'title' => 'Edge container', + ], + [ + 'children' => [ + [ + 'children' => [ + 'GetKvDetail', + ], + 'type' => 'directory', + 'title' => 'Key value settings', + ], + ], + 'type' => 'directory', + 'title' => 'Edge storage', + ], + ], + 'type' => 'directory', + 'title' => 'Edge computing', + ], + [ + 'children' => [ + [ + 'children' => [ + 'DescribeSiteTimeSeriesData', + 'DescribeSiteTopData', + ], + 'type' => 'directory', + 'title' => 'Data analytics', + ], + [ + 'children' => [ + 'DescribeSiteLogs', + ], + 'type' => 'directory', + 'title' => 'Standard log', + ], + ], + 'type' => 'directory', + 'title' => 'Analysis and log', + ], + [ + 'children' => [ + [ + 'children' => [ + 'CreateUserWafRuleset', + 'DeleteUserWafRuleset', + 'GetUserWafRuleset', + 'ListUserWafRulesets', + 'UpdateUserWafRuleset', + ], + 'type' => 'directory', + 'title' => 'Global WAF', + ], + [ + 'children' => [ + 'ListLists', + ], + 'type' => 'directory', + 'title' => 'Grouping', + ], + [ + 'children' => [ + 'CreateCustomScenePolicy', + 'UpdateCustomScenePolicy', + 'DescribeCustomScenePolicies', + ], + 'type' => 'directory', + 'title' => 'Scenario policy', + ], + [ + 'children' => [ + 'ListPages', + ], + 'type' => 'directory', + 'title' => 'Customize page', + ], + ], + 'type' => 'directory', + 'title' => 'Global settings ', + ], + [ + 'children' => [ + 'ListESAIPInfo', + 'ActivateClientCertificate', + 'ActivateVersionManagement', + 'BatchCreateWafRules', + 'BatchDeleteKv', + 'BatchDeleteKvWithHighCapacity', + 'BatchGetExpressionFields', + 'BatchPutKv', + 'BatchPutKvWithHighCapacity', + 'BatchUpdateWafRules', + 'BlockObject', + 'CheckSiteName', + 'CheckSiteProjectName', + 'CheckUserProjectName', + 'CommitRoutineStagingCode', + 'CreateClientCertificate', + 'CreateEdgeContainerApp', + 'CreateEdgeContainerAppRecord', + 'CreateEdgeContainerAppVersion', + 'CreateKvNamespace', + 'CreateList', + 'CreateOriginPool', + 'CreateOriginProtection', + 'CreatePage', + 'CreateRecord', + 'CreateScheduledPreloadExecutions', + 'CreateScheduledPreloadJob', + 'CreateSite', + 'CreateSiteCustomLog', + 'CreateSiteDeliveryTask', + 'CreateUserDeliveryTask', + 'CreateWafRule', + 'CreateWafRuleset', + 'CreateWaitingRoom', + 'CreateWaitingRoomEvent', + 'CreateWaitingRoomRule', + 'DeactivateVersionManagement', + 'DeleteCacheRule', + 'DeleteCertificate', + 'DeleteClientCaCertificate', + 'DeleteClientCertificate', + 'DeleteCompressionRule', + 'DeleteCustomScenePolicy', + 'DeleteEdgeContainerApp', + 'DeleteEdgeContainerAppRecord', + 'DeleteEdgeContainerAppVersion', + 'DeleteHttpRequestHeaderModificationRule', + 'DeleteHttpResponseHeaderModificationRule', + 'DeleteHttpsApplicationConfiguration', + 'DeleteHttpsBasicConfiguration', + 'DeleteImageTransform', + 'DeleteKv', + 'DeleteKvNamespace', + 'DeleteList', + 'DeleteLoadBalancer', + 'DeleteNetworkOptimization', + 'DeleteOriginPool', + 'DeleteOriginProtection', + 'DeleteOriginRule', + 'DeletePage', + 'DeleteRedirectRule', + 'DeleteRewriteUrlRule', + 'DeleteRoutine', + 'DeleteRoutineCodeVersion', + 'DeleteRoutineRelatedRecord', + 'DeleteScheduledPreloadExecution', + 'DeleteScheduledPreloadJob', + 'DeleteSite', + 'DeleteSiteDeliveryTask', + 'DeleteUserDeliveryTask', + 'DeleteWafRule', + 'DeleteWafRuleset', + 'DeleteWaitingRoom', + 'DeleteWaitingRoomEvent', + 'DeleteWaitingRoomRule', + 'DescribeDDoSBpsList', + 'DescribeDDoSL7QpsList', + 'DescribeHttpDDoSAttackIntelligentProtection', + 'DescribeHttpDDoSAttackProtection', + 'DescribeKvAccountStatus', + 'DescribePreloadTasks', + 'DescribePurgeTasks', + 'DescribeRatePlanInstanceStatus', + 'DisableCustomScenePolicy', + 'EditSiteWafSettings', + 'EnableCustomScenePolicy', + 'ExportRecords', + 'GetCacheReserveSpecification', + 'GetCacheTag', + 'GetCertificateQuota', + 'GetClientCaCertificate', + 'GetClientCertificate', + 'GetClientCertificateHostnames', + 'GetCnameFlattening', + 'GetCompressionRule', + 'GetDevelopmentMode', + 'GetEdgeContainerApp', + 'GetEdgeContainerAppLogRiver', + 'GetEdgeContainerAppStatus', + 'GetEdgeContainerAppVersion', + 'GetEdgeContainerDeployRegions', + 'GetEdgeContainerLogs', + 'GetEdgeContainerStagingDeployStatus', + 'GetEdgeContainerTerminal', + 'GetErService', + 'GetHttpsBasicConfiguration', + 'GetImageTransform', + 'GetKv', + 'GetKvAccount', + 'GetKvNamespace', + 'GetList', + 'GetNetworkOptimization', + 'GetOriginPool', + 'GetPage', + 'GetPurgeQuota', + 'GetRealtimeDeliveryField', + 'GetRedirectRule', + 'GetRewriteUrlRule', + 'GetRoutineStagingCodeUploadInfo', + 'GetScheduledPreloadJob', + 'GetSeoBypass', + 'GetSiteCurrentNS', + 'GetSiteCustomLog', + 'GetSiteDeliveryTask', + 'GetSiteLogDeliveryQuota', + 'GetSiteNameExclusive', + 'GetSitePause', + 'GetSiteWafSettings', + 'GetTieredCache', + 'GetUploadTask', + 'GetUserDeliveryTask', + 'GetUserLogDeliveryQuota', + 'GetWafBotAppKey', + 'GetWafRule', + 'GetWafRuleset', + 'ListCacheReserveInstances', + 'ListCiphers', + 'ListClientCertificates', + 'ListCompressionRules', + 'ListEdgeContainerAppRecords', + 'ListEdgeContainerAppVersions', + 'ListEdgeContainerApps', + 'ListEdgeContainerRecords', + 'ListEdgeRoutinePlans', + 'ListEdgeRoutineRecords', + 'ListHttpsBasicConfigurations', + 'ListImageTransforms', + 'ListInstanceQuotas', + 'ListInstanceQuotasWithUsage', + 'ListKvs', + 'ListLoadBalancerOriginStatus', + 'ListLoadBalancerRegions', + 'ListManagedRulesGroups', + 'ListNetworkOptimizations', + 'ListOriginPools', + 'ListRedirectRules', + 'ListRewriteUrlRules', + 'ListScheduledPreloadExecutions', + 'ListSiteDeliveryTasks', + 'ListTagResources', + 'ListUploadTasks', + 'ListUserDeliveryTasks', + 'ListUserRatePlanInstances', + 'ListWafPhases', + 'ListWafRulesets', + 'ListWafUsageOfRules', + 'ListWaitingRoomEvents', + 'ListWaitingRoomRules', + 'ListWaitingRooms', + 'OpenErService', + 'PreloadCaches', + 'PublishEdgeContainerAppVersion', + 'PurchaseCacheReserve', + 'PurgeCaches', + 'PutKv', + 'PutKvWithHighCapacity', + 'RebuildEdgeContainerAppStagingEnv', + 'ResetScheduledPreloadJob', + 'RevokeClientCertificate', + 'SetHttpDDoSAttackIntelligentProtection', + 'SetHttpDDoSAttackProtection', + 'StartScheduledPreloadExecution', + 'StopScheduledPreloadExecution', + 'UntagResources', + 'UpdateCacheTag', + 'UpdateDevelopmentMode', + 'UpdateEdgeContainerAppLogRiver', + 'UpdateList', + 'UpdateOriginPool', + 'UpdateOriginProtection', + 'UpdateOriginProtectionIpWhiteList', + 'UpdatePage', + 'UpdateScheduledPreloadExecution', + 'UpdateSiteAccessType', + 'UpdateSiteCoverage', + 'UpdateSiteCustomLog', + 'UpdateSiteDeliveryTask', + 'UpdateSiteDeliveryTaskStatus', + 'UpdateSiteNameExclusive', + 'UpdateSitePause', + 'UpdateSiteVanityNS', + 'UpdateTieredCache', + 'UpdateUserDeliveryTask', + 'UpdateUserDeliveryTaskStatus', + 'UpdateWafRule', + 'UpdateWafRuleset', + 'UpdateWaitingRoom', + 'UpdateWaitingRoomEvent', + 'UpdateWaitingRoomRule', + 'UploadClientCaCertificate', + 'UploadFile', + 'UploadSiteOriginClientCertificate', + 'VerifySite', + ], + 'type' => 'directory', + 'title' => 'Others', + ], + [ + 'children' => [ + [ + 'children' => [ + 'PurchaseRatePlan', + 'UpdateRatePlanSpec', + ], + 'type' => 'directory', + 'title' => 'Plan management', + ], + ], + 'type' => 'directory', + 'title' => 'Billing management', + ], + ], + 'components' => [ + 'schemas' => [ + 'WafBatchRuleShared' => [ + 'title' => 'WAF批量规则共享', + 'description' => 'WAF batch rule sharing.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Target' => [ + 'title' => '防护目标类型:web/app', + 'description' => 'Protection type: web or app.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'web', + 'backendName' => 'target', + ], + 'Mode' => [ + 'title' => 'web sdk 集成方式:自动集成(automatic)/手动集成(manual)', + 'description' => 'Web SDK integration method: automatic integration (automatic) or manual integration (manual).'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'automatic', + 'backendName' => 'mode', + ], + 'CrossSiteId' => [ + 'title' => '指定跨域站点id', + 'description' => 'Specifies the cross-domain website ID.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000001', + 'backendName' => 'crossSiteId', + ], + 'Name' => [ + 'title' => '规则集名称', + 'description' => 'The ruleset name.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'example', + 'backendName' => 'name', + ], + 'Match' => [ + 'title' => '匹配引擎', + 'description' => 'The matching rule.'."\n", + 'visibility' => 'Public', + 'backendName' => 'match', + '$ref' => '#/components/schemas/WafRuleMatch2', + ], + 'Action' => [ + 'title' => '动作', + 'description' => 'The action that you want WAF to perform on requests that match the rule.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'deny', + 'backendName' => 'action', + ], + 'Actions' => [ + 'title' => '动作扩展', + 'description' => 'The extended action configurations.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Response' => [ + 'title' => '自定义响应', + 'description' => 'The custom response.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'title' => '自定义响应页面id', + 'description' => 'The ID of the custom response page.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000001', + 'backendName' => 'id', + ], + 'Code' => [ + 'title' => '自定义响应码', + 'description' => 'The custom response code.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '403', + 'backendName' => 'code', + ], + ], + 'backendName' => 'response', + ], + ], + 'backendName' => 'actions', + ], + 'Expression' => [ + 'title' => '表达式', + 'description' => 'The expression.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'ip.src eq 1.1.1.1', + 'backendName' => 'expression', + ], + ], + ], + 'WafQuotaInteger' => [ + 'title' => 'a integer', + 'description' => '对integer类型值进行校验的quota结构。', + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Equal' => [ + 'title' => 'equal', + 'description' => '等于。', + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'backendName' => 'eq', + 'example' => '1', + ], + 'GreaterThan' => [ + 'title' => 'greater than', + 'description' => '大于。', + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'backendName' => 'gt', + 'example' => '1', + ], + 'GreaterThanOrEqual' => [ + 'title' => 'greater than or equal', + 'description' => '大于等于。', + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'backendName' => 'ge', + 'example' => '1', + ], + 'LessThan' => [ + 'title' => 'less than', + 'description' => '小于。', + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'backendName' => 'lt', + 'example' => '1', + ], + 'LessThanOrEqual' => [ + 'title' => 'less than or equal', + 'description' => '小于等于。', + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'backendName' => 'le', + 'example' => '1', + ], + ], + ], + 'WafQuotaString' => [ + 'title' => 'A short description of struct', + 'description' => '对string类型值进行校验的quota结构。', + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Regexp' => [ + 'title' => '正则表达式', + 'description' => '正则表达式。', + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '^\\d+$', + 'backendName' => 'regex', + ], + ], + ], + 'WafRuleConfig' => [ + 'title' => 'A short description of struct', + 'description' => 'The WAF rule configurations.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'title' => '规则状态', + 'description' => 'The status of the WAF rule.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'on', + 'backendName' => 'status', + ], + 'Action' => [ + 'title' => '执行动作', + 'description' => 'The operation to perform after the WAF rule is matched.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'deny', + 'backendName' => 'action', + ], + 'Actions' => [ + 'title' => '扩展动作', + 'description' => 'The extended action configurations.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Response' => [ + 'title' => '自定义响应页面', + 'description' => 'The custom error page.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'title' => '自定义响应页面ID', + 'description' => 'The ID of the custom error page, which can be obtained by calling the [ListPages](~~2850223~~) operation.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000001', + 'backendName' => 'id', + ], + 'Code' => [ + 'title' => '自定义响应码', + 'description' => 'The custom response code.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '403', + 'backendName' => 'code', + ], + ], + 'backendName' => 'response', + ], + 'Bypass' => [ + 'title' => '跳过模块', + 'description' => 'The skip configuration specified by the whitelist rule.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Skip' => [ + 'title' => '跳过模块类型', + 'description' => 'The skip scope applied when requests match conditions defined in the whitelist rule.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'part', + 'backendName' => 'skip', + ], + 'RegularRules' => [ + 'title' => '托管规则id列表', + 'description' => 'The IDs of managed rules.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the managed rule.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100001', + 'extendType' => 'true', + ], + 'backendName' => 'regularRules', + ], + 'CustomRules' => [ + 'title' => '自定义规则id列表', + 'description' => 'The IDs of custom rules.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the custom rule.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000001', + 'extendType' => 'true', + ], + 'backendName' => 'customRules', + ], + 'RegularTypes' => [ + 'title' => '托管规则类型列表', + 'description' => 'The types of managed rules.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The type of the managed rule.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'sqli', + 'extendType' => 'true', + ], + 'backendName' => 'regularTypes', + ], + 'Tags' => [ + 'title' => '跳过模块列表', + 'description' => 'The skipped rule categories when requests match conditions defined in the whitelist rule.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The skipped rule category when requests match conditions defined in the whitelist rule.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'http_custom', + 'extendType' => 'true', + ], + 'backendName' => 'tags', + ], + ], + 'backendName' => 'bypass', + ], + ], + 'backendName' => 'actions', + ], + 'ManagedList' => [ + 'title' => '名单名字', + 'description' => 'The managed list.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'intelligence_crawler', + 'backendName' => 'managedList', + ], + 'ManagedRulesets' => [ + 'title' => '托管规则集列表', + 'description' => 'The managed rulesets.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The managed ruleset.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'ProtectionLevel' => [ + 'title' => '防护等级', + 'description' => 'The protection level.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + 'backendName' => 'protectionLevel', + ], + 'Action' => [ + 'title' => '执行动作', + 'description' => 'The action.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'deny', + 'backendName' => 'action', + ], + 'ManagedRules' => [ + 'title' => '托管规则列表', + 'description' => 'The managed rules.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The managed rule.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'title' => '托管规则状态', + 'description' => 'The status of the managed rule.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'on', + 'backendName' => 'status', + ], + 'Action' => [ + 'title' => '托管规则动作', + 'description' => 'The action performed on requests that match the managed rule.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'deny', + 'backendName' => 'action', + ], + 'Id' => [ + 'title' => '托管规则ID', + 'description' => 'The ID of the managed rule.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100001', + 'backendName' => 'id', + ], + ], + 'extendType' => 'true', + ], + 'backendName' => 'managedRules', + ], + 'AttackType' => [ + 'title' => '攻击类型', + 'description' => 'The attack type.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '11', + 'backendName' => 'attackType', + ], + 'NumberTotal' => [ + 'title' => '规则总数', + 'description' => 'The total number of rules.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + 'backendName' => 'numberTotal', + ], + 'NumberEnabled' => [ + 'title' => '已开启规则数', + 'description' => 'The number of enabled rules.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + 'backendName' => 'numberEnabled', + ], + ], + 'extendType' => 'true', + ], + 'backendName' => 'managedRulesets', + ], + 'Sigchl' => [ + 'title' => '令牌校验', + 'description' => 'The token verification configurations.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The token verification configuration item.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'sig', + 'extendType' => 'true', + ], + 'backendName' => 'sigchl', + ], + 'Name' => [ + 'title' => '规则名称', + 'description' => 'The name of the WAF rule.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'example', + 'backendName' => 'name', + ], + 'AppSdk' => [ + 'title' => 'app sdk', + 'description' => 'The SDK configuration for apps.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'CustomSign' => [ + 'title' => '自定义加签字段', + 'description' => 'The custom signature field.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'title' => '字段值', + 'description' => 'The field value.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'examplesignvalue', + 'backendName' => 'value', + ], + 'Key' => [ + 'title' => '字段名', + 'description' => 'The field name.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'sign', + 'backendName' => 'key', + ], + ], + 'backendName' => 'customSign', + ], + 'CustomSignStatus' => [ + 'title' => '自定义加签字段开关', + 'description' => 'Indicates whether to configure the custom signature field.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'on', + 'backendName' => 'customSignStatus', + ], + 'FeatureAbnormal' => [ + 'title' => '特征异常', + 'description' => 'The app anomalies.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The app anomaly.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'wxbb_invalid_sign', + 'extendType' => 'true', + ], + 'backendName' => 'featureAbnormal', + ], + ], + 'backendName' => 'appSdk', + ], + 'RateLimit' => [ + 'title' => '频次控制', + 'description' => 'The configuration of the rate limiting rule.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Characteristics' => [ + 'title' => '统计对象', + 'description' => 'The statistical objects to which the rule applies.'."\n", + 'visibility' => 'Public', + 'backendName' => 'characteristics', + '$ref' => '#/components/schemas/WafRuleMatch2', + ], + 'OnHit' => [ + 'title' => '在命中缓存的请求上应用', + 'description' => 'Indicates whether to apply the rule to requests that hit the cache.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'example' => 'true', + 'backendName' => 'onHit', + ], + 'TTL' => [ + 'title' => '超时时间', + 'description' => 'The timeout period for creating the stack.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'backendName' => 'ttl', + ], + 'Threshold' => [ + 'title' => '阈值', + 'description' => 'The thresholds.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'ManagedRulesBlocked' => [ + 'title' => '托管规则命中阈值', + 'description' => 'The maximum number of times that the managed rule is triggered.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'backendName' => 'managedRulesBlocked', + ], + 'DistinctManagedRules' => [ + 'title' => '不同的托管规则个数阈值', + 'description' => 'The maximum number of managed rules that are triggered.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'backendName' => 'distinctManagedRules', + ], + 'ResponseStatus' => [ + 'title' => '响应码阈值', + 'description' => 'The configuration of the status code threshold.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Ratio' => [ + 'title' => '响应码百分比', + 'description' => 'The percentage of the occurrences of the status code to total status codes.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'backendName' => 'ratio', + ], + 'Count' => [ + 'title' => '响应码次数阈值', + 'description' => 'The maximum number of times that the status code is returned.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'backendName' => 'count', + ], + 'Code' => [ + 'title' => 'HTTP响应码', + 'description' => 'The HTTP status code.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '404', + 'backendName' => 'code', + ], + ], + 'backendName' => 'responseStatus', + ], + 'Traffic' => [ + 'title' => '流量阈值', + 'description' => 'The traffic threshold, which is deprecated.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '10Gb', + 'backendName' => 'traffic', + ], + 'Request' => [ + 'title' => '请求阈值', + 'description' => 'The request threshold.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'backendName' => 'request', + 'parseType' => 'struct', + ], + ], + 'backendName' => 'threshold', + ], + 'Interval' => [ + 'title' => '统计时长', + 'description' => 'The statistical interval.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'backendName' => 'interval', + ], + ], + 'backendName' => 'rateLimit', + ], + 'Type' => [ + 'title' => '规则类型', + 'description' => 'The name of the WAF rule.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'http_custom', + 'backendName' => 'type', + ], + 'AppPackage' => [ + 'title' => '二次打包检测', + 'description' => 'The configuration of secondary package detection.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'PackageSigns' => [ + 'title' => '二次打包检测', + 'description' => 'The package signatures.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'The package signature information.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Sign' => [ + 'title' => '包签名', + 'description' => 'The valid package signature.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'sign', + 'backendName' => 'sign', + ], + 'Name' => [ + 'title' => '指定合法包名', + 'description' => 'The valid package name.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'name', + 'backendName' => 'name', + ], + ], + 'extendType' => 'true', + ], + 'backendName' => 'packageSigns', + ], + ], + 'backendName' => 'appPackage', + ], + 'ManagedGroupId' => [ + 'title' => '托管规则组id', + 'description' => 'The ID of the managed rule group, which is deprecated.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '30000001', + 'backendName' => 'managedGroupId', + ], + 'Timer' => [ + 'title' => '定时器', + 'description' => 'The timer.'."\n", + 'visibility' => 'Public', + 'backendName' => 'timer', + '$ref' => '#/components/schemas/WafTimer', + ], + 'Expression' => [ + 'title' => '表达式', + 'description' => 'The match expression.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'ip.src eq 1.1.1.1', + 'backendName' => 'expression', + ], + 'SecurityLevel' => [ + 'title' => '安全级别', + 'description' => 'The security level.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'title' => '安全级别的值', + 'description' => 'Valid value:'."\n" + ."\n" + .'* off'."\n" + .'* essentially_off'."\n" + .'* low'."\n" + .'* medium'."\n" + .'* high'."\n" + .'* under_attack'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'low', + 'backendName' => 'value', + ], + ], + 'backendName' => 'securityLevel', + ], + 'Value' => [ + 'title' => 'IP访问控制值', + 'description' => 'Defines whether the IP can access.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '10.0.0.1', + 'backendName' => 'value', + ], + 'Id' => [ + 'title' => '规则id', + 'description' => 'The ID of the WAF rule.'."\n", + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000001', + 'backendName' => 'id', + ], + 'Notes' => [ + 'title' => '备注', + 'description' => 'The remarks.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'example notes', + 'backendName' => 'notes', + ], + ], + ], + 'WafRuleMatch' => [ + 'description' => 'WAF规则匹配结构。', + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Logic' => [ + 'title' => '逻辑关系', + 'description' => '逻辑关系。', + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'and', + 'backendName' => 'logic', + ], + 'Criteria' => [ + 'title' => '逻辑列表', + 'description' => '逻辑列表。', + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'description' => 'WAF规则匹配结构。', + 'visibility' => 'Public', + 'extendType' => 'true', + '$ref' => '#/components/schemas/WafRuleMatch', + ], + 'backendName' => 'criteria', + ], + 'MatchType' => [ + 'title' => '匹配域', + 'description' => '匹配域。', + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'ip.src', + 'backendName' => 'type', + ], + 'MatchOperator' => [ + 'title' => '匹配符', + 'description' => '匹配符。', + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'eq', + 'backendName' => 'operator', + ], + 'MatchValue' => [ + 'title' => '匹配值', + 'description' => '匹配值。', + 'visibility' => 'Public', + 'type' => 'any', + 'example' => '1.1.1.1', + 'backendName' => 'value', + ], + 'Negate' => [ + 'title' => '匹配结果取反', + 'description' => '匹配结果取反。', + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'negate', + ], + 'ConvertToLower' => [ + 'title' => '值大小写不敏感', + 'description' => '值大小写不敏感。', + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'convertToLower', + ], + ], + ], + 'WafRuleMatch2' => [ + 'description' => 'The matching items of the WAF rule.'."\n", + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Logic' => [ + 'title' => '逻辑关系', + 'description' => 'The logical judgment.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'and', + 'backendName' => 'logic', + ], + 'Criteria' => [ + 'title' => '逻辑列表', + 'description' => 'The details of logical databases.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Logic' => [ + 'title' => '逻辑关系', + 'description' => 'The logical judgment.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'and', + 'backendName' => 'logic', + ], + 'Criteria' => [ + 'title' => '逻辑列表', + 'description' => 'The details of logical databases.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Logic' => [ + 'title' => '逻辑关系', + 'description' => 'The logical judgment.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'and', + 'backendName' => 'logic', + ], + 'Criteria' => [ + 'title' => '逻辑列表', + 'description' => 'The details of logical databases.'."\n", + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'MatchType' => [ + 'title' => '匹配域', + 'description' => 'The matching type.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'ip.src', + 'backendName' => 'type', + ], + 'MatchOperator' => [ + 'title' => '匹配符', + 'description' => 'The matching operator.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'eq', + 'backendName' => 'operator', + ], + 'MatchValue' => [ + 'title' => '匹配值', + 'description' => 'The value of the matching condition.'."\n", + 'visibility' => 'Public', + 'type' => 'any', + 'example' => '1.1.1.1', + 'backendName' => 'value', + ], + 'Negate' => [ + 'title' => '匹配结果取反', + 'description' => 'Converts a value or condition to its opposite.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'negate', + ], + 'ConvertToLower' => [ + 'title' => '值大小写不敏感', + 'description' => 'Transforms input to lowercase to ensure case-insensitivity.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'convertToLower', + ], + ], + 'extendType' => 'true', + 'description' => '', + ], + 'backendName' => 'criteria', + ], + 'MatchType' => [ + 'title' => '匹配域', + 'description' => 'The matching type.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'ip.src', + 'backendName' => 'type', + ], + 'MatchOperator' => [ + 'title' => '匹配符', + 'description' => 'The matching operator.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'eq', + 'backendName' => 'operator', + ], + 'MatchValue' => [ + 'title' => '匹配值', + 'description' => 'The value of the matching condition.'."\n", + 'visibility' => 'Public', + 'type' => 'any', + 'example' => '1.1.1.1', + 'backendName' => 'value', + ], + 'Negate' => [ + 'title' => '匹配结果取反', + 'description' => 'Converts a value or condition to its opposite.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'negate', + ], + 'ConvertToLower' => [ + 'title' => '值大小写不敏感', + 'description' => 'Transforms input to lowercase to ensure case-insensitivity.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'convertToLower', + ], + ], + 'extendType' => 'true', + 'description' => '', + ], + 'backendName' => 'criteria', + ], + 'MatchType' => [ + 'title' => '匹配域', + 'description' => 'The matching type.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'ip.src', + 'backendName' => 'type', + ], + 'MatchOperator' => [ + 'title' => '匹配符', + 'description' => 'The matching operator.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'eq', + 'backendName' => 'operator', + ], + 'MatchValue' => [ + 'title' => '匹配值', + 'description' => 'The value of the matching condition.'."\n", + 'visibility' => 'Public', + 'type' => 'any', + 'example' => '1.1.1.1', + 'backendName' => 'value', + ], + 'Negate' => [ + 'title' => '匹配结果取反', + 'description' => 'Converts a value or condition to its opposite.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'negate', + ], + 'ConvertToLower' => [ + 'title' => '值大小写不敏感', + 'description' => 'Transforms input to lowercase to ensure case-insensitivity.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'convertToLower', + ], + ], + 'extendType' => 'true', + 'description' => '', + ], + 'backendName' => 'criteria', + ], + 'MatchType' => [ + 'title' => '匹配域', + 'description' => 'The matching type.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'ip.src', + 'backendName' => 'type', + ], + 'MatchOperator' => [ + 'title' => '匹配符', + 'description' => 'The matching operator.'."\n", + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'eq', + 'backendName' => 'operator', + ], + 'MatchValue' => [ + 'title' => '匹配值', + 'description' => 'The value of the matching condition.'."\n", + 'visibility' => 'Public', + 'type' => 'any', + 'example' => '1.1.1.1', + 'backendName' => 'value', + ], + 'Negate' => [ + 'title' => '匹配结果取反', + 'description' => 'Converts a value or condition to its opposite.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'negate', + ], + 'ConvertToLower' => [ + 'title' => '值大小写不敏感', + 'description' => 'Transforms input to lowercase to ensure case-insensitivity.'."\n", + 'visibility' => 'Public', + 'type' => 'boolean', + 'backendName' => 'convertToLower', + ], + ], + ], + 'WafSiteSettings' => [ + 'title' => 'A short description of struct', + 'description' => 'A short description of struct'."\n", + 'type' => 'object', + 'properties' => [ + 'ClientIpIdentifier' => [ + 'title' => '客户端IP识别', + 'description' => 'Identifies the IP address of the client.'."\n", + 'type' => 'object', + 'properties' => [ + 'Headers' => [ + 'title' => '指定header', + 'description' => 'Specify headers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Specifies the header.'."\n", + 'type' => 'string', + 'example' => 'X-Forwarded-For', + 'title' => '', + ], + 'example' => '', + ], + 'Mode' => [ + 'title' => '识别模式', + 'description' => 'Identifies the mode.'."\n" + ."\n" + .'Enumerated values:'."\n" + ."\n" + .'* headers: specifies the headers.'."\n" + .'* connection_ip: the IP address for establishing a connection.'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'headers' => '指定headers', + 'connection_ip' => '建连IP', + ], + 'example' => 'headers', + ], + ], + 'example' => '', + ], + 'AddBotProtectionHeaders' => [ + 'title' => '添加BOT保护标头', + 'description' => 'Adds a bot protection header.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'title' => '开关', + 'description' => 'Indicates whether the parameter is enabled.'."\n", + 'type' => 'boolean', + 'example' => '', + ], + ], + 'example' => '', + ], + 'AddSecurityHeaders' => [ + 'title' => '添加安全标头', + 'description' => 'Adds security request header.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'title' => '开关', + 'description' => 'Indicates whether the parameter is enabled.'."\n", + 'type' => 'boolean', + 'example' => '', + ], + ], + 'example' => '', + ], + 'SecurityLevel' => [ + 'title' => '安全级别', + 'description' => 'The security level.'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'title' => '安全级别值', + 'description' => 'The security level value.'."\n" + ."\n" + .'Enumerated values:'."\n" + ."\n" + .'* high: high.'."\n" + .'* low: low.'."\n" + .'* under_attack: I am under attack.'."\n" + .'* medium: medium.'."\n" + .'* essentially_off: essentially off.'."\n" + .'* off: completely off.'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'high' => '高', + 'low' => '低', + 'under_attack' => '我正在遭受攻击', + 'medium' => '中等', + 'essentially_off' => '基本关闭', + 'off' => '彻底关闭', + ], + 'example' => 'low', + ], + ], + 'example' => '', + ], + 'BotManagement' => [ + 'title' => 'Bot管理', + 'description' => 'Bot management.'."\n", + 'type' => 'object', + 'properties' => [ + 'DefiniteBots' => [ + 'title' => '绝对是Bot', + 'description' => 'Definite Bots'."\n", + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'title' => '动作', + 'description' => 'The action that you want to perform on requests that match the rule.'."\n", + 'type' => 'string', + 'example' => 'captcha', + ], + 'Id' => [ + 'title' => '规则ID', + 'description' => 'The rule ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000001', + ], + ], + 'example' => '', + ], + 'LikelyBots' => [ + 'title' => '可能是Bot', + 'description' => 'Likely Bots'."\n", + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'title' => '动作', + 'description' => 'The action that you want to perform on requests that match the rule.'."\n", + 'type' => 'string', + 'example' => 'deny', + ], + 'Id' => [ + 'title' => '规则ID', + 'description' => 'The rule ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000002', + ], + ], + 'example' => '', + ], + 'JSDetection' => [ + 'title' => 'JavaScript探测', + 'description' => 'JavaScript detection.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'title' => '开关', + 'description' => 'Indicates whether the parameter is enabled.'."\n", + 'type' => 'boolean', + 'example' => '', + ], + ], + 'example' => '', + ], + 'VerifiedBots' => [ + 'title' => '已通过验证的Bot', + 'description' => 'Verified Bots'."\n", + 'type' => 'object', + 'properties' => [ + 'Action' => [ + 'title' => '动作', + 'description' => 'The action that you want to perform on requests that match the rule.'."\n", + 'type' => 'string', + 'example' => 'bypass', + ], + 'Id' => [ + 'title' => '规则ID', + 'description' => 'The rule ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000003', + ], + ], + 'example' => '', + ], + 'EffectOnStatic' => [ + 'title' => '对静态资源请求生效', + 'description' => 'Takes effect on static resource requests.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'title' => '开关', + 'description' => 'Indicates whether the parameter is enabled.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'BandwidthAbuseProtection' => [ + 'title' => '防盗刷。', + 'description' => '防盗刷。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'title' => '防盗刷规则的开关状态。', + 'description' => '防盗刷规则的开关状态。', + 'type' => 'string', + 'example' => 'on', + ], + 'Action' => [ + 'title' => '防盗刷规则的执行动作。', + 'description' => '防盗刷规则的执行动作。', + 'type' => 'string', + 'example' => 'deny', + ], + 'Id' => [ + 'title' => '防盗刷规则的ID。', + 'description' => '防盗刷规则的ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000001', + ], + ], + 'example' => '', + ], + 'DisableSecurityModule' => [ + 'title' => '禁用安全模块', + 'description' => '禁用安全模块', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'title' => '禁用安全模块的状态开关', + 'description' => '禁用安全模块的状态开关', + 'type' => 'string', + 'example' => 'on', + ], + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'WafTimer' => [ + 'title' => 'WAF定时器', + 'description' => 'WAF定时器', + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Scopes' => [ + 'title' => '定时类型:永久生效(permanent/<空>)/时间段生效(periods)/weekly(周期生效)', + 'description' => '定时类型:永久生效(permanent/<空>)/时间段生效(periods)/weekly(周期生效)。', + 'visibility' => 'Public', + 'type' => 'string', + 'example' => 'permanent', + 'backendName' => 'scopes', + ], + 'Zone' => [ + 'title' => '时区,不填则默认为UTC+00:00。
例:8表示东8区,-8表示西8区
范围:-12 - +14', + 'description' => '时区,不填则默认为UTC+00:00。
例:8表示东8区,-8表示西8区
范围:-12 - +14。', + 'visibility' => 'Public', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + 'backendName' => 'zone', + ], + 'Periods' => [ + 'title' => '生效时间段', + 'description' => '生效时间段。', + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Start' => [ + 'title' => '起始时间,值为RFC3339格式的UTC时间', + 'description' => '起始时间,值为RFC3339格式的UTC时间。', + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '2025-01-01T00:00:00Z', + 'backendName' => 'start', + ], + 'End' => [ + 'title' => '结束时间,值为RFC3339格式的UTC时间', + 'description' => '结束时间,值为RFC3339格式的UTC时间。', + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '2025-01-01T01:00:00Z', + 'backendName' => 'end', + ], + ], + 'extendType' => 'true', + ], + 'backendName' => 'periods', + ], + 'WeeklyPeriods' => [ + 'title' => '每周生效时间段', + 'description' => '每周生效时间段。', + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Days' => [ + 'title' => '周期,多个使用逗号分隔,1-7分别代表周一-周日。
例:周一,周三值为"1,3"', + 'description' => '周期,多个使用逗号分隔,1-7分别代表周一-周日。
例:周一,周三值为"1,3"。', + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '1', + 'backendName' => 'days', + ], + 'DailyPeriods' => [ + 'title' => '该周期内的生效时间', + 'description' => '该周期内的生效时间。', + 'visibility' => 'Public', + 'type' => 'array', + 'items' => [ + 'visibility' => 'Public', + 'type' => 'object', + 'properties' => [ + 'Start' => [ + 'title' => '起始时间,格式为HH:mm:ss', + 'description' => '起始时间,格式为HH:mm:ss。', + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '00:00:00', + 'backendName' => 'start', + ], + 'End' => [ + 'title' => '结束时间,格式为HH:mm:ss', + 'description' => '结束时间,格式为HH:mm:ss。', + 'visibility' => 'Public', + 'type' => 'string', + 'example' => '01:00:00', + 'backendName' => 'end', + ], + ], + 'extendType' => 'true', + ], + 'backendName' => 'dailyPeriods', + ], + ], + 'extendType' => 'true', + ], + 'backendName' => 'weeklyPeriods', + ], + ], + ], + ], + ], + 'apis' => [ + 'ActivateClientCertificate' => [ + 'summary' => 'Activates the client based on the certificate ID.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238804', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID, which can be obtained by calling the [ListClientCertificates](~~2852848~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'babaded901474b9693acf530e0fb****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com ', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb****', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com \\",\\n \\"Id\\": \\"babaded901474b9693acf530e0fb****\\",\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'ActivateClientCertificate', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-23T02:15:35.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ActivateClientCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:ActivateClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ActivateVersionManagement' => [ + 'summary' => 'Enable Version Management', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239166', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '11223***', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D2***', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'The current plan\'s quota of version management is insufficient. Please try to upgrade the plan.', + 'description' => 'The version management quota of the current package is insufficient. Please try to upgrade the package version.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D2***\\"\\n}","type":"json"}]', + 'title' => 'ActivateVersionManagement', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ActivateVersionManagement', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:ActivateVersionManagement', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'ApplyCertificate' => [ + 'summary' => 'Applies for a free SSL certificate.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238947', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Domains', + 'in' => 'query', + 'schema' => [ + 'description' => 'List of domains, separated by commas.', + 'type' => 'string', + 'required' => true, + 'example' => 'www.example.com,blog.example.com', + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate type. Valid values: lets_encrypt, digicert_single, and digicert_wildcard.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'digicert_wildcard' => 'digicert_wildcard', + 'lets_encrypt' => 'lets_encrypt', + 'digicert_single' => 'digicert_single', + ], + 'example' => 'lets_encrypt', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'SiteName' => [ + 'description' => 'Site name.', + 'type' => 'string', + 'example' => 'example.com ', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Number of certificates applied for, which is the same as the number of input domains.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + 'title' => '', + ], + 'Result' => [ + 'description' => 'List of free certificate application details.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the free certificate application.', + 'type' => 'object', + 'properties' => [ + 'Domain' => [ + 'description' => 'Certificate domain.', + 'type' => 'string', + 'example' => '*.example.com ', + 'title' => '', + ], + 'Status' => [ + 'description' => 'Status of the certificate application.', + 'type' => 'string', + 'example' => 'Applying', + 'title' => '', + ], + 'Id' => [ + 'description' => 'Certificate ID.', + 'type' => 'string', + 'example' => '30000478', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '156A6B-677B1A-4297B7-9187B7-2B44792', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The specified site is not found.', + 'description' => 'The site you specified does not exist. Please check whether the site you entered is correct.', + ], + [ + 'errorCode' => 'SiteNotActivated', + 'errorMessage' => 'The site is not activated, the process is not allowed.', + 'description' => 'The operation is not supported because the site is not activated.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.Domains', + 'errorMessage' => 'You have already submitted a certificate application for the domain name.', + 'description' => 'You have already submitted a certificate application for the domain name.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'QuotaCheckFailed', + 'errorMessage' => 'Failed to check free certificate Quota, please try again later.', + 'description' => 'Failed to check free certificate Quota, please try again later.', + ], + [ + 'errorCode' => 'InvalidParameter.Type', + 'errorMessage' => 'The specified Type parameter is invalid, please check and try again.', + 'description' => 'The Type parameter you configured is incorrect. Please check and try again. Certificate application type support lets_encrypt, digicert_single, digicert_wildcard.', + ], + [ + 'errorCode' => 'QuotaExceed.RecordCount', + 'errorMessage' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + 'description' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'The quota is exceeded.', + 'description' => 'The quota is exceeded.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'ApplyCertificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ApplyCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:ApplyCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteName\\": \\"example.com \\",\\n \\"TotalCount\\": 2,\\n \\"Result\\": [\\n {\\n \\"Domain\\": \\"*.example.com \\",\\n \\"Status\\": \\"Applying\\",\\n \\"Id\\": \\"30000478\\"\\n }\\n ],\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\"\\n}","type":"json"}]', + ], + 'ApplyCustomHostnameCertificate' => [ + 'summary' => 'Requests a new free certificate for a Software as a Service (SaaS) domain name. Call this operation only if the previous certificate request failed, or the current certificate is about to expire or has expired.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239650', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4DMKZ4', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'HostnameId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the SaaS domain name. Call the [ListCustomHostnames](~~3018667~~) operation to obtain the ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'title' => '', + 'example' => '1234567890123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The unique ID of the request. Alibaba Cloud generates this ID for each request.', + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F'."\n", + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + 'description' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + ], + 404 => [ + [ + 'errorCode' => 'CustomHostname.NotFound', + 'errorMessage' => 'The custom hostname does not exist. Modify it and try again.', + 'description' => 'The custom hostname does not exist. Modify it and try again.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'ApplyCustomHostnameCertificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\\\n\\"\\n}","type":"json"}]', + ], + 'BatchCreateRecords' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239587', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVFT29S', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'RecordList', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The list of DNS records to be created.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A single record object that contains specific configuration information.'."\n", + 'type' => 'object', + 'properties' => [ + 'RecordName' => [ + 'description' => 'The record name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'www.example.com', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The DNS type of the record.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'A/AAAA', + 'title' => '', + ], + 'Proxied' => [ + 'description' => 'Specifies whether to proxy the record. Only CNAME and A/AAAA records can be proxied. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'required' => true, + 'example' => 'true', + 'title' => '', + ], + 'SourceType' => [ + 'description' => 'The origin type for the CNAME record. This parameter is required when you add a CNAME record. Valid values:'."\n" + ."\n" + .'* **OSS**: OSS bucket.'."\n" + .'* **S3**: S3 bucket.'."\n" + .'* **LB**: load balancer.'."\n" + .'* **OP**: origin pool.'."\n" + .'* **Domain**: domain name.'."\n" + ."\n" + .'If you do not pass this parameter or if you leave its value empty, Domain is used by default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'OSS', + 'title' => '', + ], + 'BizName' => [ + 'description' => 'The business scenario of the record for acceleration. Valid values:'."\n" + ."\n" + .'* **image_video**'."\n" + .'* **api**'."\n" + .'* **web**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'web', + 'title' => '', + ], + 'Data' => [ + 'description' => 'The DNS information of the record. Enter fields based on the record type.'."\n", + 'type' => 'object', + 'properties' => [ + 'Usage' => [ + 'description' => 'The usage identifier of the record. Valid values: 0 to 255. Applicable to SMIMEA and TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Fingerprint' => [ + 'description' => 'The public key fingerprint of the record. Applicable to SSHFP records.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'abcdef1234567890', + 'title' => '', + ], + 'Priority' => [ + 'description' => 'The priority of the record. Valid values: 0 to 65535. A smaller value indicates a higher priority. This parameter is required when you add MX, SRV, and URI records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + 'title' => '', + ], + 'Port' => [ + 'description' => 'The port of the record. Valid values: 0 to 65535. Exclusive to SRV records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Flag' => [ + 'description' => 'The Flag for a CAA record indicates its priority and how it is processed. Valid values: 0 to 255.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '128', + 'title' => '', + ], + 'Algorithm' => [ + 'description' => 'The encryption algorithm used for the record. Valid values: 0 to 255. Applicable to CERT and SSHFP records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Weight' => [ + 'description' => 'The weight of the record. Valid values: 0 to 65,535. Applicable to SRV and URI records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type of the record (in CERT records), or the public key type (in SSHFP records).'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'MatchingType' => [ + 'description' => 'The algorithm policy used to match or validate the certificate. Valid values: 0 to 255. Applicable to SMIMEA, and TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The record value or part of the record content. A/AAAA: the IP address being pointed to. CNAME: the target domain name being pointed to. MX: valid target mail server domain name. TXT: valid text string. CAA: valid certificate authority domain name. SRV: valid target host domain name. URI: valid URI string.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + 'title' => '', + ], + 'KeyTag' => [ + 'description' => 'The public key identification for the record. Valid values: 0 to 65535. Applicable to CERT records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Tag' => [ + 'description' => 'The tag of a CAA record, which indicates its specific type and purpose, such as issue, issuewild, and iodef.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'issue', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The public key of the certificate. Applicable to CERT, SMIMEA, and TLSA records.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dGVzdGFkYWxrcw==', + 'title' => '', + ], + 'Selector' => [ + 'description' => 'The type of certificate or public key. Valid values: 0 to 255. Applicable to SMIMEA and TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + 'required' => true, + 'example' => '{'."\n" + .' "value":"2.2.2.2"'."\n" + .'}', + 'title' => '', + ], + 'Ttl' => [ + 'description' => 'The TTL of the record. Unit: seconds. If the value is 1, the TTL of the record is determined by the system.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '60', + 'title' => '', + ], + 'AuthConf' => [ + 'type' => 'object', + 'properties' => [ + 'SecretKey' => [ + 'type' => 'string', + 'required' => false, + 'description' => 'The SecretKey of the account to which the origin server belongs. This value must be provided when the origin server type is OSS and the authentication type is private cross-account read, or when the origin server type is S3 and the authentication type is private read.', + 'example' => 'VIxuvJSA2S03f******kp208dy5w7'."\n", + 'title' => '', + ], + 'Version' => [ + 'type' => 'string', + 'required' => false, + 'description' => 'The signature algorithm version. This parameter is required when the source type is S3 and the source authentication type is private-read. The following versions are supported: '."\n" + .'- **v2** '."\n" + .'- **v4** '."\n" + ."\n" + .'If this parameter is not specified, the default value is v4.', + 'example' => 'v4', + 'title' => '', + ], + 'Region' => [ + 'type' => 'string', + 'required' => false, + 'description' => 'The area to which the source belongs. This value must be provided when the source type is S3. You can obtain the correct area from the official S3 website.', + 'example' => 'us-east-1'."\n", + 'title' => '', + ], + 'AuthType' => [ + 'type' => 'string', + 'required' => false, + 'description' => 'The source authentication type. Different source types support different authentication types. The source type refers to the SourceType parameter in this API. When the source type is OSS or S3, you must specify the source authentication type. Valid values are: '."\n" + .'- **public**: public-read. Select this value when the source type is OSS or S3 and the source is publicly readable. '."\n" + .'- **private**: private-read. Select this value when the source type is S3 and the source is privately readable. '."\n" + .'- **private_same_account**: private-read within the same Alibaba Cloud account. Select this value when the source type is OSS, the source is privately readable, and it resides under the same Alibaba Cloud account. '."\n" + .'- **private_cross_account**: private-read across different Alibaba Cloud accounts. Select this value when the source type is OSS, the source is privately readable, and it resides under a different Alibaba Cloud account.', + 'example' => 'private', + 'title' => '', + ], + 'AccessKey' => [ + 'type' => 'string', + 'required' => false, + 'description' => 'The AccessKey of the Alibaba Cloud account to which the source belongs. This value must be provided when the source type is OSS and the source authentication type is private_cross_account, or when the source type is S3 and the source authentication type is private-read.', + 'example' => 'u0Nkg5gBK*******QF5wvKMM504JUHt'."\n", + 'title' => '', + ], + ], + 'required' => false, + 'description' => 'Authentication information for the origin server of the CNAME record.', + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '2430E05E-1340-5773-B5E1-B743929F46F2', + 'title' => '', + ], + 'RecordResultList' => [ + 'description' => 'The records that have been created and failed to be created.'."\n", + 'type' => 'object', + 'properties' => [ + 'Success' => [ + 'description' => 'The records that have been created.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RecordName' => [ + 'description' => 'The record name.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'Proxied' => [ + 'description' => 'Indicates whether the record is proxied. Only CNAME and A/AAAA records can be proxied. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The result description.'."\n", + 'type' => 'string', + 'example' => 'success', + 'title' => '', + ], + 'RecordType' => [ + 'description' => 'The DNS type of the record, such as **A/AAAA, CNAME, and TXT**.'."\n", + 'type' => 'string', + 'example' => 'A/AAAA', + 'title' => '', + ], + 'SourceType' => [ + 'description' => 'The origin type of the CNAME record. This field is left empty for other types of records. The type of the origin server. Valid values:'."\n" + ."\n" + .'* **OSS**: OSS bucket.'."\n" + .'* **S3**: S3 bucket.'."\n" + .'* **LB**: load balancer.'."\n" + .'* **OP**: origin pool.'."\n" + .'* **Domain**: domain name.'."\n", + 'type' => 'string', + 'example' => 'OSS', + 'title' => '', + ], + 'Data' => [ + 'description' => 'The DNS record information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Usage' => [ + 'description' => 'The usage identifier of the record. Valid values: 0 to 255. Applicable to SMIMEA and TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Fingerprint' => [ + 'description' => 'The public key fingerprint of the record. Applicable to SSHFP records.'."\n", + 'type' => 'string', + 'example' => 'abcdef1234567890', + 'title' => '', + ], + 'Priority' => [ + 'description' => 'The priority of the record. Valid values: 0 to 65535. A smaller value indicates a higher priority. Applicable to MX, SRV, and URI records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Port' => [ + 'description' => 'The port of the record. Valid values: 0 to 65535. Exclusive to SRV records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Flag' => [ + 'description' => 'The flag bit of the record. Indicates its priority and handling method, used in CAA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '128', + 'title' => '', + ], + 'Algorithm' => [ + 'description' => 'The encryption algorithm used for the record. Valid values: 0 to 255. Applicable to CERT and SSHFP records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Weight' => [ + 'description' => 'The weight of the record. Valid values: 0 to 65535. Applicable to SRV and URI records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type of the record (in CERT records), or the public key type (in SSHFP records).'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'MatchingType' => [ + 'description' => 'The algorithm policy used to match or validate the certificate. Valid values: 0 to 255. Applicable to SMIMEA and TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The record value or part of the record content. This value is returned when the record is A/AAAA, CNAME, NS, MX, TXT, CAA, SRV, or URI. It has different meanings based on types of records:'."\n" + ."\n" + .'* **A/AAAA**: the IP addresses. Multiple IPs are separated by commas (,). There is at least one IPv4 address.'."\n" + .'* **CNAME**: the mapped domain name.'."\n" + .'* **NS**: the nameservers for the domain name.'."\n" + .'* **MX**: a valid domain name of the target mail server.'."\n" + .'* **TXT**: a valid text string.'."\n" + .'* **CAA**: a valid domain name of the certificate authority.'."\n" + .'* **SRV**: a valid domain name of the target host.'."\n" + .'* **URI**: a valid URI string.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'KeyTag' => [ + 'description' => 'The public key identification for the record. Valid values: 0 to 65535. Applicable to CERT records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Tag' => [ + 'description' => 'The label of a CAA record, which indicates its specific type and purpose, such as issue, issuewild, and iodef.'."\n", + 'type' => 'string', + 'example' => 'issue', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The public key of the certificate. Applicable to CERT, SMIMEA, and TLSA records.'."\n", + 'type' => 'string', + 'example' => 'dGVzdGFkYWxrcw==', + 'title' => '', + ], + 'Selector' => [ + 'description' => 'The type of certificate or public key. Valid values: 0 to 255. Applicable to SMIMEA and TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + ], + 'example' => '{"value":"1.1.1.1"}'."\n", + 'title' => '', + ], + 'BizName' => [ + 'description' => 'The business scenario of the record for acceleration. Valid values:'."\n" + ."\n" + .'* **image_video**'."\n" + .'* **api**'."\n" + .'* **web**'."\n", + 'type' => 'string', + 'example' => 'web', + 'title' => '', + ], + 'RecordId' => [ + 'description' => 'The record ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'Ttl' => [ + 'description' => 'The TTL of the record. Unit: seconds. If the value is 1, the TTL of the record is determined by the system.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Failed' => [ + 'description' => 'The records that failed to be created.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RecordName' => [ + 'description' => 'The record name.'."\n", + 'type' => 'string', + 'example' => 'a.example.com', + 'title' => '', + ], + 'Proxied' => [ + 'description' => 'Indicates whether the record is proxied. Only CNAME and A/AAAA records can be proxied. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The result description.'."\n", + 'type' => 'string', + 'example' => '记录的名称非法', + 'title' => '', + ], + 'RecordType' => [ + 'description' => 'The DNS type of the record, such as **A/AAAA, CNAME, and TXT**.'."\n", + 'type' => 'string', + 'example' => 'A/AAAA', + 'title' => '', + ], + 'SourceType' => [ + 'description' => 'The origin type of the CNAME record. This field is left empty for other types of records. The type of the origin server. Valid values:'."\n" + ."\n" + .'* **OSS**: OSS bucket.'."\n" + .'* **S3**: S3 bucket.'."\n" + .'* **LB**: load balancer.'."\n" + .'* **OP**: origin pool.'."\n" + .'* **Domain**: domain name.'."\n", + 'type' => 'string', + 'example' => 'OSS', + 'title' => '', + ], + 'Data' => [ + 'description' => 'The DNS information about the record, which contains various types of record values and their related attributes.'."\n", + 'type' => 'object', + 'properties' => [ + 'Usage' => [ + 'description' => 'The usage identifier of the record. Valid values: 0 to 255. Applicable to SMIMEA and TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Fingerprint' => [ + 'description' => 'The public key fingerprint of the record. Applicable to SSHFP records.'."\n", + 'type' => 'string', + 'example' => 'abcdef1234567890', + 'title' => '', + ], + 'Priority' => [ + 'description' => 'The priority of the record. Valid values: 0 to 65535. A smaller value indicates a higher priority. Applicable to MX, SRV, and URI records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Port' => [ + 'description' => 'The port number of the record, associated with the SRV record. Exclusive to SRV records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Flag' => [ + 'description' => 'The flag bit of the record. Indicates its priority and handling method, used in CAA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '128', + 'title' => '', + ], + 'Algorithm' => [ + 'description' => 'The encryption algorithm used for the record. Valid values: 0 to 255. Applicable to CERT and SSHFP records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Weight' => [ + 'description' => 'The weight of the record. Applicable to SRV and URI records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type of the record (in CERT records), or the public key type (in SSHFP records).'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'MatchingType' => [ + 'description' => 'The algorithm policy used to match or validate the certificate. Valid values: 0 to 255. Applicable to SMIMEA and TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => 'RSA', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The record value or part of the record content. This value is returned when the record is A/AAAA, CNAME, NS, MX, TXT, CAA, SRV, or URI. It has different meanings based on types of records:'."\n" + ."\n" + .'* **A/AAAA**: the IP addresses. IP addresses are separated by commas (,). There is at least one IPv4 address.'."\n" + .'* **CNAME**: the mapped domain name.'."\n" + .'* **NS**: the nameservers for the domain name.'."\n" + .'* **MX**: a valid domain name of the target mail server.'."\n" + .'* **TXT**: a valid text string.'."\n" + .'* **CAA**: a valid domain name of the certificate authority.'."\n" + .'* **SRV**: a valid domain name of the target host.'."\n" + .'* **URI**: a valid URI string.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'KeyTag' => [ + 'description' => 'The public key identification for the record. Valid values: 0 to 65535. Applicable to CERT records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Tag' => [ + 'description' => 'Indicates its priority and handling method, used in CAA records.'."\n", + 'type' => 'string', + 'example' => 'issue', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The public key of the certificate. Applicable to CERT, SMIMEA, and TLSA records.'."\n", + 'type' => 'string', + 'example' => 'dGVzdGFkYWxrcw==', + 'title' => '', + ], + 'Selector' => [ + 'description' => 'The type of certificate or public key. Valid values: 0 to 255. Applicable to SMIMEA and TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + ], + 'example' => '{"value":"2.2.2.2"}', + 'title' => '', + ], + 'BizName' => [ + 'description' => 'The business scenario of the record for acceleration. Valid values:'."\n" + ."\n" + .'* **image_video**'."\n" + .'* **api**'."\n" + .'* **web**'."\n", + 'type' => 'string', + 'example' => 'web', + 'title' => '', + ], + 'RecordId' => [ + 'description' => 'The record ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'Ttl' => [ + 'description' => 'The TTL of the record. Unit: seconds. If the value is 1, the TTL of the record is determined by the system.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of returned records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'QuotaExceed.RecordCount', + 'errorMessage' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + 'description' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'Record.Conflict', + 'errorMessage' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + 'description' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + ], + [ + 'errorCode' => 'SourceCircleExist', + 'errorMessage' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + 'description' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordsExceedLimit', + 'errorMessage' => 'The number of incoming records exceeds the maximum limit.', + 'description' => 'The number of incoming records exceeds the maximum limit.', + ], + [ + 'errorCode' => 'QuotaExceed.WildcardRecordCount', + 'errorMessage' => 'The number of wildcard records added by your current site has reached the quota limit. Please delete useless wildcard records or upgrade to the plan and try again.', + 'description' => 'The number of wildcard records added by your current site has reached the quota limit. Please delete useless wildcard records or upgrade to the plan and try again.', + ], + [ + 'errorCode' => 'SameNameRecordsExceedLimit', + 'errorMessage' => 'The maximum number of records with the same name added in one batch exceeds 5. Add records with the same name in batches or reduce the number of records with the same name added in one batch.', + 'description' => 'The maximum number of records with the same name added in batches exceeds 5. Add records with the same name in batches or reduce the number of records with the same name added in batches.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidDSRecordName', + 'errorMessage' => 'Please add/import an NS record with the same name before adding this DS record.', + 'description' => 'Please add/import an NS record with the same name before adding this DS record', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidBiz', + 'errorMessage' => 'The incoming parameter value of the business type is empty or incorrect.', + 'description' => 'The incoming parameter value of the business type is empty or incorrect.', + ], + [ + 'errorCode' => 'Record.RecordValueContainSourceInBlacklist', + 'errorMessage' => 'The record value contains the blacklist address, and the details can be submitted for work order consultation.', + 'description' => 'The record value contains the blacklist address, and the details can be submitted for work order consultation.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidRecordNameSuffix', + 'errorMessage' => 'If you add other records, the suffix of the host record must be the same as the site name.', + 'description' => 'If you add another record, the suffix of the host record must be the same as the site name. Please adjust and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordNameExceedLimit', + 'errorMessage' => 'The length of the record name exceeds the maximum limit.', + 'description' => 'The record name cannot exceed 200 characters.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidHostPolicy', + 'errorMessage' => 'The host parameter in the origin fetch request is invalid.', + 'description' => 'The host parameter in the origin fetch request is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.CnameSiteRecordUnsupport', + 'errorMessage' => 'The current record type is not supported for a website connected by CNAME setup.', + 'description' => 'You can only add A/AAAA and CNAME records to a website connected by CNAME setup.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordCommentExceedLimit', + 'errorMessage' => 'The number of incoming record comment exceeds the maximum limit.', + 'description' => 'The record comment information is greater than 50 characters.', + ], + [ + 'errorCode' => 'QuotaExceed.WildCardRecord', + 'errorMessage' => 'The number of wildcard records exceeds the plan quota. Contact the sales team to increase your quota.', + 'description' => 'The number of wildcard records exceeds the plan quota. Contact the sales team to increase your quota.', + ], + [ + 'errorCode' => 'Record.AorAAAARecordValueContainInvalidIP', + 'errorMessage' => 'The A/AAAA record value contains the invalid IP.', + 'description' => 'When creating or editing an A/AAAA record, the record value contains an invalid IP.', + ], + [ + 'errorCode' => 'Record.AorAAAARecordValueIPExceedLimit', + 'errorMessage' => 'The number of IP addresses exceeds the limit for the A/AAAA record.', + 'description' => 'When creating or editing A/AAAA records, the number of IP addresses exceeds the limit. A host record only supports 8 IPv4 and 4 IPv6 IP addresses. Please adjust and try again.', + ], + [ + 'errorCode' => 'Record.CAARecordFlagExceedLimit', + 'errorMessage' => 'The value of the flag parameter for a CAA record is out of range.', + 'description' => 'The value of the flag parameter for a CAA record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CAARecordTagExceedLimit', + 'errorMessage' => 'The CAA record tag has illegal characters other than issue, issuewild, and iodef.', + 'description' => 'When creating or editing CAA records, illegal characters other than issue, issuewild, and iodef are passed in the tag value.', + ], + [ + 'errorCode' => 'Record.CERTRecordAlgorithmExceedLimit', + 'errorMessage' => 'The value of the algorithm parameter for the CERT record is out of range.', + 'description' => 'The value of the algorithm parameter for the CERT record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CERTRecordKeyTagExceedLimit', + 'errorMessage' => 'The value of the keyTag parameter for a CERT record is out of range.', + 'description' => 'The value of the keyTag parameter for a CERT record is out of range when creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CERTRecordTypeExceedLimit', + 'errorMessage' => 'The CERT record type is out of range.', + 'description' => 'The CERT record type parameter was out of range when creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualExistedIPASource', + 'errorMessage' => 'The CNAME record cannot be the origin of the added Layer 4 application. Check the values of other Layer 4 proxy records and try again.', + 'description' => 'The CNAME record cannot be the origin of the added Layer 4 application. Check the values of other Layer 4 proxy records and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualExistedPoolSource', + 'errorMessage' => 'The CNAME record cannot be the origin of the added source address pool. Check and try again.', + 'description' => 'The CNAME record cannot be the origin of the added source address pool. Check and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualExistedRecordSource', + 'errorMessage' => 'The CNAME record cannot be the origin of an added record. Check the record values of other records and try again.', + 'description' => 'The CNAME record cannot be the origin of an added record. Check the record values of other records and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualOtherExistedIPARecord', + 'errorMessage' => 'The record value of a CNAME record cannot be exactly the same as the name of another existing Layer 4 proxy record.', + 'description' => 'The record value of a CNAME record cannot be exactly the same as the name of another existing Layer 4 proxy record.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualOtherExistedRecord', + 'errorMessage' => 'The record value of a CNAME record cannot be the same as the name of another existing CNAME record.', + 'description' => 'The record value of a CNAME record cannot be the same as the name of another existing CNAME record.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualHostRecord', + 'errorMessage' => 'The record value of the CNAME record cannot be exactly the same as the host record.', + 'description' => 'The record value of the CNAME record cannot be exactly the same as the host record. Please adjust and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueExceedLimit', + 'errorMessage' => 'The CNAME record value cannot exceed 253 characters, please delete and try again.', + 'description' => 'The record value cannot exceed 253 characters, please delete and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueInvalidDomainUnderline', + 'errorMessage' => 'Record values (DNS-only records) generally start with an underscore, a lowercase letter a-z, and the numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + 'description' => 'Record values (DNS-only records) generally start with an underscore, a lowercase letter a-z, and the numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueInvalidRecordDomain', + 'errorMessage' => 'Record values (records with agent acceleration enabled) must start with a lowercase letter a-z and numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + 'description' => 'Record values (records with agent acceleration enabled) must start with a lowercase letter a-z and numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + ], + [ + 'errorCode' => 'Record.EmptyRecordValue', + 'errorMessage' => 'The record value is empty, please fill it in correctly and try again.', + 'description' => 'The record value is empty, please fill it in correctly and try again.', + ], + [ + 'errorCode' => 'Record.InvalidCertEncodeWithCERTRecord', + 'errorMessage' => 'The certificate value of the CERT record is not base64-encoded.', + 'description' => 'When you create or edit CERT record information, the certificate value of the CERT record is not base64-encoded.', + ], + [ + 'errorCode' => 'Record.InvalidFingerprintWithSSHFPRecord', + 'errorMessage' => 'The SSHFP record fingerprint value is not hexadecimal encoded.', + 'description' => 'When creating or editing SSHFP record information, the fingerprint value is not hexadecimal encoded.', + ], + [ + 'errorCode' => 'Record.InvalidIssueDataWithCAARecordTag', + 'errorMessage' => 'The tag of a CAA record can only be a semicolon or a valid domain name separated by semicolons.', + 'description' => 'When creating or editing CAA record information, the tag tag of a CAA record can only be a semicolon or a valid domain name separated by semicolons.', + ], + [ + 'errorCode' => 'Record.InvalidMailAddressWithCAARecordTag', + 'errorMessage' => 'The CAA record tag is prefixed with mailto:, it must be followed by a legal email address.', + 'description' => 'When creating or editing CAA record information, when Tag is iodef and Value is prefixed with mailto:, it must be followed by a legal email address.', + ], + [ + 'errorCode' => 'Record.InvalidSmimeaEncodeWithSMIMEARecord', + 'errorMessage' => 'The certificate value of the SMIMEA record is not base64-encoded.', + 'description' => 'When creating or editing SMIMEA record information, the certificate value of the SMIMEA record is not base64-encoded.', + ], + [ + 'errorCode' => 'Record.InvalidTslaEncodeWithTSLARecord', + 'errorMessage' => 'The certificate value passed in is not hexadecimal encoded with TSLA record.', + 'description' => 'When creating or editing TLSA record information, the certificate value passed in is not hexadecimal encoded.', + ], + [ + 'errorCode' => 'Record.InvalidURLWithURIRecord', + 'errorMessage' => 'The URI record value must be a valid URL address.', + 'description' => 'When creating or editing URI record information, the record value must be a valid URL address.', + ], + [ + 'errorCode' => 'Record.NoRecordNameConflictWithNSRecord', + 'errorMessage' => 'No record name can conflict with an NS record name.', + 'description' => 'No record name can conflict with an NS record name.', + ], + [ + 'errorCode' => 'Record.NSRecordCannotEqualSiteName', + 'errorMessage' => 'An NS record with the exact same name as the site name is not allowed.', + 'description' => 'Adding an NS record with the exact same name as the site name is not allowed.', + ], + [ + 'errorCode' => 'Record.OSSSourceInvalidAuthType', + 'errorMessage' => 'The recorded OSS origin station authentication type is not supported.', + 'description' => 'The recorded OSS origin station authentication type is not supported.', + ], + [ + 'errorCode' => 'Record.ParseJSONRecordValueFailed', + 'errorMessage' => 'The JSON data format of the record data is incorrect. Please adjust and try again.', + 'description' => 'The JSON data format of the record data is incorrect. Please adjust and try again.', + ], + [ + 'errorCode' => 'Record.PoolSourceNotExistPool', + 'errorMessage' => 'If the source station type of the record is source address pool, the input source address pool does not exist.', + 'description' => 'If the source station type of the record is source address pool, the input source address pool does not exist.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictForSpecifiedRecordType', + 'errorMessage' => 'The A/AAAA and CNAME records cannot have the same name.', + 'description' => 'The A/AAAA and CNAME records cannot have the same name.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithIPAName', + 'errorMessage' => 'The record name cannot have the same name as the Layer 4 proxy record.', + 'description' => 'When you create or edit DNS record information, the record name cannot have the same name as the Layer 4 proxy record.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithLBName', + 'errorMessage' => 'The record name cannot be the same as the Server Load Balancer record name.', + 'description' => 'When creating or editing DNS record information, the record name cannot be the same as the Server Load Balancer record name.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithNSRecord', + 'errorMessage' => 'The NS record name cannot be the same as any other type of record name.', + 'description' => 'When creating or editing DNS record information, the NS record name cannot be the same as any other type of record name.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithPoolName', + 'errorMessage' => 'The record name cannot be the same as the source address pool record name.', + 'description' => 'When creating or editing DNS record information, the record name cannot be the same as the source address pool record name.', + ], + [ + 'errorCode' => 'Record.RecordNameInBlacklist', + 'errorMessage' => 'The record name is in blacklist.', + 'description' => 'The record name is in the blacklist and cannot be added.', + ], + [ + 'errorCode' => 'Record.S3SourceInvalidAuthRegion', + 'errorMessage' => 'The recorded S3 origin belongs to a region that is not in the supported range.', + 'description' => 'The recorded S3 origin belongs to a region that is not in the supported range.', + ], + [ + 'errorCode' => 'Record.S3SourceInvalidAuthType', + 'errorMessage' => 'The recorded S3 origin authentication type is not supported.', + 'description' => 'The recorded S3 origin authentication type is not supported.', + ], + [ + 'errorCode' => 'Record.S3SourceInvalidAuthVersion', + 'errorMessage' => 'The version of the authentication signature algorithm of the S3 origin is not supported.', + 'description' => 'The version of the authentication signature algorithm of the S3 origin is not supported.', + ], + [ + 'errorCode' => 'Record.SourceAccessKeyExceedLimit', + 'errorMessage' => 'The character length of the AccessKey parameter value for the record source station is out of range.', + 'description' => 'The character length of the AccessKey parameter value for the record source station is out of range.', + ], + [ + 'errorCode' => 'Record.SourceEmptyAK', + 'errorMessage' => 'The AccessKey of the account to which the origin site belongs is empty.', + 'description' => 'The AccessKey of the account to which the origin site belongs is empty.', + ], + [ + 'errorCode' => 'Record.SourceEmptyAuthConf', + 'errorMessage' => 'The authentication information of the origin station is empty.', + 'description' => 'The recorded authentication information of the origin station is empty.', + ], + [ + 'errorCode' => 'Record.SourceEmptySecretKey', + 'errorMessage' => 'The SecretKey of the account to which the recorded origin site belongs is empty.', + 'description' => 'The SecretKey of the account to which the recorded origin site belongs is empty.', + ], + [ + 'errorCode' => 'Record.SourceSecretKeyExceedLimit', + 'errorMessage' => 'The character length of the SecretKey parameter value for the record source station is out of range.', + 'description' => 'The character length of the SecretKey parameter value for the record source station is out of range.', + ], + [ + 'errorCode' => 'Record.SRVRecordInvalidRecordName', + 'errorMessage' => 'SRV host record name is not valid. The SRV host record name must begin with an underscore (-) followed by a lowercase letter (a-z), a number (0-9), and a hyphen (-), followed by 1 arbitrary character, followed by an underscore (-) and a lowercase letter, number, or hyphen.', + 'description' => 'SRV host record name is not valid. The SRV host record name must begin with an underscore (-), followed by a lowercase letter (a-z), number (0-9), hyphen (-), followed by any character, followed by an underscore (-) and a lowercase letter, number, or hyphen.', + ], + [ + 'errorCode' => 'Record.SRVRecordPortExceedLimit', + 'errorMessage' => 'The SRV record port is out of range.', + 'description' => 'When creating or editing DNS record information, the SRV record port filled in is out of range.', + ], + [ + 'errorCode' => 'Record.SSHFPRecordAlgorithmExceedLimit', + 'errorMessage' => 'The algorithm parameter value for the SSHFP record is out of range.', + 'description' => 'The algorithm parameter value for the SSHFP record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.TTLExceedLimit', + 'errorMessage' => 'The TTL parameter value for a record is out of range.', + 'description' => 'The TTL parameter value for a record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.TXTRecordValueExceedLimit', + 'errorMessage' => 'The TXT record value cannot exceed 450 characters.', + 'description' => 'When you create or edit DNS record information, the TXT record value cannot exceed 450 characters.', + ], + [ + 'errorCode' => 'Record.TypeExceedLimitWithSSHFPRecord', + 'errorMessage' => 'The SSHFP record Type parameter value is out of range.', + 'description' => 'The SSHFP record Type parameter value is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameContainDoubleConsecutiveDot', + 'errorMessage' => 'Illegal host record name. The host record cannot contain consecutive dot.', + 'description' => 'Illegal host record name. The host record cannot contain consecutive dot.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameForbidStarSev', + 'errorMessage' => 'Illegal host record name, SRV record name disallowed asterisk.', + 'description' => 'Illegal host record name, SRV record name disallowed asterisk.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidATChar', + 'errorMessage' => 'Illegal host record name. The at symbol can only appear at the top of the host record and can only be followed. Symbol, other strings are not allowed.', + 'description' => 'Illegal host record name. The \'@\' symbol can only appear at the top of the host record and can only be followed. Symbol, other strings are not allowed.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidNamePrefixSuffix', + 'errorMessage' => 'Illegal host record name. Host record values cannot start or end with a dot, a hyphens.', + 'description' => 'Illegal host record name. Host record values cannot start or end with a dot, a hyphens.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidStartSymbol', + 'errorMessage' => 'Illegal host record name. The asterisk is only allowed in the first place of the host record, and only the following dot is allowed after the asterisk.', + 'description' => 'Illegal host record name. The asterisk is only allowed in the first place of the host record, and only the following dot is allowed after the asterisk.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameSeperateStringTooLarge', + 'errorMessage' => 'Illegal host record name. The number of characters in each segment separated by dot cannot exceed 63.', + 'description' => 'Illegal host record name. The number of characters in each segment separated by \'.\' cannot exceed 63.', + ], + [ + 'errorCode' => 'Record.UnsupportedSourceType', + 'errorMessage' => 'The recorded source station type is not in the supported range.', + 'description' => 'The recorded source station type is not in the supported range.', + ], + [ + 'errorCode' => 'Record.UnsupportedType', + 'errorMessage' => 'The record type parameter is unsupported.', + 'description' => 'The record type parameter is incorrect. Please check the record type parameter.', + ], + [ + 'errorCode' => 'Record.ValidProxiedForSpecifedRecordType', + 'errorMessage' => 'Only A/AAAA and CNAME types support proxy acceleration.', + 'description' => 'When creating or editing a record, proxy acceleration is enabled in the proxy state. Only A/AAAA and CNAME types support proxy acceleration.', + ], + [ + 'errorCode' => 'Record.RecordUsageExceedLimit', + 'errorMessage' => 'The usage parameter value filled in is out of range.', + 'description' => 'When creating or editing DNS record information, the usage parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordSelectorExceedLimit', + 'errorMessage' => 'The selector parameter value filled in is out of range.', + 'description' => 'While creating or editing DNS record information, the selector parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordMatchingTypeExceedLimit', + 'errorMessage' => 'The matchingType parameter value filled in is out of range.', + 'description' => 'While creating or editing DNS record information, the matchingType parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordPriorityExceedLimit', + 'errorMessage' => 'The record priority parameter value filled in is out of range.', + 'description' => 'When creating or editing DNS record information, the record priority parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordWeightExceedLimit', + 'errorMessage' => 'The record weight parameter value filled in is out of range.', + 'description' => 'When creating or editing DNS record information, the record weight parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithSameRecordType', + 'errorMessage' => 'Record conflicts with an existing host record that has the same name and value.', + 'description' => 'Record conflicts with an existing host record that has the same name and value.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidUnderLine', + 'errorMessage' => 'The host record name contains an illegal underscore. The underscore is only supported at the beginning of the TXT, CNAME, MX, SRV, and NS records. Proxy acceleration cannot be enabled, and records can only be added in the DNS mode.', + 'description' => 'The host record name contains an illegal underscore. The underscore is only supported at the beginning of the TXT, CNAME, MX, SRV, and NS records. Proxy acceleration cannot be enabled, and records can only be added in the DNS mode.', + ], + [ + 'errorCode' => 'InvalidParameter.CnameSiteRecordNoProxied', + 'errorMessage' => 'A non-proxied record was added for a website using a CNAME setup.', + 'description' => 'A non-proxied record was added for a website using a CNAME setup.', + ], + [ + 'errorCode' => 'Record.InvalidIodefDataWithCAARecordTag', + 'errorMessage' => 'The CAA record Tag value cannot start with mailto: or http:// or https.', + 'description' => 'When creating or editing CAA record information, the Tag value cannot start with mailto: http:// or mailto: https.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameOnlyContainSymbol', + 'errorMessage' => 'The host record value cannot exist separately in various symbols, and can be added with any lowercase letters or numbers.', + 'description' => 'The host record value cannot exist separately in various symbols, and can be added with any lowercase letters or numbers.'."\n", + ], + [ + 'errorCode' => 'Record.WildcardConflictForSpecifiedRecordType', + 'errorMessage' => 'The A/AAAA,CNAME records cannot add all and asterisk prefixed records at the same time.', + 'description' => 'A/AAAA,CNAME records cannot add all and asterisk prefixed records at the same time.', + ], + [ + 'errorCode' => 'Record.InvalidHTTPURLValueWithCAARecordTag', + 'errorMessage' => 'The CAA record is prefixed with http:// or https://, it must be followed by a valid URL.', + 'description' => 'When you create or edit a CAA record, if the Tag is `iodef` and the Value starts with `http://` or `https://`, it must be followed by a valid URL.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameOnlyRangeChars', + 'errorMessage' => 'Illegal host record character. Only lowercase a-z, uppercase A- Z, digits 0-9, some special characters are supported as valid characters in host records.', + 'description' => 'Illegal host record character. Only lowercase a-z, uppercase A- Z, digits 0-9, \'-\', \'_\', \'.\', \'*\', and \'@\' are supported as valid characters in host records \',\' @ \'.'."\n", + ], + ], + ], + 'title' => 'Batch create DNS records'."\n", + 'summary' => 'Add DNS records in batch, supporting multiple record types. ', + 'description' => 'This API allows users to create or update multiple DNS record entries at once, suitable for scenarios that require managing a large number of DNS configurations. Supported record types include but are not limited to A/AAAA, CNAME, NS, MX, TXT, CAA, SRV, and URI. Detailed configuration items are provided to meet specific requirements, such as Priority, Flag, Tag, and Weight. Additionally, for specific record types like CERT, SSHFP, SMIMEA, and TLSA, advanced settings such as certificate information and encryption algorithms are supported. '."\n" + ."\n" + .'Records that succeeded or failed during the operation are listed separately in the response, enabling users to identify which records were processed successfully and which failed along with the reasons for failure. ', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-10T08:19:05.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2025-02-18T05:59:13.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-11-12T05:57:29.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2024-10-11T06:13:39.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-24T08:28:18.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:42.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchCreateRecords', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:BatchCreateRecords', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2430E05E-1340-5773-B5E1-B743929F46F2\\",\\n \\"RecordResultList\\": {\\n \\"Success\\": [\\n {\\n \\"RecordName\\": \\"www.example.com\\",\\n \\"Proxied\\": true,\\n \\"Description\\": \\"success\\",\\n \\"RecordType\\": \\"A/AAAA\\",\\n \\"SourceType\\": \\"OSS\\",\\n \\"Data\\": {\\n \\"Usage\\": 0,\\n \\"Fingerprint\\": \\"abcdef1234567890\\",\\n \\"Priority\\": 10,\\n \\"Port\\": 0,\\n \\"Flag\\": 128,\\n \\"Algorithm\\": 0,\\n \\"Weight\\": 0,\\n \\"Type\\": 0,\\n \\"MatchingType\\": 0,\\n \\"Value\\": \\"example.com\\",\\n \\"KeyTag\\": 0,\\n \\"Tag\\": \\"issue\\",\\n \\"Certificate\\": \\"dGVzdGFkYWxrcw==\\",\\n \\"Selector\\": 0\\n },\\n \\"BizName\\": \\"web\\",\\n \\"RecordId\\": 1234567890123,\\n \\"Ttl\\": 60\\n }\\n ],\\n \\"Failed\\": [\\n {\\n \\"RecordName\\": \\"a.example.com\\",\\n \\"Proxied\\": true,\\n \\"Description\\": \\"记录的名称非法\\",\\n \\"RecordType\\": \\"A/AAAA\\",\\n \\"SourceType\\": \\"OSS\\",\\n \\"Data\\": {\\n \\"Usage\\": 0,\\n \\"Fingerprint\\": \\"abcdef1234567890\\",\\n \\"Priority\\": 10,\\n \\"Port\\": 0,\\n \\"Flag\\": 128,\\n \\"Algorithm\\": 0,\\n \\"Weight\\": 0,\\n \\"Type\\": 0,\\n \\"MatchingType\\": 0,\\n \\"Value\\": \\"example.com\\",\\n \\"KeyTag\\": 0,\\n \\"Tag\\": \\"issue\\",\\n \\"Certificate\\": \\"dGVzdGFkYWxrcw==\\",\\n \\"Selector\\": 0\\n },\\n \\"BizName\\": \\"web\\",\\n \\"RecordId\\": 1234567890123,\\n \\"Ttl\\": 60\\n }\\n ],\\n \\"TotalCount\\": 20\\n }\\n}","type":"json"}]', + ], + 'BatchCreateWafRules' => [ + 'summary' => 'Batch Create WAF Rules', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239658', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBQ0J3E', + 'FEATUREdcdn1OLUH8', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'formData', + 'schema' => [ + 'title' => 'WAF阶段', + 'description' => 'WAF rule type, with values:'."\n" + ."\n" + .'- **http_anti_scan**: Scan protection.'."\n" + .'- **http_bot**: Bots.', + 'type' => 'string', + 'required' => false, + 'example' => 'http_anti_scan', + ], + ], + [ + 'name' => 'RulesetId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Ruleset ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10000001', + 'minimum' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'Shared', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'title' => '多规则共享配置', + 'description' => 'Shared configuration for multiple rules, specifying common attributes of multiple rules.', + 'required' => false, + '$ref' => '#/components/schemas/WafBatchRuleShared', + 'example' => '', + ], + ], + [ + 'name' => 'Configs', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'title' => '各规则配置列表', + 'description' => 'A list of configurations for each rule, specifying detailed configurations for each rule.', + 'type' => 'array', + 'items' => [ + 'description' => 'Rule configuration.', + 'required' => false, + '$ref' => '#/components/schemas/WafRuleConfig', + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'RulesetId' => [ + 'description' => 'ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](~~2878359~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000001', + 'title' => '', + ], + 'Ids' => [ + 'description' => 'ID of the WAF rule, which can be obtained by calling the [ListWafRules](~~2878257~~) interface.', + 'type' => 'array', + 'items' => [ + 'description' => 'ID of the WAF rule, which can be obtained by calling the [ListWafRules](~~2878257~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000001', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + ], + 403 => [ + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'errorCode' => 'Rule.Config.Malformed', + 'errorMessage' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + 'description' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + ], + [ + 'errorCode' => 'Rule.Config.Noncompliance', + 'errorMessage' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + 'description' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + ], + [ + 'errorCode' => 'Ruleset.Name.AlreadyExists', + 'errorMessage' => 'The specified rule set name already exists.Try again with a unique name or modify the existing rule set name.', + 'description' => 'The specified rule set name already exists.Try again with a unique name or modify the existing rule set name.', + ], + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + [ + 'errorCode' => 'Expression.Invalid', + 'errorMessage' => 'The specified expression is invalid: %s.', + 'description' => 'The specified expression is invalid.', + ], + [ + 'errorCode' => 'Ruleset.NotExist', + 'errorMessage' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + 'description' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + ], + ], + ], + 'title' => 'Batch Create WAF Rules', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-17T07:08:14.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-09-25T07:02:52.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:38.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchCreateWafRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:BatchCreateWafRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"RulesetId\\": 10000001,\\n \\"Ids\\": [\\n 20000001\\n ]\\n}","type":"json"}]', + ], + 'BatchDeleteKv' => [ + 'summary' => 'Deletes key-value pairs from a namespace at a time based on keys.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239149', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The name of the namespace that you specify when you call the [CreateKvNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namespace', + ], + ], + [ + 'name' => 'Keys', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The keys that you want to delete. You can delete a maximum of 10,000 key-value pairs at a time.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The key that you want to delete.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test_key1', + 'title' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + ], + 'FailKeys' => [ + 'description' => 'The keys that failed to be deleted.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The key that failed to be deleted.'."\n", + 'type' => 'string', + 'example' => 'test_key1', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SuccessKeys' => [ + 'description' => 'The keys that are deleted.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The key that is deleted.'."\n", + 'type' => 'string', + 'example' => 'test_key2', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"FailKeys\\": [\\n \\"test_key1\\"\\n ],\\n \\"SuccessKeys\\": [\\n \\"test_key2\\"\\n ]\\n}","type":"json"}]', + 'title' => 'BatchDeleteKv', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-20T13:49:27.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchDeleteKv', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:BatchDeleteKv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'BatchDeleteKvWithHighCapacity' => [ + 'summary' => 'Deletes multiple key-value pairs from a namespace at a time based on specified keys. The request body can be up to 100 MB.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239122', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The name of the namespace that you specify when you call the [CreateKvNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namespace', + ], + ], + [ + 'name' => 'Url', + 'in' => 'query', + 'schema' => [ + 'description' => 'The download URL of the key-value pairs that you want to delete. This parameter is automatically filled in when you use the SDK to call the operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7', + 'isFileTransferUrl' => true, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + ], + 'FailKeys' => [ + 'description' => 'The keys that failed to be deleted.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The key that failed to be deleted.'."\n", + 'type' => 'string', + 'example' => 'test_key1', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SuccessKeys' => [ + 'description' => 'The keys that are deleted.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The key that is deleted.'."\n", + 'type' => 'string', + 'example' => 'test_key1', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"FailKeys\\": [\\n \\"test_key1\\"\\n ],\\n \\"SuccessKeys\\": [\\n \\"test_key1\\"\\n ]\\n}","type":"json"}]', + 'title' => 'BatchDeleteKvWithHighCapacity', + 'description' => 'This operation allows you to upload a larger request body than by using [BatchDeleteKv](~~2850204~~). For small request bodies, we recommend that you use [BatchDeleteKv](~~2850204~~) to minimize the server processing time. This operation must be called by using SDKs. The following sample code uses the Golang SDK and BatchDeleteKvWithHighCapacityAdvance to call the operation.'."\n" + ."\n" + .' func TestBatchDeleteWithHighCapacity() error {'."\n" + .' // Initialize the configurations.'."\n" + .' cfg := new(openapi.Config)'."\n" + .' cfg.SetAccessKeyId("xxxxxxxxx")'."\n" + .' cfg.SetAccessKeySecret("xxxxxxxxxx")'."\n" + .' cli, err := NewClient(cfg)'."\n" + .' if err != nil {'."\n" + .' return err'."\n" + .' }'."\n" + .' runtime := &util.RuntimeOptions{}'."\n" + ."\n" + .' // Construct a request for deleting key-value pairs at a time.'."\n" + .' namespace := "test_batch_put"'."\n" + .' rawReq := BatchDeleteKvRequest{'."\n" + .' Namespace: &namespace,'."\n" + .' }'."\n" + .' for i := 0; i < 10000; i++ {'."\n" + .' key := fmt.Sprintf("test_key_%d", i)'."\n" + .' rawReq.Keys = append(rawReq.Keys, &key)'."\n" + .' }'."\n" + .' payload, err := json.Marshal(rawReq)'."\n" + .' if err != nil {'."\n" + .' return err'."\n" + .' }'."\n" + ."\n" + .' // If the payload is greater than 2 MB, call the BatchDeleteKvWithHighCapacity operation for deletion.'."\n" + .' reqHighCapacity := BatchDeleteKvWithHighCapacityAdvanceRequest{'."\n" + .' Namespace: &namespace,'."\n" + .' UrlObject: bytes.NewReader(payload),'."\n" + .' }'."\n" + .' resp, err := cli.BatchDeleteKvWithHighCapacityAdvance(&reqHighCapacity, runtime)'."\n" + .' if err != nil {'."\n" + .' return err'."\n" + .' }'."\n" + .' return nil'."\n" + .' }'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-09-20T13:49:26.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchDeleteKvWithHighCapacity', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:BatchDeleteKvWithHighCapacity', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'BatchGetExpressionFields' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239608', + 'abilityTreeNodes' => [ + 'FEATUREdcdnWQK30N', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'PlanNameEn', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Kind', + 'in' => 'formData', + 'schema' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'formData', + 'schema' => [ + 'title' => 'WAF阶段', + 'description' => 'WAF Phase', + 'type' => 'string', + 'required' => false, + 'example' => 'http_bot', + ], + ], + [ + 'name' => 'Expressions', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'List of expressions.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the expression.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The sequence number of the expression.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'Expression' => [ + 'description' => 'Content of the expression.', + 'type' => 'string', + 'required' => false, + 'example' => 'ip.src eq 1.1.1.1', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'example' => 'http_bot', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Fields' => [ + 'description' => 'List of match fields.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of match fields.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'ID of the expression, corresponding to the ID in the input parameters.', + 'type' => 'string', + 'example' => '1', + 'title' => '', + ], + 'Fields' => [ + 'description' => 'List of match fields for a single expression.', + 'type' => 'array', + 'items' => [ + 'description' => 'Value of a single match field for an expression.', + 'type' => 'string', + 'example' => 'ip.src', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Expression.Invalid', + 'errorMessage' => 'Expression syntax error or data type mismatched.', + 'description' => 'Expression syntax error or data type mismatched.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'Batch Get Expression Match Fields', + 'summary' => 'Batch Get Expression Matches', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:48.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:41.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchGetExpressionFields', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:BatchGetExpressionFields', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Fields\\": [\\n {\\n \\"Id\\": \\"1\\",\\n \\"Fields\\": [\\n \\"ip.src\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'BatchPutKv' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239368', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The name of the namespace that you specify when you call the [CreateKvNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namespace', + ], + ], + [ + 'name' => 'KvList', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The key-value pairs that you want to configure at a time. The total size can be up to 2 MB (2 × 1000 × 1000).'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The key name. The name can be up to 512 characters in length and cannot contain spaces or backslashes (\\\\).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_key', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The key content.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_value', + 'title' => '', + ], + 'Expiration' => [ + 'description' => 'The time when the key-value pair expires, which cannot be earlier than the current time. The value is a timestamp in seconds. If you specify both Expiration and ExpirationTtl, only ExpirationTtl takes effect.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1690081381', + 'title' => '', + ], + 'ExpirationTtl' => [ + 'description' => 'The relative expiration time. Unit: seconds. If you specify both Expiration and ExpirationTtl, only ExpirationTtl takes effect.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3600', + 'title' => '', + ], + ], + 'required' => true, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + ], + 'FailKeys' => [ + 'description' => 'The keys that failed to be written.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the key that failed to be written.'."\n", + 'type' => 'string', + 'example' => 'test_key1', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SuccessKeys' => [ + 'description' => 'The keys that were written.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the key that was written.'."\n", + 'type' => 'string', + 'example' => 'test_key2', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'BatchPutKv', + 'summary' => 'Configures key-value pairs for a namespace at a time based on specified keys.', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-20T13:49:26.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchPutKv', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:BatchPutKv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"FailKeys\\": [\\n \\"test_key1\\"\\n ],\\n \\"SuccessKeys\\": [\\n \\"test_key2\\"\\n ]\\n}","type":"json"}]', + ], + 'BatchPutKvWithHighCapacity' => [ + 'summary' => 'Configures key-value pairs for a namespace at a time based on specified keys. The request body can be up to 100 MB.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239294', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The name of the namespace that you specify when you call the [CreateKvNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namespace', + ], + ], + [ + 'name' => 'Url', + 'in' => 'query', + 'schema' => [ + 'description' => 'The download URL of the key-value pairs that you want to configure. This parameter is automatically filled in when you use the SDK to call the operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7', + 'isFileTransferUrl' => true, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + ], + 'FailKeys' => [ + 'description' => 'The keys that failed to be written.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the key that failed to be written.'."\n", + 'type' => 'string', + 'example' => 'test_key1', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SuccessKeys' => [ + 'description' => 'The keys that were written.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The name of the key that was written.'."\n", + 'type' => 'string', + 'example' => 'test_key2', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"FailKeys\\": [\\n \\"test_key1\\"\\n ],\\n \\"SuccessKeys\\": [\\n \\"test_key2\\"\\n ]\\n}","type":"json"}]', + 'title' => 'BatchPutKvWithHighCapacity', + 'description' => 'This operation allows you to upload a larger request body than by using [BatchPutKv](~~2850203~~). For small request bodies, we recommend that you use [BatchPutKv](~~2850203~~) to minimize the server processing time. This operation must be called by using SDKs. The following sample code uses the Golang SDK and BatchPutKvWithHighCapacityAdvance to call the operation.'."\n" + ."\n" + .' func TestBatchPutKvWithHighCapacity() error {'."\n" + .' // Initialize the configurations.'."\n" + .' cfg := new(openapi.Config)'."\n" + .' cfg.SetAccessKeyId("xxxxxxxxx")'."\n" + .' cfg.SetAccessKeySecret("xxxxxxxxxx")'."\n" + .' cli, err := NewClient(cfg)'."\n" + .' if err != nil {'."\n" + .' return err'."\n" + .' }'."\n" + .' runtime := &util.RuntimeOptions{}'."\n" + ."\n" + .' // Construct a request for uploading key-value pairs at a time.'."\n" + .' namespace := "test_batch_put"'."\n" + .' numKv := 10000'."\n" + .' kvList := make([]*BatchPutKvRequestKvList, numKv)'."\n" + .' test_value := strings.Repeat("a", 10*1024)'."\n" + .' for i := 0; i < numKv; i++ {'."\n" + .' key := fmt.Sprintf("test_key_%d", i)'."\n" + .' value := test_value'."\n" + .' kvList[i] = &BatchPutKvRequestKvList{'."\n" + .' Key: &key,'."\n" + .' Value: &value,'."\n" + .' }'."\n" + .' }'."\n" + .' rawReq := BatchPutKvRequest{'."\n" + .' Namespace: &namespace,'."\n" + .' KvList: kvList,'."\n" + .' }'."\n" + ."\n" + .' payload, err := json.Marshal(rawReq)'."\n" + .' if err != nil {'."\n" + .' return err'."\n" + .' }'."\n" + ."\n" + .' // If the payload is greater than 2 MB, call the BatchPutKvWithHighCapacity operation for upload.'."\n" + .' reqHighCapacity := BatchPutKvWithHighCapacityAdvanceRequest{'."\n" + .' Namespace: &namespace,'."\n" + .' UrlObject: bytes.NewReader(payload),'."\n" + .' }'."\n" + .' resp, err := cli.BatchPutKvWithHighCapacityAdvance(&reqHighCapacity, runtime)'."\n" + .' if err != nil {'."\n" + .' return err'."\n" + .' }'."\n" + .' return nil'."\n" + .' }'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-09-20T13:49:26.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchPutKvWithHighCapacity', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:BatchPutKvWithHighCapacity', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'BatchUpdateWafRules' => [ + 'summary' => 'Modifies multiple rules in a specific Web Application Firewall (WAF) ruleset at a time.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239643', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBQ0J3E', + 'FEATUREdcdn1OLUH8', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version of the website.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The WAF rule category.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http_anti_scan', + ], + ], + [ + 'name' => 'RulesetId', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](~~2878359~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10000001', + ], + ], + [ + 'name' => 'Shared', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'title' => '', + 'description' => 'The configurations shared by multiple rules.'."\n", + 'required' => false, + 'example' => '10000001', + '$ref' => '#/components/schemas/WafBatchRuleShared', + ], + ], + [ + 'name' => 'Configs', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'title' => '', + 'description' => 'The configurations of rules.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The configuration of the rule.'."\n", + 'required' => false, + '$ref' => '#/components/schemas/WafRuleConfig', + 'example' => '', + ], + 'required' => false, + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response nparameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + ], + 403 => [ + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'errorCode' => 'Rule.Config.Malformed', + 'errorMessage' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + 'description' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + ], + [ + 'errorCode' => 'Rule.Config.Noncompliance', + 'errorMessage' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + 'description' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + ], + [ + 'errorCode' => 'Ruleset.Name.AlreadyExists', + 'errorMessage' => 'The specified rule set name already exists.Try again with a unique name or modify the existing rule set name.', + 'description' => 'The specified rule set name already exists.Try again with a unique name or modify the existing rule set name.', + ], + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + [ + 'errorCode' => 'Ruleset.NotExist', + 'errorMessage' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + 'description' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + ], + [ + 'errorCode' => 'Expression.Invalid', + 'errorMessage' => 'The specified expression is invalid: %s.', + 'description' => 'The specified expression is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'BatchUpdateWafRules', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-17T07:08:14.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-09-25T07:02:52.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-23T06:19:49.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:37.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchUpdateWafRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:BatchUpdateWafRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\"\\n}","type":"json"}]', + ], + 'BlockObject' => [ + 'summary' => 'Blocks URLs.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238896', + 'abilityTreeNodes' => [ + 'FEATUREdcdnSU2QP6', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type. Valid values:'."\n" + ."\n" + .'* **block**'."\n" + .'* **unblock**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'block', + 'enum' => [ + 'block', + 'unblock', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Content', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The content to block.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The URL.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://a.com/1.jpg', + 'title' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Maxage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The period of time during which the URL is blocked. Unit: seconds. Specify this parameter if Type is set to block.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '864000', + 'minimum' => '600', + 'example' => '864000', + 'title' => '', + ], + ], + [ + 'name' => 'Extension', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The blocking period that you can extend. Set the value to 2year.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2year', + 'enum' => [ + '2year', + ], + 'title' => '', + ], + ], + ], + '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' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'TaskId' => [ + 'description' => 'The blocking task ID.'."\n", + 'type' => 'string', + 'example' => '15940956620', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + 'description' => 'Please provide both a start time and an end time.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'DomainNameOverLimit', + 'errorMessage' => 'A maximum of 500 domains are supported for each request.', + 'description' => 'Only 500 domain names are supported at a time. Please reduce the number of domain names to request again.', + ], + [ + 'errorCode' => 'InvalidTime', + 'errorMessage' => 'The query time cannot exceed the last 3 days.', + 'description' => 'The query time cannot exceed the last 3 days.', + ], + [ + 'errorCode' => 'MissingParameter.ObjectType', + 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', + 'description' => 'Specify the ObjectType parameter.', + ], + [ + 'errorCode' => 'InvalidStationParameter', + 'errorMessage' => 'The specified Station is invalid.', + 'description' => 'The specified node parameter is invalid.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'errorCode' => 'InvalidTaskId.Malformed', + 'errorMessage' => 'The specified taskId is invalid.', + 'description' => 'The specified task ID is invalid.', + ], + [ + 'errorCode' => 'InvalidParameters.InvalidUrls', + 'errorMessage' => 'The specified urls are invalid.', + 'description' => 'The requested URL parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameters', + 'errorMessage' => 'The specified parameters are invalid.', + 'description' => 'Parameter is illegal.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordNotBelongToSite', + 'errorMessage' => 'The record name passed in does not belong to the current site.', + 'description' => 'The record name passed in does not belong to the current site.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"TaskId\\": \\"15940956620\\"\\n}","type":"json"}]', + 'title' => 'BlockObject', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-13T07:58:30.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-24T06:04:31.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BlockObject', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:BlockObject', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'CheckSiteName' => [ + 'summary' => 'Checks whether a specified website name is available.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239613', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'SiteName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + 'title' => '', + ], + 'Passed' => [ + 'description' => 'Indicates whether the verification passed.'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'Messeage' => [ + 'description' => 'The verification message.'."\n", + 'type' => 'string', + 'example' => '站点名称可用。', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The description of the verification result. Valid values:'."\n" + ."\n" + .'* **success**: The verification is successful.'."\n" + .'* **Site.AlreadyExist**: The website domain name has already been added.'."\n" + .'* **Site.InvalidName**: Invalid website domain name.'."\n" + .'* **Site.SubSiteUnavailable**: Subdomains are not allowed.'."\n" + .'* **Site.InternalError**: An internal error occurs.'."\n", + 'type' => 'string', + 'example' => 'success', + 'title' => '', + ], + 'IsSubSite' => [ + 'description' => 'Indicates whether a subdomain is specified. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'false', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\",\\n \\"Passed\\": true,\\n \\"Messeage\\": \\"站点名称可用。\\",\\n \\"Description\\": \\"success\\",\\n \\"IsSubSite\\": false\\n}","type":"json"}]', + 'title' => 'CheckSiteName', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T08:22:14.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CheckSiteName', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CheckSiteName', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'CheckSiteProjectName' => [ + 'summary' => 'Checks the name of a real-time log delivery task.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239055', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'ProjectName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the real-time log delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'user_log', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '12312312213212', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + 'title' => '', + ], + 'Check' => [ + 'description' => 'Indicates whether the task name is valid. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'ProjectName' => [ + 'description' => 'The name of the real-time log delivery task.'."\n", + 'type' => 'string', + 'example' => 'dcdn_waf_userAccount_log', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The result description.'."\n", + 'type' => 'string', + 'example' => 'project name pass the check', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RealtimeLogProjectExistError', + 'errorMessage' => 'Realtime-log project name already exist.', + 'description' => 'Real-time log entry name already exists', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\",\\n \\"Check\\": true,\\n \\"ProjectName\\": \\"dcdn_waf_userAccount_log\\",\\n \\"Description\\": \\"project name pass the check\\"\\n}","type":"json"}]', + 'title' => 'CheckSiteProjectName', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-27T05:57:03.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CheckSiteProjectName', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CheckSiteProjectName', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'CheckUserProjectName' => [ + 'summary' => 'Checks the name of a real-time log delivery task by account.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238730', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'ProjectName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the real-time log delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ali-dcdn-log-56', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + 'title' => '', + ], + 'Check' => [ + 'description' => 'Indicates whether the name is valid. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'ProjectName' => [ + 'description' => 'The name of the real-time log delivery task.'."\n", + 'type' => 'string', + 'example' => 'ali-dcdn-log-56', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The reason why the name passed or failed the check.'."\n", + 'type' => 'string', + 'example' => 'project name pass the check', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RealtimeLogProjectExistError', + 'errorMessage' => 'Realtime-log project name already exist.', + 'description' => 'Real-time log entry name already exists', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'EsaService.NotOpen', + 'errorMessage' => 'ESA service has not opend.', + 'description' => 'Edge Security Accelerator (ESA) is not turned on', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\",\\n \\"Check\\": true,\\n \\"ProjectName\\": \\"ali-dcdn-log-56\\",\\n \\"Description\\": \\"project name pass the check\\"\\n}","type":"json"}]', + 'title' => 'CheckUserProjectName', + 'changeSet' => [ + [ + 'createdAt' => '2024-10-18T01:07:11.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-27T05:57:03.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CheckUserProjectName', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CheckUserProjectName', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'CommitRoutineStagingCode' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239216', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + [ + 'name' => 'CodeDescription', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The description of the code version.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'description of this code ver', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'CodeVersion' => [ + 'description' => 'The version number of the newly generated code.'."\n", + 'type' => 'string', + 'example' => '1710120201067203242', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'CodeVersionNumberExceedQuotaLimit', + 'errorMessage' => 'The maximum number of code versions in your plan has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + 'description' => 'The maximum number of code versions in your plan has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + ], + [ + 'errorCode' => 'ParameterNotExist', + 'errorMessage' => 'The specified parameter does not exist. Check your configurations and try again.', + 'description' => 'The specified parameter does not exist. Check your configurations and try again.', + ], + [ + 'errorCode' => 'DependedByOthers', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'RoutineUserServiceStatusHalt', + 'errorMessage' => 'Failed to update the configurations because you have overdue payments.', + 'description' => 'Failed to update the configurations because you have overdue payments.', + ], + [ + 'errorCode' => 'UserOperationStatusIsLocked', + 'errorMessage' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + 'description' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'CommitRoutineStagingCode', + 'summary' => 'Commits the unstable code in the staging environment to generate an official code version.', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-04T05:48:48.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-11-05T06:54:07.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CommitRoutineStagingCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"CodeVersion\\": \\"1710120201067203242\\"\\n}","type":"json"}]', + 'operationType' => 'write', + ], + 'CreateCacheRule' => [ + 'summary' => 'Create a new site cache configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257996', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '340035003106221', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the version for the configuration to take effect. The default is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'BypassCache', + 'in' => 'query', + 'schema' => [ + 'description' => 'Set the bypass cache mode. Possible values:'."\n" + .'- cache_all: Cache all requests.'."\n" + .'- bypass_all: Bypass cache for all requests.', + 'type' => 'string', + 'required' => false, + 'example' => 'cache_all', + 'title' => '', + ], + ], + [ + 'name' => 'BrowserCacheMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Browser cache mode. Possible values:'."\n" + .'- no_cache: Do not cache.'."\n" + .'- follow_origin: Follow the origin server\'s cache policy.'."\n" + .'- override_origin: Override the origin server\'s cache policy.', + 'type' => 'string', + 'required' => false, + 'example' => 'follow_origin', + 'title' => '', + ], + ], + [ + 'name' => 'BrowserCacheTtl', + 'in' => 'query', + 'schema' => [ + 'description' => 'Browser cache expiration time, in seconds.', + 'type' => 'string', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + ], + [ + 'name' => 'EdgeCacheMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Edge cache mode. Possible values:'."\n" + .'- follow_origin: Follow the origin server\'s cache policy (if it exists), otherwise use the default cache policy.'."\n" + .'- no_cache: Do not cache.'."\n" + .'- override_origin: Override the origin server\'s cache policy.'."\n" + .'- follow_origin_bypass: Follow the origin server\'s cache policy (if it exists), otherwise do not cache.', + 'type' => 'string', + 'required' => false, + 'example' => 'follow_origin', + 'title' => '', + ], + ], + [ + 'name' => 'EdgeCacheTtl', + 'in' => 'query', + 'schema' => [ + 'description' => 'Edge cache expiration time, in seconds.', + 'type' => 'string', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + ], + [ + 'name' => 'EdgeStatusCodeCacheTtl', + 'in' => 'query', + 'schema' => [ + 'description' => 'Status code cache expiration time, in seconds.', + 'type' => 'string', + 'required' => false, + 'example' => '4xx=10', + 'title' => '', + ], + ], + [ + 'name' => 'SortQueryStringForCache', + 'in' => 'query', + 'schema' => [ + 'description' => 'Query string sorting, disabled by default. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'QueryStringMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The processing mode for query strings when generating the cache key. Possible values:'."\n" + .'- ignore_all: Ignore all.'."\n" + .'- exclude_query_string: Exclude specified query strings.'."\n" + .'- reserve_all: Default, reserve all.'."\n" + .'- include_query_string: Include specified query strings.', + 'type' => 'string', + 'required' => false, + 'example' => 'reserve_all', + 'title' => '', + ], + ], + [ + 'name' => 'QueryString', + 'in' => 'query', + 'schema' => [ + 'description' => 'Query strings to be reserved or excluded. Multiple values are supported, separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + 'title' => '', + ], + ], + [ + 'name' => 'IncludeHeader', + 'in' => 'query', + 'schema' => [ + 'description' => 'When generating the cache key, add the specified header names and their values. Multiple values are supported, separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + 'title' => '', + ], + ], + [ + 'name' => 'IncludeCookie', + 'in' => 'query', + 'schema' => [ + 'description' => 'When generating the cache key, add the specified cookie names and their values. Multiple values are supported, separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'cookie_exapmle', + 'title' => '', + ], + ], + [ + 'name' => 'CacheReserveEligibility', + 'in' => 'query', + 'schema' => [ + 'description' => 'Cache retention eligibility. Used to control whether user requests bypass the cache retention node when returning to the origin. Possible values:'."\n" + .'- bypass_cache_reserve: Requests bypass cache retention.'."\n" + .'- eligible_for_cache_reserve: Eligible for cache retention.', + 'type' => 'string', + 'required' => false, + 'example' => 'bypass_cache_reserve', + 'title' => '', + ], + ], + [ + 'name' => 'CheckPresenceHeader', + 'in' => 'query', + 'schema' => [ + 'description' => 'When generating the cache key, check if the header exists. If it does, add the header name (case-insensitive) to the cache key. Multiple header names are supported, separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'headername', + 'title' => '', + ], + ], + [ + 'name' => 'CheckPresenceCookie', + 'in' => 'query', + 'schema' => [ + 'description' => 'When generating the cache key, check if the cookie exists. If it does, add the cookie name (case-insensitive) to the cache key. Multiple cookie names are supported, separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'cookiename', + 'title' => '', + ], + ], + [ + 'name' => 'UserDeviceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'When generating the cache key, include the client device type. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'UserGeo', + 'in' => 'query', + 'schema' => [ + 'description' => 'Include the client\'s geographical location when generating the cache key. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'UserLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => 'Include the client\'s language type when generating the cache key. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'ServeStale', + 'in' => 'query', + 'schema' => [ + 'description' => 'Serve stale cache. When enabled, the node can still use the expired cached files to respond to user requests even if the origin server is unavailable. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'AdditionalCacheablePorts', + 'in' => 'query', + 'schema' => [ + 'description' => 'Enable caching on specified ports. Value range: 8880, 2052, 2082, 2086, 2095, 2053, 2083, 2087, 2096', + 'type' => 'string', + 'required' => false, + 'example' => '8880', + 'title' => '', + ], + ], + [ + 'name' => 'CacheDeceptionArmor', + 'in' => 'query', + 'schema' => [ + 'description' => 'Cache deception defense. Used to defend against web cache deception attacks; only the verified cache content will be cached. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller values are executed first.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PostCache', + 'in' => 'query', + 'schema' => [ + 'description' => 'Toggle for the Post cache feature.', + 'title' => 'Toggle for the Post cache feature.', + 'type' => 'string', + 'example' => 'on', + 'required' => false, + ], + ], + [ + 'name' => 'PostBodySizeLimit', + 'in' => 'query', + 'schema' => [ + 'description' => 'Body size limit. The value is a numeric value in KB. Body sizes from 1 KB to 8 KB are supported. If the value is empty, it defaults to 8 KB.', + 'type' => 'string', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PostBodyCacheKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'Processing pattern for the cache key.', + 'title' => 'Processing pattern for the cache key.', + 'type' => 'string', + 'example' => 'ignore', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'."\n", + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\\\n\\",\\n \\"ConfigId\\": 352816096987136\\n}","type":"json"}]', + 'title' => 'Add Site Cache Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateCacheRule', + ], + ], + ], + 'ramActions' => [], + ], + 'CreateClientCertificate' => [ + 'summary' => 'Uses the ESA-managed certificate authority (CA) to issue client certificates.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239158', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'CSR', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate signing request (CSR).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE REQUEST-----', + 'title' => '', + ], + ], + [ + 'name' => 'PkeyType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The type of the private key algorithm.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'RSA', + 'title' => '', + ], + ], + [ + 'name' => 'ValidityDays', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The validity period of the certificate. Unit: day.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '365', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID on ESA.'."\n", + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1d95', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the certificate.'."\n", + 'type' => 'string', + 'example' => 'active', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The certificate content.'."\n", + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + 'PrivateKey' => [ + 'description' => 'The private key of the certificate.'."\n", + 'type' => 'string', + 'example' => '-----BEGIN PRIVATE KEY-----', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-12-01T02:12:49Z', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-12-01T02:12:49Z', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The CA that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'ESA CA', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.'."\n", + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1daa', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'ValidityDays' => [ + 'description' => 'The validity period of the certificate. Unit: day.'."\n", + 'type' => 'string', + 'example' => '365', + 'title' => '', + ], + 'CACertificateId' => [ + 'description' => 'The ID of the CA certificate.'."\n", + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1dbb', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.Function', + 'errorMessage' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + 'description' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\",\\n \\"Id\\": \\"babaded901474b9693acf530e0fb1d95\\",\\n \\"Status\\": \\"active\\",\\n \\"Certificate\\": \\"-----BEGIN CERTIFICATE-----\\",\\n \\"PrivateKey\\": \\"-----BEGIN PRIVATE KEY-----\\",\\n \\"CommonName\\": \\"www.example.com \\",\\n \\"NotBefore\\": \\"2023-12-01T02:12:49Z\\",\\n \\"NotAfter\\": \\"2024-12-01T02:12:49Z\\",\\n \\"Issuer\\": \\"ESA CA\\",\\n \\"SerialNumber\\": \\"babaded901474b9693acf530e0fb1daa\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"ValidityDays\\": \\"365\\",\\n \\"CACertificateId\\": \\"babaded901474b9693acf530e0fb1dbb\\"\\n}","type":"json"}]', + 'title' => 'CreateClientCertificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateClientCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'CreateCompressionRule' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257663', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1231231221***', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the site configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- To match all incoming requests: Set the value to true'."\n" + .'- To match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'Gzip', + 'in' => 'query', + 'schema' => [ + 'description' => 'Gzip compression. Value range:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Brotli', + 'in' => 'query', + 'schema' => [ + 'description' => 'Brotli compression. Value range:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Zstd', + 'in' => 'query', + 'schema' => [ + 'description' => 'Zstd compression. Value range:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller numeric values are executed first. ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Create Compression Rule Configuration', + 'summary' => 'Add a compression rule', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-02-12T02:25:41.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateCompressionRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\",\\n \\"ConfigId\\": 0\\n}","type":"json"}]', + ], + 'CreateCustomHostname' => [ + 'summary' => 'Creates a Software as a Service (SaaS) domain name for a site.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239598', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4DMKZ4', + ], + ], + 'parameters' => [ + [ + 'name' => 'Hostname', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The Software as a Service (SaaS) domain name.', + 'type' => 'string', + 'required' => true, + 'title' => '', + 'example' => 'custom.site.com', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the site. To obtain the site ID, call the [ListSites](~~2850189~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'title' => '', + 'example' => '1234567890123', + ], + ], + [ + 'name' => 'RecordId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the record to attach. To obtain the record ID, call the [ListRecords](~~2850265~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'title' => '', + 'example' => '1234567890123', + ], + ], + [ + 'name' => 'SslFlag', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The SSL switch.'."\n" + ."\n" + .'- **on**: Enables SSL.'."\n" + ."\n" + .'- **off**: Disables SSL.', + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + 'example' => 'on', + ], + ], + [ + 'name' => 'CertType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate type. This parameter is required when SslFlag is set to on.'."\n" + ."\n" + .'- **free**: free certificate.'."\n" + ."\n" + .'- **upload**: uploaded certificate.'."\n" + ."\n" + .'- **cas**: Alibaba Cloud Security certificate.', + 'type' => 'string', + 'enum' => [ + 'free', + 'upload', + 'cas', + ], + 'title' => '', + 'required' => false, + 'example' => 'free', + ], + ], + [ + 'name' => 'Certificate', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The content of the certificate. This parameter is required when CertType is set to upload.', + 'type' => 'string', + 'title' => '', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE-----', + ], + ], + [ + 'name' => 'PrivateKey', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The private key of the certificate. This parameter is required when CertType is set to upload.', + 'type' => 'string', + 'title' => '', + 'required' => false, + 'example' => '-----BEGIN PRIVATE KEY-----', + ], + ], + [ + 'name' => 'CasId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud Security certificate. This parameter is required when CertType is set to cas.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'required' => false, + 'example' => '30000478'."\n", + ], + ], + [ + 'name' => 'CasRegion', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The region of the Alibaba Cloud Security certificate. This parameter is required when CertType is set to cas.'."\n" + ."\n" + .'- For accounts on the Alibaba Cloud China Website (www\\.aliyun.com), set this parameter to cn-hangzhou.'."\n" + ."\n" + .'- For accounts on the Alibaba Cloud International Website (www\\.alibabacloud.com), set this parameter to ap-southeast-1.', + 'type' => 'string', + 'title' => '', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The unique request ID, generated by Alibaba Cloud.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + 'HostnameId' => [ + 'description' => 'The ID of the SaaS domain name.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'example' => '1234567890123', + ], + 'Hostname' => [ + 'description' => 'The SaaS domain name.', + 'type' => 'string', + 'title' => '', + 'example' => 'custom.site.com', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'CustomHostname.ConflictWithExistingResource', + 'errorMessage' => 'The custom hostname conflicts with existing resources, such as sites, records, load balancers, source address pools, custom hostnames and Layer 4 proxy records.', + 'description' => 'The custom hostname conflicts with existing resources, such as sites, records, load balancers, source address pools, custom hostnames and Layer 4 proxy records.', + ], + [ + 'errorCode' => 'QuotaExceed.CustomHostname', + 'errorMessage' => 'The number of custom hostnames exceeds the plan quota. Contact the sales team to increase your quota.', + 'description' => 'The number of custom hostnames exceeds the plan quota. Contact the sales team to increase your quota.', + ], + [ + 'errorCode' => 'CustomHostname.ApplyCertFailed', + 'errorMessage' => 'Fail to apply a free cert for custom hostname. Please try again later.', + 'description' => 'Fail to apply a free cert for custom hostname. Please try again later.', + ], + [ + 'errorCode' => 'CustomHostname.SetCertFailed', + 'errorMessage' => 'Fail to deploy a cert for custom hostname. Please try again later.', + 'description' => 'Fail to deploy a cert for custom hostname. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'CreateCustomHostname', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"HostnameId\\": 1234567890123,\\n \\"Hostname\\": \\"custom.site.com\\"\\n}","type":"json"}]', + ], + 'CreateCustomResponseCodeRule' => [ + 'summary' => 'Add a custom response code configuration for a site.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257646', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID. Call the [ListSites](~~2850189~~) API to get it.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '805864735361584', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site configuration version number. For sites with version management enabled, use this parameter to specify the site version where the configuration takes effect. The default is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. Do not set this parameter when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. Do not set this parameter when adding a global configuration. Valid values:'."\n" + ."\n" + .'- on: Enable.'."\n" + ."\n" + .'- off: Disable.', + 'type' => 'string', + 'enum' => [ + 'on', + 'off', + ], + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content. Use a conditional expression to match user requests. Do not set this parameter when adding a global configuration. There are two scenarios:'."\n" + ."\n" + .'- Match all incoming requests: Set the value to true.'."\n" + ."\n" + .'- Match specific requests: Set the value to a custom expression, such as: (http.host eq "video.example.com").', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. A smaller value indicates higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'ReturnCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Response code.', + 'type' => 'string', + 'required' => false, + 'example' => '400', + 'title' => '', + ], + ], + [ + 'name' => 'PageId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Response page.', + 'type' => 'string', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'C2B2F8CF-3074-5BBC-891A-AAD292E2624F', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3528160969****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'InvalidValOfDelHeader', + 'errorMessage' => 'The delete header operation does not support setting value.', + 'description' => 'The delete header operation does not support setting value.', + ], + [ + 'errorCode' => 'SiteFunction.WafPageNotExist', + 'errorMessage' => 'The custom page referenced in the custom response code configuration does not exist.', + 'description' => 'The custom page referenced in the custom response code configuration does not exist.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'CreateCustomResponseCodeRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C2B2F8CF-3074-5BBC-891A-AAD292E2624F\\",\\n \\"ConfigId\\": 0\\n}","type":"json"}]', + ], + 'CreateCustomScenePolicy' => [ + 'summary' => 'Create a user-level scenario-specific policy and associate it with sites to execute the corresponding policy.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239252', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The policy name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test', + 'maxLength' => 255, + 'title' => '', + ], + ], + [ + 'name' => 'Template', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the policy template. Valid value:'."\n" + ."\n" + .'* **promotion**: major events.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'promotion', + 'enum' => [ + 'promotion', + ], + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time when the policy takes effect.'."\n" + ."\n" + .'The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2021-11-07T17:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time when the policy expires.'."\n" + ."\n" + .'The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '2021-11-07T18:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'Objects', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of the websites that you want to associate with the policy. Separate multiple IDs with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '7096621098****,7096621099****'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'SiteIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site IDs to associate. Separate multiple site IDs with English commas (",").', + 'type' => 'string', + 'required' => false, + 'example' => '7096621098****,7096621099****'."\n", + 'title' => '', + ], + ], + ], + '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' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'Name' => [ + 'description' => 'The policy name.'."\n", + 'type' => 'string', + 'example' => 'test', + 'title' => '', + ], + 'Template' => [ + 'description' => 'The name of the policy template.'."\n", + 'type' => 'string', + 'example' => 'promotion', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The time when the policy takes effect.'."\n" + ."\n" + .'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' => '2021-11-07T17:00:00Z', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The time when the policy expires.'."\n" + ."\n" + .'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' => '2021-11-07T18:00:00Z', + 'title' => '', + ], + 'Objects' => [ + 'description' => 'The IDs of websites associated.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'string', + 'example' => '7096621098****', + 'title' => '', + ], + 'enumValueTitles' => [], + 'title' => '', + 'example' => '', + ], + 'PolicyId' => [ + 'description' => 'The policy ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'SiteIds' => [ + 'description' => 'Associated site IDs. Separate multiple site IDs with commas (",").', + 'type' => 'string', + 'example' => '7096621098****, 7096621099****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'PolicyNameExist', + 'errorMessage' => 'The policy name already exists.', + 'description' => 'Policy name already exists.', + ], + [ + 'errorCode' => 'CreateTimeError', + 'errorMessage' => 'The effective time of the same policy template cannot overlap.', + 'description' => 'The effective time of the same policy template cannot overlap.', + ], + [ + 'errorCode' => 'ScenePolicyQuotaExceedLimit', + 'errorMessage' => 'The maximum number of scenario policies has been reached. Each account can create up to 10 scenario policies.', + 'description' => 'The maximum number of scenario policies has been reached. Each account can create up to 10 scenario policies.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Create Scenario-specific Policy', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-03T09:31:40.000Z', + 'description' => 'Request parameters changed, Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateCustomScenePolicy', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateCustomScenePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"Name\\": \\"test\\",\\n \\"Template\\": \\"promotion\\",\\n \\"StartTime\\": \\"2021-11-07T17:00:00Z\\",\\n \\"EndTime\\": \\"2021-11-07T18:00:00Z\\",\\n \\"Objects\\": [\\n \\"7096621098****\\"\\n ],\\n \\"PolicyId\\": 1,\\n \\"SiteIds\\": \\"7096621098****, 7096621099****\\"\\n}","type":"json"}]', + ], + 'CreateEdgeContainerApp' => [ + 'summary' => 'Creates a containerized application. You can deploy and release a version of the application across points of presence (POPs).', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239242', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the application. The name must start with a lowercase letter and can contain lowercase letters, digits, and hyphens (-). The name must be 6 to 128 characters in length.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-test', + 'maxLength' => 128, + 'minLength' => 6, + 'title' => '', + ], + ], + [ + 'name' => 'ServicePort', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The server port. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '443', + 'minimum' => '80', + 'example' => '80', + 'title' => '', + ], + ], + [ + 'name' => 'TargetPort', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The backend port, which is also the service port of the application. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '65535', + 'minimum' => '1', + 'example' => '80', + 'title' => '', + ], + ], + [ + 'name' => 'Remarks', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The remarks. This parameter is empty by default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test app', + 'maxLength' => 1024, + 'title' => '', + ], + ], + [ + 'name' => 'HealthCheckType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The health check type. By default, this parameter is left empty.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* **l4**: Layer 4 health check.'."\n" + .'* **l7**: Layer 7 health check.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'l7', + 'default' => 'l7', + 'title' => '', + ], + ], + [ + 'name' => 'HealthCheckHost', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The domain name that is used for health checks. This parameter is empty by default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'www.aliyun.com', + 'title' => '', + ], + ], + [ + 'name' => 'HealthCheckHttpCode', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The HTTP status code returned for a successful health check. Valid values:'."\n" + ."\n" + .'* **http\\_2xx** (default)'."\n" + .'* **http\\_3xx**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http_2xx', + 'default' => 'http_2xx', + 'title' => '', + ], + ], + [ + 'name' => 'HealthCheckMethod', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The HTTP request method for health checks. Valid values:'."\n" + ."\n" + .'* **HEAD** (default): requests the headers of the resource.'."\n" + .'* **GET**: requests the specified resource and returns both the headers and entity body.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'HEAD', + 'default' => 'HEAD', + 'title' => '', + ], + ], + [ + 'name' => 'HealthCheckURI', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The URI used for health checks. The URI must be **1** to **80** characters in length. Default value: "/".'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/health_check', + 'title' => '', + ], + ], + [ + 'name' => 'HealthCheckPort', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The port used for health checks. Valid values: 1 to 65535. Default value: 80.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + 'title' => '', + ], + ], + [ + 'name' => 'HealthCheckTimeout', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The timeout period of a health check response. If a backend ECS instance does not respond within the specified timeout period, the ECS instance fails the health check. Unit: seconds.\\'."\n" + .'Valid values: **1** to **100**.\\'."\n" + .'Default value: **3**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + 'title' => '', + ], + ], + [ + 'name' => 'HealthCheckInterval', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The interval between two consecutive health checks. Unit: seconds. Valid values: **1** to **50**. Default value: **5**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + 'title' => '', + ], + ], + [ + 'name' => 'HealthCheckSuccTimes', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of consecutive successful health checks required for an application to be considered as healthy. Valid values: 1 to 10. Default value: 2.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + 'title' => '', + ], + ], + [ + 'name' => 'HealthCheckFailTimes', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of consecutive failed health checks required for an application to be considered as unhealthy. Valid values: 1 to 10. Default value: 5.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'AppId' => [ + 'description' => 'The ID of the application that is created.'."\n", + 'type' => 'string', + 'example' => 'app-880688675783794688', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.HealthCheckType', + 'errorMessage' => 'Specified parameter HealthCheckType is not valid.', + 'description' => 'Parameter HealthCheckType format is incorrect.', + ], + [ + 'errorCode' => 'InvalidParameter.HealthCheckHost', + 'errorMessage' => 'Specified parameter HealthCheckHost is not valid.', + 'description' => 'Parameter HealthCheckHost format is incorrect.', + ], + [ + 'errorCode' => 'InvalidParameter.HealthCheckHttpCode', + 'errorMessage' => 'Specified parameter HealthCheckHttpCode is not valid.', + 'description' => 'Parameter HealthCheckHttpCode format is incorrect.', + ], + [ + 'errorCode' => 'InvalidParameter.HealthCheckMethod', + 'errorMessage' => 'Specified parameter HealthCheckMethod is not valid.', + 'description' => 'Parameter HealthCheckMethod format is incorrect.', + ], + [ + 'errorCode' => 'InvalidParameter.HealthCheckURI', + 'errorMessage' => 'Specified parameter HealthCheckURI is not valid.', + 'description' => 'Parameter HealthCheckURI format is incorrect.', + ], + [ + 'errorCode' => 'InvalidParameter.HealthCheckInterval', + 'errorMessage' => 'Specified parameter HealthCheckInterval is not valid.', + 'description' => 'Parameter HealthCheckInterval format is incorrect.', + ], + [ + 'errorCode' => 'InvalidParameter.HealthCheckTimeout', + 'errorMessage' => 'Specified parameter HealthCheckTimeout is not valid.', + 'description' => 'Parameter HealthCheckTimeout format is incorrect.', + ], + [ + 'errorCode' => 'InvalidParameter.HealthCheckSuccTimes', + 'errorMessage' => 'Specified parameter HealthCheckSuccTimes is not valid.', + 'description' => 'Parameter HealthCheckHost format is incorrect.', + ], + [ + 'errorCode' => 'InvalidParameter.HealthCheckFailTimes', + 'errorMessage' => 'Specified parameter HealthCheckFailTimes is not valid.', + 'description' => 'Parameter HealthCheckFailTimes format is incorrect.', + ], + [ + 'errorCode' => 'InvalidParameter.HealthCheckPort', + 'errorMessage' => 'Specified parameter HealthCheckPort is not valid.', + 'description' => 'Parameter HealthCheckPort format is incorrect.', + ], + [ + 'errorCode' => 'InvalidParameter.PageNumber', + 'errorMessage' => 'Failed to verify parameter PageNumber.Check whether the parameter exists and is set to a positive integer.', + 'description' => 'Failed to verify parameter PageNumber.Check whether the parameter exists and is set to a positive integer.', + ], + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'NameAlreadyExists', + 'errorMessage' => 'The name already exists.', + 'description' => 'Name already exists.', + ], + [ + 'errorCode' => 'ParamNameError', + 'errorMessage' => 'The Name parameter is invalid.', + 'description' => 'The Name parameter is illegal.'."\n", + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AppId\\": \\"app-880688675783794688\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'CreateEdgeContainerApp', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateEdgeContainerApp', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateEdgeContainerApp', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'CreateEdgeContainerAppImageSecret' => [ + 'summary' => 'Create an image secret for the edge container application', + 'path' => '', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Application ID, which can be obtained using the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) interface.', + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'title' => '', + ], + ], + [ + 'name' => 'Registry', + 'in' => 'query', + 'schema' => [ + 'description' => 'Image repository address.', + 'type' => 'string', + 'required' => true, + 'example' => 'cr-cn-shanghai.edas.aliyuncs.com', + 'title' => '', + ], + ], + [ + 'name' => 'Username', + 'in' => 'query', + 'schema' => [ + 'description' => 'Image repository username.', + 'type' => 'string', + 'required' => true, + 'example' => 'admin', + 'title' => '', + ], + ], + [ + 'name' => 'Password', + 'in' => 'query', + 'schema' => [ + 'description' => 'Image repository password.', + 'type' => 'string', + 'required' => true, + 'example' => '***', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InvalidParameter.Appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the input application ID is incorrect. You can use the ListEdgeContainerApps API to obtain the application ID.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Create Edge Container Application Image Secret', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\"\\n}","type":"json"}]', + ], + 'CreateEdgeContainerAppRecord' => [ + 'summary' => 'Associates a domain name with a containerized application. This way, requests destined for the associated domain name are forwarded to the application.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239304', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The application ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'maxLength' => 64, + 'minLength' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5407498413****', + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The associated domain name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'a.example.com', + 'maxLength' => 1024, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'ParameterAlreadyExist', + 'errorMessage' => 'Parameter uniqueness verification failed. Check for duplicate parameter values.', + 'description' => 'Parameter uniqueness verification failed. Check for duplicate parameter values.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'CreateEdgeContainerAppRecord', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateEdgeContainerAppRecord', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateEdgeContainerAppRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'CreateEdgeContainerAppVersion' => [ + 'summary' => 'Creates a version for a containerized application. You can iterate the application based on the version.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239192', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'maxLength' => 64, + 'minLength' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The version name, which must be 6 to 128 characters in length.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'verson1', + 'maxLength' => 128, + 'minLength' => 6, + 'title' => '', + ], + ], + [ + 'name' => 'Remarks', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The description of the version.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test app', + 'maxLength' => 1024, + 'title' => '', + ], + ], + [ + 'name' => 'Containers', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The container group to be deployed for this version, which contains information about images.\\'."\n" + .'The image data contains the image address, startup command, parameters, environment variables, and probe rules. You can specify one or more images. The parameter value is a JSON string.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the container.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the container. The name must be unique in the same container group.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'lxg-demo-er', + 'title' => '', + ], + 'Image' => [ + 'description' => 'The address of the image.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'registry-vpc.cn-shenzhen.aliyuncs.com/lihe****h/ea****ts_serv****am:3.**', + 'title' => '', + ], + 'IsACRImage' => [ + 'description' => 'Specifies whether the image is a Container Registry image.'."\n", + 'type' => 'boolean', + 'required' => true, + 'example' => 'false', + 'title' => '', + ], + 'ACRImageInfo' => [ + 'description' => 'The information about the Container Registry image.'."\n", + 'type' => 'object', + 'properties' => [ + 'IsEnterpriseRegistry' => [ + 'description' => 'Specifies whether the image is an enterprise-level Container Registry image.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'title' => '', + ], + 'Domain' => [ + 'description' => 'The domain name of the Container Registry image.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1500.***.net', + 'title' => '', + ], + 'InstanceId' => [ + 'description' => 'The ID of the Container Registry instance.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'xcdn-9axbo****', + 'title' => '', + ], + 'RegionId' => [ + 'description' => 'The regions in which the Container Registry instance resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-shanghai', + 'title' => '', + ], + 'RepoId' => [ + 'description' => 'The ID of the image repository.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'crr-h1ghghu60ct****', + 'title' => '', + ], + 'RepoName' => [ + 'description' => 'The name of the image repository.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test_71', + 'title' => '', + ], + 'RepoNamespace' => [ + 'description' => 'The namespace to which the image repository belongs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'safeline', + 'title' => '', + ], + 'Tag' => [ + 'description' => 'The tag of the Container Registry image.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '3.40.2', + 'title' => '', + ], + 'TagUrl' => [ + 'description' => 'The URL of the Container Registry image tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'registry-vpc.cn-shenzhen.aliyuncs.com/****/eas***m:31', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Spec' => [ + 'description' => 'The compute specification of the container. Valid values: 1C2G, 2C4G, 2C8G, 4C8G, 4C16G, 8C16G, and 8C32G.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '1C2G', + 'title' => '', + ], + 'Command' => [ + 'description' => 'The command that is used to start the container. Separate the arguments with spaces.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'nginx', + 'title' => '', + ], + 'Args' => [ + 'description' => 'The arguments that are passed to the container startup command. Separate the parameters with spaces.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '-a', + 'title' => '', + ], + 'Storage' => [ + 'description' => 'The storage capacity. Valid values: 0.5G, 10G, 20G, and 30G.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '0.5G', + 'title' => '', + ], + 'EnvVariables' => [ + 'description' => 'The environment variables. Separate the environment variables with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VITE_APP_TITLE=My App', + 'title' => '', + ], + 'PostStart' => [ + 'description' => 'The command that is run before the container is started. Separate the arguments with spaces.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sh poststart.sh "echo hello world" ', + 'title' => '', + ], + 'PreStop' => [ + 'description' => 'The command that is run before the container is stopped. Separate the arguments with spaces.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sh prestop.sh "echo hello world" ', + 'title' => '', + ], + 'ProbeType' => [ + 'description' => 'The type of the probe. Valid values:'."\n" + ."\n" + .'* exec: the command type.'."\n" + .'* tcpSocket: the TCP probe type.'."\n" + .'* httpGet: the HTTP access type.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'exec', + 'title' => '', + ], + 'ProbeContent' => [ + 'description' => 'The content of the container health probe.'."\n", + 'type' => 'object', + 'properties' => [ + 'InitialDelaySeconds' => [ + 'description' => 'The latency for container probe initialization.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'TimeoutSeconds' => [ + 'description' => 'The timeout period of the container health check.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'PeriodSeconds' => [ + 'description' => 'The interval between container health checks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'SuccessThreshold' => [ + 'description' => 'The number of consecutive successful health checks required for a container to be considered as healthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'FailureThreshold' => [ + 'description' => 'The number of consecutive failed health checks required for a container to be considered as unhealthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + 'title' => '', + ], + 'Command' => [ + 'title' => '', + 'description' => 'The command of the exec type probe.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'echo ok', + ], + 'Port' => [ + 'description' => 'The health check port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '9991', + 'title' => '', + ], + 'Host' => [ + 'description' => 'The domain name that is used for health checks.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'www.rewrite.com', + 'title' => '', + ], + 'Path' => [ + 'description' => 'The health check path.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/', + 'title' => '', + ], + 'Scheme' => [ + 'description' => 'The protocol that the container health check request uses.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http', + 'title' => '', + ], + 'HttpHeaders' => [ + 'description' => 'The request headers that are included in the container health check request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '[{\\"Content-Type\\":\\"application/json\\"}]', + 'title' => '', + ], + ], + 'required' => true, + 'example' => '具体字段可参照k8s官方就绪探针的定义。', + 'title' => '', + ], + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'example' => '['."\n" + .' {'."\n" + .' "Name": "container1",'."\n" + .' "Image": "image1",'."\n" + .' "Spec": "1C2G",'."\n" + .' "Command": "/bin/sh",'."\n" + .' "Args": "-c hello",'."\n" + .' "ProbeType": "tcpSocket",'."\n" + .' "ProbeContent": "{\\"Port\\":8080}"'."\n" + .' },'."\n" + .' {'."\n" + .' "Name": "container2",'."\n" + .' "Image": "image2",'."\n" + .' "Spec": "2C4G",'."\n" + .' "ProbeType": "httpGet",'."\n" + .' "ProbeContent": "{\\"Path\\":\\"/\\",\\"Port\\":80,\\"InitialDelaySeconds\\":10}"'."\n" + .' }'."\n" + .']', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'VersionId' => [ + 'description' => 'The ID of the created version.'."\n", + 'type' => 'string', + 'example' => 'ver-87962637161651****', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.Name', + 'errorMessage' => 'The specified Name is invalid. Please check the Name parameter, which must be between 6 and 128 characters. Kindly make the necessary modifications and call the interface again.', + 'description' => 'The Name parameter is not valid. Check the Name parameter, which is between 6 and 128 characters. After modification, call the interface again.', + ], + [ + 'errorCode' => 'InvalidParameter.Percentage', + 'errorMessage' => 'The Percentage parameter is invalid. Please check the Percentage parameter, which should be in the range of 1-100. Modify it accordingly and call the interface again.', + 'description' => 'The Percentage parameter is invalid. Check the Percentage parameter. The parameter range is 1-100. Modify the parameter and call the interface again.', + ], + [ + 'errorCode' => 'InvalidParameter.Image', + 'errorMessage' => 'The specified Image is invalid. Please check the Image parameter and make the necessary modifications and call the interface again.', + 'description' => 'Illegal Image parameter. Please check the Image parameter, which cannot be assigned to illegal characters such @.', + ], + [ + 'errorCode' => 'InvalidParameter.HttpHeaders', + 'errorMessage' => 'The specified HttpHeaders is invalid. Please check the HttpHeaders parameter. Please make the necessary changes and call the interface again.', + 'description' => 'The HttpHeaders parameter is invalid. Please check whether the HttpHeaders parameter is filled in. The parameter cannot contain @.', + ], + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'ParameterAlreadyExist', + 'errorMessage' => 'Parameter uniqueness verification failed. Check for duplicate parameter values.', + 'description' => 'Parameter uniqueness verification failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'NameAlreadyExists', + 'errorMessage' => 'The name already exists.', + 'description' => 'Name already exists.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"VersionId\\": \\"ver-87962637161651****\\",\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'CreateEdgeContainerAppVersion', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateEdgeContainerAppVersion', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateEdgeContainerAppVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'CreateHttpIncomingRequestHeaderModificationRule' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257646', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '478016908379824', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the website configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule name. You do not need to set this parameter when you add global configuration.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the rule. Valid values: You do not need to set this parameter when you add global configuration. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content of the rule. A conditional expression is used to match a user request. You do not need to set this parameter when you add global configuration. Use cases:'."\n" + ."\n" + .'* true: Match all incoming requests.'."\n" + .'* Set the value to a custom expression, for example: (http.host eq "video.example.com"): Match the specified request'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'RequestHeaderModification', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations of modifying request headers. You can add, delete, or modify a request header.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of modifying a request header.'."\n", + 'type' => 'object', + 'properties' => [ + 'Operation' => [ + 'description' => 'The action. Valid values:'."\n" + ."\n" + .'* add: adds a response header.'."\n" + .'* del: deletes a response header.'."\n" + .'* modify: modifies a response header.'."\n", + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'add', + 'modify', + 'del', + ], + 'example' => 'add', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The name of the request header.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'headername'."\n", + 'title' => '', + ], + 'Value' => [ + 'description' => 'The value of the request header.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'headvalue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of the value. Valid values:'."\n" + ."\n" + .'* static'."\n" + .'* dynamic'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'static', + 'dynamic', + ], + 'example' => 'static', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'The order in which the rule is executed. A smaller value gives priority to the rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '7C414690-9D7B-5D66-9CD9-AD0B3F25ED49', + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'InvalidValOfDelHeader', + 'errorMessage' => 'The delete header operation does not support setting value.', + 'description' => 'The delete header operation does not support setting value.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'CreateHttpIncomingRequestHeaderModificationRule', + 'summary' => 'Adds the configuration of modifying HTTP request headers for a website.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7C414690-9D7B-5D66-9CD9-AD0B3F25ED49\\",\\n \\"ConfigId\\": 0\\n}","type":"json"}]', + ], + 'CreateHttpIncomingResponseHeaderModificationRule' => [ + 'summary' => 'Adds the configuration of modifying HTTP response headers for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257651', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '608665779308176', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the website configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule name. You do not need to set this parameter when you add global configuration.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the rule. Valid values: You do not need to set this parameter when you add global configuration. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content of the rule. A conditional expression is used to match a user request. You do not need to set this parameter when you add global configuration. Use cases:'."\n" + ."\n" + .'* true: Match all incoming requests.'."\n" + .'* Set the value to a custom expression, for example: (http.host eq "video.example.com"): Match the specified request'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'ResponseHeaderModification', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations of modifying response headers. You can add, delete, or modify a response header.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of modifying a response header.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the response header.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'headerName', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'The action. Valid values:'."\n" + ."\n" + .'* add: adds a response header.'."\n" + .'* del: deletes a response header.'."\n" + .'* modify: modifies a response header.'."\n", + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'add', + 'modify', + 'del', + ], + 'example' => 'add', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The value of the response header.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'headerValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of the value. Valid values:'."\n" + ."\n" + .'* static'."\n" + .'* dynamic'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'static', + 'dynamic', + ], + 'example' => 'static', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'The order in which the rule is executed. A smaller value gives priority to the rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '156A6B-677B1A-4297B7-9187B7-2B44792', + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '434497172875264', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'InvalidValOfDelHeader', + 'errorMessage' => 'The delete header operation does not support setting value.', + 'description' => 'The delete header operation does not support setting value.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'CreateHttpIncomingResponseHeaderModificationRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\",\\n \\"ConfigId\\": 434497172875264\\n}","type":"json"}]', + ], + 'CreateHttpRequestHeaderModificationRule' => [ + 'summary' => 'Add HTTP Request Header Rule', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257646', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '5407498413****', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, this parameter can specify the version to which the configuration applies, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- To match all incoming requests: Set the value to true'."\n" + .'- To match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'RequestHeaderModification', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Modify request headers, supporting add, delete, and modify operations.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the request header modification.', + 'type' => 'object', + 'properties' => [ + 'Operation' => [ + 'description' => 'Operation type. Possible values:'."\n" + ."\n" + .'- add: Add.'."\n" + .'- del: Delete'."\n" + .'- modify: Modify.', + 'type' => 'string', + 'required' => true, + 'example' => 'add', + 'enum' => [ + 'add', + 'modify', + 'del', + ], + 'title' => '', + ], + 'Name' => [ + 'description' => 'Request header name.', + 'type' => 'string', + 'required' => true, + 'example' => 'headername'."\n", + 'title' => '', + ], + 'Value' => [ + 'description' => 'Request header value.', + 'type' => 'string', + 'required' => false, + 'example' => 'headervalue'."\n", + 'title' => '', + ], + 'Type' => [ + 'description' => 'Value type. Valid values:'."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.'."\n", + 'type' => 'string', + 'enum' => [ + 'static', + 'dynamic', + ], + 'required' => false, + 'example' => 'static', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller numeric values are executed first.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response result of the request.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'InvalidValOfDelHeader', + 'errorMessage' => 'The delete header operation does not support setting value.', + 'description' => 'The delete header operation does not support setting value.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Create or Modify HTTP Request Header Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:38.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:49.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateHttpRequestHeaderModificationRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\",\\n \\"ConfigId\\": 0\\n}","type":"json"}]', + ], + 'CreateHttpResponseHeaderModificationRule' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257651', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID. You can obtain this by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456******', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the version of the site where the configuration will take effect. The default is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- To match all incoming requests: Set the value to true'."\n" + .'- To match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'ResponseHeaderModification', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Modify response headers, supporting add, delete, and modify operations.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the response header modification.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'Response header name.', + 'type' => 'string', + 'required' => true, + 'example' => 'headername', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'Operation type. Possible values:'."\n" + ."\n" + .'- add: Add.'."\n" + .'- del: Delete'."\n" + .'- modify: Modify.', + 'type' => 'string', + 'required' => true, + 'example' => 'add', + 'enum' => [ + 'add', + 'modify', + 'del', + ], + 'title' => '', + ], + 'Value' => [ + 'description' => 'Response header value.', + 'type' => 'string', + 'required' => false, + 'example' => 'headervalue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'Value Type. Valid values:'."\n" + .'- static: Static pattern.'."\n" + .'- dynamic: Dynamic pattern.', + 'type' => 'string', + 'enum' => [ + 'static', + 'dynamic', + ], + 'required' => false, + 'example' => 'static', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller numeric values are executed first.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'InvalidValOfDelHeader', + 'errorMessage' => 'The delete header operation does not support setting value.', + 'description' => 'The delete header operation does not support setting value.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Create or Modify HTTP Response Header Configuration', + 'summary' => 'Add HTTP Response Header Rule', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:39.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateHttpResponseHeaderModificationRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"ConfigId\\": 0\\n}","type":"json"}]', + ], + 'CreateHttpsApplicationConfiguration' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257997', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, this parameter can specify the version to which the configuration applies, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")', + 'title' => '', + ], + ], + [ + 'name' => 'HttpsForce', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable forced HTTPS, default is disabled. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'HttpsForceCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Forced HTTPS redirect status code. Possible values:'."\n" + .'- 301'."\n" + .'- 302'."\n" + .'- 307'."\n" + .'- 308', + 'type' => 'string', + 'required' => false, + 'example' => '301', + 'title' => '', + ], + ], + [ + 'name' => 'AltSvc', + 'in' => 'query', + 'schema' => [ + 'description' => 'Alt-Svc feature switch, default is disabled. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'AltSvcClear', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether the Alt-Svc header includes the clear parameter, default is disabled. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'AltSvcPersist', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether the Alt-Svc header includes the persist parameter, default is disabled. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'AltSvcMa', + 'in' => 'query', + 'schema' => [ + 'description' => 'Alt-Svc validity period in seconds, default is 86400 seconds.', + 'type' => 'string', + 'required' => false, + 'example' => '86400', + 'title' => '', + ], + ], + [ + 'name' => 'Hsts', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HSTS, default is disabled. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'HstsMaxAge', + 'in' => 'query', + 'schema' => [ + 'description' => 'HSTS expiration time in seconds.', + 'type' => 'string', + 'required' => false, + 'example' => '3600', + 'title' => '', + ], + ], + [ + 'name' => 'HstsIncludeSubdomains', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to include subdomains in HSTS, default is disabled. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'HstsPreload', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HSTS preload, default is disabled. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. A smaller numeric value indicates higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'HttpsSniVerify', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable SNI validation. Disabled by default. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'HttpsNoSniDeny', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to deny TLS handshake requests without Server Name Indication (SNI). By default, this feature is disabled. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'HttpsSniWhitelist', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies the allowed SNI whitelist. Multiple entries are separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'abc edf', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Add Site HTTPS Application Configuration', + 'summary' => 'Create a new site HTTPS application configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-03T07:09:13.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateHttpsApplicationConfiguration', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ConfigId\\": 352816096987136\\n}","type":"json"}]', + ], + 'CreateHttpsBasicConfiguration' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257999', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '5407498413****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'Https', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HTTPS. Default is enabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Tls10', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable TLS1.0. Default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Tls11', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable TLS1.1. Default is enabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Tls12', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable TLS1.2. Default is enabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Tls13', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable TLS1.3. Default is enabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'CiphersuiteGroup', + 'in' => 'query', + 'schema' => [ + 'description' => 'Cipher suite group. Default uses all cipher suites. Value range:'."\n" + .'- all: All cipher suites.'."\n" + .'- strict: Strong cipher suites.'."\n" + .'- custom: Custom cipher suites.', + 'type' => 'string', + 'required' => false, + 'example' => 'all', + 'title' => '', + ], + ], + [ + 'name' => 'Ciphersuite', + 'in' => 'query', + 'schema' => [ + 'description' => 'Custom cipher suite, indicating the specific encryption algorithm selected when CiphersuiteGroup is set to custom.', + 'type' => 'string', + 'required' => false, + 'example' => 'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256', + 'title' => '', + ], + ], + [ + 'name' => 'OcspStapling', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable OCSP. Default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Http2', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HTTP2. Default is enabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Http3', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HTTP3. Default is enabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. A smaller numeric value indicates higher priority. ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Add Site HTTPS Basic Configuration', + 'summary' => 'Create a new site HTTPS basic configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateHttpsBasicConfiguration', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ConfigId\\": 352816096987136\\n}","type":"json"}]', + ], + 'CreateImageTransform' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257352', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the site configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Indicates whether image transformation is enabled. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- To match all incoming requests: Set the value to true'."\n" + .'- To match specific requests: Set the value to a custom expression, for example: (http.host eq "video.example.com")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.request.uri.path.file_name eq \\"jpg\\")', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller numeric values are executed first.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Add Site Image Transformation Configuration', + 'summary' => 'Add Site Image Transformation Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateImageTransform', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"ConfigId\\": 352816096987136\\n}","type":"json"}]', + ], + 'CreateKvNamespace' => [ + 'summary' => 'Create a namespace in your Alibaba Cloud account.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238788', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the namespace.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namespace', + 'title' => '', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The description of the namespace.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'this is a test namespace.', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the namespace. Valid values:'."\n" + ."\n" + .'* **online**: working as expected.'."\n" + .'* **delete**: pending deletion.'."\n" + .'* **deleting**: being deleted.'."\n" + .'* **deleted**: deleted.'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + 'Namespace' => [ + 'description' => 'The name of the namespace.'."\n", + 'type' => 'string', + 'example' => 'test_namespace', + 'maxLength' => 64, + 'pattern' => '^[0-9a-zA-Z_-]+$', + 'title' => '', + ], + 'NamespaceId' => [ + 'description' => 'The ID of the namespace.'."\n", + 'type' => 'string', + 'example' => '657717877171818496', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The description of the namespace.'."\n", + 'type' => 'string', + 'example' => 'this is a test namespace.', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidResource', + 'errorMessage' => 'Resource authentication failed.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum storage capacity of the Edge KV namespace has been reached. Delete unwanted key-value pairs to save the storage.', + 'description' => 'The maximum storage capacity of the Edge KV namespace has been reached. Delete unwanted key-value pairs to save the storage.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + [ + 'errorCode' => 'InvalidKey.QuotaFull', + 'errorMessage' => 'The total number of IP exceeds the quota.', + 'description' => 'The total number of ip addresses exceeds the quota.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'CreateKvNamespace', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-03T01:43:48.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateKvNamespace', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateKvNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"online\\",\\n \\"Namespace\\": \\"test_namespace\\",\\n \\"NamespaceId\\": \\"657717877171818496\\",\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"Description\\": \\"this is a test namespace.\\"\\n}","type":"json"}]', + ], + 'CreateList' => [ + 'summary' => 'Creates a list. Lists are used for the referencing of values in the rules engine to implement complex logic and control in security policies.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239651', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The name of the list that you want to create.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example', + ], + ], + [ + 'name' => 'Kind', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The type of the list that you want to create.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ip', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The description of the list that you want to create.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'a custom list', + ], + ], + [ + 'name' => 'Items', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'title' => '', + 'description' => 'The items in the list that you want to create.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The item in the list that you want to create.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.1.1.1', + ], + 'required' => false, + 'example' => 'a custom list', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Id' => [ + 'title' => '', + 'description' => 'The ID of the custom list.[](~~2850217~~)'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '40000001', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'errorCode' => 'List.Name.AlreadyExist', + 'errorMessage' => 'The specified list name already exists.', + 'description' => 'The specified list name is already used by another list.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Id\\": 40000001\\n}","type":"json"}]', + 'title' => 'CreateList', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:49.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T09:53:47.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateList', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'CreateLoadBalancer' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238480', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the load balancer, which must meet the domain name format validation and be a subdomain under the site.', + 'type' => 'string', + 'required' => true, + 'example' => 'lb.example.com', + 'title' => '', + ], + ], + [ + 'name' => 'Enabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether the load balancer is enabled.'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.', + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [ + 'true' => 'true', + 'false' => 'false', + ], + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'AdaptiveRouting', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Configuration for failover across pools.', + 'type' => 'object', + 'properties' => [ + 'FailoverAcrossPools' => [ + 'description' => 'Whether to failover across pools.'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'DefaultPools', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'List of default pools.', + 'type' => 'array', + 'items' => [ + 'description' => 'ID of the default pool, an integer.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '95223818027****', + 'title' => '', + ], + 'required' => true, + 'example' => '123', + 'title' => '', + ], + ], + [ + 'name' => 'FallbackPool', + 'in' => 'query', + 'schema' => [ + 'description' => 'Fallback pool ID, where traffic will be directed when all other pools are unavailable.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123', + 'title' => '', + ], + ], + [ + 'name' => 'RandomSteering', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Weighted round-robin configuration, used to control the traffic distribution weights among different pools.', + 'type' => 'object', + 'properties' => [ + 'DefaultWeight' => [ + 'description' => 'Default weight for all pools that do not have individual weights specified. The value range is an integer between 0 and 100.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + 'title' => '', + ], + 'PoolWeights' => [ + 'description' => 'Weight configuration for each backend server pool, with the key being the pool ID and the value being the weight coefficient. The weight coefficient represents the proportion of relative traffic distribution.', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'integer', + 'format' => 'int32', + 'description' => 'Weight for a single origin pool, a number between 0 and 100, where 0 means no traffic will be directed to this pool.', + 'example' => '50', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'example' => '123', + 'title' => '', + ], + ], + [ + 'name' => 'Rules', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Rule information.', + 'type' => 'array', + 'items' => [ + 'description' => 'Rule structure.', + 'type' => 'object', + 'properties' => [ + 'RuleName' => [ + 'description' => 'The name of the rule. This parameter does not need to be set when adding global configurations.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_1', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter does not need to be set when adding global configurations. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, e.g., (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.request.method eq "GET" and http.request.version eq "HTTP/1.0") or (ip.geoip.country eq "CN") or (http.host eq "www.example.com")', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter does not need to be set when adding global configurations. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + 'FixedResponse' => [ + 'description' => 'Execute a specified response after matching the rule.', + 'type' => 'object', + 'properties' => [ + 'ContentType' => [ + 'description' => 'Content-Type field in the HTTP Header.', + 'type' => 'string', + 'required' => false, + 'example' => 'application/octet-stream', + 'title' => '', + ], + 'Location' => [ + 'description' => 'Location field in the HTTP response.', + 'type' => 'string', + 'required' => false, + 'example' => 'http://www.example.com/index.html', + 'title' => '', + ], + 'MessageBody' => [ + 'description' => 'Response body value.', + 'type' => 'string', + 'required' => false, + 'example' => 'Hello World!', + 'title' => '', + ], + 'StatusCode' => [ + 'description' => 'Response status code.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '200', + 'title' => '', + ], + ], + 'required' => false, + 'example' => '{"content_type": "application/json", "location": "www.example.com", "message_body": "Testing Hello", "status_code": 0}', + 'title' => '', + ], + 'Overrides' => [ + 'description' => 'Modify the corresponding load balancing configuration after matching the rule. The fields in the configuration will override the corresponding fields in the load balancer configuration.', + 'type' => 'any', + 'required' => false, + 'example' => '{'."\n" + .' "adaptive_routing": {'."\n" + .' "failover_across_pools": true'."\n" + .' },'."\n" + .' "sub_region_pools": {'."\n" + .' "AL,AT": ['."\n" + .' 92298024898****,'."\n" + .' 92304347804****'."\n" + .' ],'."\n" + .' "BG,BY": ['."\n" + .' 92298024898****'."\n" + .' ]'."\n" + .' },'."\n" + .' "default_pools": ['."\n" + .' 92298024898****,'."\n" + .' 92304347804****'."\n" + .' ],'."\n" + .' "fallback_pool": 92298024898****,'."\n" + .' "location_strategy": {'."\n" + .' "mode": "resolver_ip",'."\n" + .' "prefer_ecs": "always"'."\n" + .' },'."\n" + .' "random_steering": {'."\n" + .' "default_weight": 0.3,'."\n" + .' "pool_weights": {'."\n" + .' "92298024898****": 0.7,'."\n" + .' "92304347804****": 0.8'."\n" + .' }'."\n" + .' },'."\n" + .' "region_pools": {'."\n" + .' "CN,SEAS": ['."\n" + .' 92298024898****,'."\n" + .' 92304347804****'."\n" + .' ],'."\n" + .' "SAF,SAS": ['."\n" + .' 92304347804****'."\n" + .' ]'."\n" + .' },'."\n" + .' "session_affinity": "ip",'."\n" + .' "steering_policy": "geo",'."\n" + .' "ttl": 30'."\n" + .' }', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The execution order of the rule. It can be left blank, in which case the rules will be executed in the order they appear in the list. If specified, it must be a positive integer, with higher values indicating higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'Terminates' => [ + 'description' => 'Whether to terminate the execution of subsequent rules.'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No, default value.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'example' => '{'."\n" + .' "ENAM": ['."\n" + .' 12345678****'."\n" + .' ],'."\n" + .' "WNAM": ['."\n" + .' 23456789****,'."\n" + .' 23456789****'."\n" + .' ]'."\n" + .'}', + 'title' => '', + ], + ], + [ + 'name' => 'SessionAffinity', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'Session persistence, with possible values:'."\n" + .'- off: Not enabled.'."\n" + .'- ip: Session persistence by IP.'."\n" + .'- cookie: Session persistence by cookie.', + 'type' => 'string', + 'required' => false, + 'example' => 'ip', + 'enum' => [], + 'title' => '', + ], + ], + [ + 'name' => 'SteeringPolicy', + 'in' => 'query', + 'schema' => [ + 'description' => 'Load balancing strategy.'."\n" + ."\n" + .'- geo: Geographical strategy.'."\n" + .'- random: Weighted round-robin.'."\n" + .'- order: Primary and backup method.', + 'type' => 'string', + 'required' => true, + 'example' => 'order', + 'title' => '', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'Detailed description of the load balancer, for easier management and identification.', + 'type' => 'string', + 'required' => false, + 'example' => '测试负载均衡器描述', + 'title' => '', + ], + ], + [ + 'name' => 'Ttl', + 'in' => 'query', + 'schema' => [ + 'description' => 'TTL value, the time-to-live for DNS records, with a default of 30 seconds. The value range is 10-600.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + ], + [ + 'name' => 'Monitor', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Monitor configuration, used for health checks.', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'Monitor protocol type, such as HTTP, used for health checks. When set to `off`, no check is performed.'."\n" + ."\n" + .'- TCP'."\n" + .'- UDP'."\n" + .'- SMTP'."\n" + .'- HTTPS'."\n" + .'- HTTP'."\n" + .'- ICMP Ping'."\n" + .'- off', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + 'title' => '', + ], + 'Method' => [ + 'description' => 'Monitor request method, such as `GET`, which is a method in the HTTP protocol.', + 'type' => 'string', + 'required' => false, + 'example' => 'GET', + 'title' => '', + ], + 'Port' => [ + 'description' => 'Origin server port.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1921', + 'title' => '', + ], + 'Path' => [ + 'description' => 'Monitor check path, such as `/healthcheck`, which is an HTTP request path.', + 'type' => 'string', + 'required' => false, + 'example' => '/health', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'Monitoring interval, such as `60` seconds, which is the frequency of checks.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + 'title' => '', + ], + 'Timeout' => [ + 'description' => 'Application health check timeout, in seconds, with a value range of 1-10.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + 'title' => '', + ], + 'ExpectedCodes' => [ + 'description' => 'Expected status codes, such as `200,202`, which are successful HTTP responses.', + 'type' => 'string', + 'required' => false, + 'example' => '200', + 'title' => '', + ], + 'FollowRedirects' => [ + 'description' => 'Whether to follow redirects.'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'ConsecutiveUp' => [ + 'description' => 'Number of consecutive successful probes required to consider the target healthy, such as `3`.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + 'title' => '', + ], + 'ConsecutiveDown' => [ + 'description' => 'Number of consecutive failed probes required to consider the target unhealthy, such as `5`.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + 'title' => '', + ], + 'Header' => [ + 'description' => 'Header information included in the probe, which is an HTTP header.', + 'type' => 'any', + 'required' => false, + 'example' => ' {'."\n" + .' "host": ['."\n" + .' "example1.com",'."\n" + .' "example2.com"'."\n" + .' ]'."\n" + .' }', + 'title' => '', + ], + 'MonitoringRegion' => [ + 'enumValueTitles' => [ + 'OutsideChineseMainland' => 'OutsideChineseMainland', + 'ChineseMainland' => 'ChineseMainland', + 'Global' => 'Global', + ], + 'description' => 'The area where the detection point is located. The default value is Global.'."\n" + ."\n" + .'- Global: Global.'."\n" + .'- ChineseMainland: the Chinese mainland.'."\n" + .'- OutsideChineseMainland: Global (excluding the Chinese mainland).', + 'type' => 'string', + 'required' => false, + 'example' => 'Global', + 'title' => '', + ], + ], + 'required' => true, + 'example' => 'order', + 'title' => '', + ], + ], + [ + 'name' => 'SubRegionPools', + 'in' => 'query', + 'schema' => [ + 'description' => 'Address pools corresponding to secondary regions. When multiple secondary regions share the same set of address pools, the keys can be concatenated with commas.', + 'type' => 'any', + 'required' => false, + 'example' => '{"AL,MO": [92298024898****],"CN-SH,CN-SX,CN-SC":[92304347804****,92843536908****]}', + 'title' => '', + ], + ], + [ + 'name' => 'RegionPools', + 'in' => 'query', + 'schema' => [ + 'description' => 'Address pools corresponding to primary regions.', + 'type' => 'any', + 'required' => false, + 'example' => '{'."\n" + .' "ENAM": ['."\n" + .' 12345678****'."\n" + .' ],'."\n" + .' "WNAM": ['."\n" + .' 23456789****,'."\n" + .' 23456789****'."\n" + .' ]'."\n" + .'}', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F'."\n", + ], + 'Id' => [ + 'description' => 'Load balancer ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '99867648760****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'LoadBalancerQuotaCheckFailed', + 'errorMessage' => 'Load balancer enable quota check failed.', + 'description' => 'Your current plan cannot use the load balancer related functions. If you need to use it, upgrade the plan.', + ], + [ + 'errorCode' => 'LoadBalancerNumberExceedQuotaLimit', + 'errorMessage' => 'The number of load balancers you have added has reached the limit of the plan quota. Please delete the unused load balancers or upgrade the plan and try again.', + 'description' => 'The number of load balancers you have added has reached the limit of the plan quota. Please delete the unused load balancers or upgrade the plan and try again.', + ], + [ + 'errorCode' => 'LoadBalancerRuleQuotaCheckFailed', + 'errorMessage' => 'Your current plan does not support configuring load balancer custom rules, or the load balancer rules you have added exceed the plan quota limit. Please upgrade the plan or delete the rules that are no longer in use and try again.', + 'description' => 'Your current plan does not support configuring load balancer custom rules, or the load balancer rules you have added exceed the plan quota limit. Please upgrade the plan or delete the rules that are no longer in use and try again.', + ], + [ + 'errorCode' => 'LoadBalancerPolicyCheckFailed', + 'errorMessage' => 'Your current plan does not support the load balancer scheduling policy. Upgrade the plan and try again.', + 'description' => 'Your current plan does not support the load balancer scheduling policy. Upgrade the plan and try again.', + ], + [ + 'errorCode' => 'LoadBalancerHealthDetectionQuotaCheckFailed', + 'errorMessage' => 'Your current plan does not allow you to configure the load balancer\'s health detection. Upgrade the plan and try again.', + 'description' => 'Your current plan does not allow you to configure the load balancer\'s health detection. Upgrade the plan and try again.', + ], + [ + 'errorCode' => 'LoadBalancerHealthDetectionIntervalCheckFailed', + 'errorMessage' => 'The configured load balancer health detection interval exceeds the quota range allowed by the plan. Please revise the interval within the range or upgrade the plan and try again.', + 'description' => 'The configured load balancer health detection interval exceeds the quota range allowed by the plan. Please revise the interval within the range or upgrade the plan and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'MonitorExpectedBodyInvalid', + 'errorMessage' => 'Invalid response body. Specify a response body that does not exceed 102,400 characters in length in your custom rule.', + 'description' => 'Invalid response body. Specify a response body that does not exceed 102,400 characters in length in your custom rule.', + ], + [ + 'errorCode' => 'MonitorExpectedCodesInvalid', + 'errorMessage' => 'Invalid expected status code for the probe.Make sure that you specify no more than 10 status codes in the probe settings, and each status code must be 3 to 4 characters in length.Examples: 200, 301, 3xx, 8000, and 88xx.', + 'description' => 'Invalid expected status code for the probe.Make sure that you specify no more than 10 status codes in the probe settings, and each status code must be 3 to 4 characters in length.Examples: 200, 301, 3xx, 8000, and 88xx.', + ], + [ + 'errorCode' => 'MonitorHeaderInvalid', + 'errorMessage' => 'Invalid request header for the probe. You can add up to 10 request headers, each with 1 to 9 values. The combined length of all headers and values cannot exceed 6,000 characters. You cannot configure the User-Agent header.', + 'description' => 'The incoming monitor is carrying an illegal request header. Make sure that the number of request headers does not exceed 10, that each request header has a value length between 1 and 10, and that you must not use the User-Agent request header (which is reserved for internal specific scenarios). In addition, the total length of all request headers and their values must not exceed 6000 characters. Please check and correct the request header configuration and try again.', + ], + [ + 'errorCode' => 'MonitorMethodNotSupport', + 'errorMessage' => 'Invalid HTTP method for the probe request. Valid values are GET and HEAD.', + 'description' => 'Invalid HTTP method for the probe request. Valid values are GET and HEAD.', + ], + [ + 'errorCode' => 'MonitorPathNotSupport', + 'errorMessage' => 'Invalid probe URL path.If you set the probe protocol to HTTP or HTTPS, make sure you specify a probe URL path that does not exceed 1,024 characters in length.', + 'description' => 'Invalid probe URL path.If you set the probe protocol to HTTP or HTTPS, make sure you specify a probe URL path that does not exceed 1,024 characters in length.', + ], + [ + 'errorCode' => 'MonitorPortNotSupport', + 'errorMessage' => 'Invalid probe port. Specify a valid port from 1 to 65535 for the probe request. Then, try again.', + 'description' => 'The incoming monitor listening port is not supported. The port value range is [1-65535]. Please ensure that the port is within the value range and try again.', + ], + [ + 'errorCode' => 'MonitorRetriesInvalid', + 'errorMessage' => 'Invalid number of probe retries. Specify an integer from 0 to 5. Then, try again.', + 'description' => 'Invalid number of probe retries. Specify an integer from 0 to 5. Then try again.', + ], + [ + 'errorCode' => 'MonitorTimeoutInvalid', + 'errorMessage' => 'Invalid timeout for the probe. Valid values are 1 to 10.', + 'description' => 'Invalid timeout for the probe. Valid values are 1 to 10.', + ], + [ + 'errorCode' => 'MonitorTypeNotSupport', + 'errorMessage' => 'Invalid protocol. Valid values are off, HTTP, HTTPS, TCP, UDP, ICMP Ping, and SMTP.', + 'description' => 'Invalid protocol. Valid values are off, HTTP, HTTPS, TCP, UDP, ICMP Ping, and SMTP.', + ], + [ + 'errorCode' => 'OriginPoolNotExist', + 'errorMessage' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + 'description' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + ], + [ + 'errorCode' => 'LoadBalancerNameConflict', + 'errorMessage' => 'The load balancer name or the hostname for the origin pool already exists. Try again with a unique name.', + 'description' => 'The load balancer name or the hostname for the origin pool already exists. Try again with a unique name.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'SourceCircleExist', + 'errorMessage' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + 'description' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + ], + [ + 'errorCode' => 'LoadBalancer.NameInvalid', + 'errorMessage' => 'The name of the Server Load Balancer instance is a valid domain name or belongs to the site. Check that it is correct and try again.', + 'description' => 'The name of the Server Load Balancer instance is a valid domain name or belongs to the site. Check that it is correct and try again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'The quota is exceeded.', + 'description' => 'The quota is exceeded.', + ], + ], + [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Create Load Balancer', + 'summary' => 'Add a New Load Balancer', + 'description' => 'Through this API, users can configure load balancing services according to their business needs, including but not limited to adaptive routing, weighted round-robin, rule matching, health checks, and more, to achieve effective traffic management and optimization.', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-16T02:25:11.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-02-13T01:34:54.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-02-10T01:25:59.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateLoadBalancer', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\\\n\\",\\n \\"Id\\": 0\\n}","type":"json"}]', + ], + 'CreateNetworkOptimization' => [ + 'summary' => 'Create a new site network optimization configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '258000', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '340035003106221', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the site configuration. For sites with version management enabled, this parameter can specify the effective version of the configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'SmartRouting', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable smart routing service, disabled by default. Possible values:'."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Http2Origin', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HTTP2 origin, disabled by default. Possible values:'."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Websocket', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable Websocket, enabled by default. Possible values:'."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Grpc', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable GRPC, disabled by default. Possible values:'."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'UploadMaxFilesize', + 'in' => 'query', + 'schema' => [ + 'description' => 'Maximum upload file size in MB, range: 100~500.', + 'type' => 'string', + 'required' => false, + 'example' => '100', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller numeric values are executed first.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Add Site Network Optimization Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateNetworkOptimization', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateNetworkOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ConfigId\\": 352816096987136\\n}","type":"json"}]', + ], + 'CreateOriginPool' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238443', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the origin address pool, which must be unique within a site.', + 'type' => 'string', + 'required' => true, + 'example' => 'pool1', + 'title' => '', + ], + ], + [ + 'name' => 'Enabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether the origin address pool is enabled:'."\n" + ."\n" + .'- true: Enabled;'."\n" + .'- false: Disabled.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'Origins', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Information about the origins added to the origin address pool, with multiple origins passed as an array.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about a single origin.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the origin, which must be unique within an origin address.', + 'type' => 'string', + 'required' => false, + 'example' => 'origin1', + 'title' => '', + ], + 'Address' => [ + 'description' => 'The address of the origin, e.g., www.example.com.', + 'type' => 'string', + 'required' => false, + 'example' => 'www.example.com', + 'title' => '', + ], + 'Enabled' => [ + 'description' => 'Whether the origin is enabled:'."\n" + ."\n" + .'- true: Enabled;'."\n" + .'- false: Disabled.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'Header' => [ + 'description' => 'The request header to be included when fetching from the origin, only Host is supported.', + 'type' => 'any', + 'required' => false, + 'example' => '{'."\n" + .' "Host": ['."\n" + .' "example.com"'."\n" + .' ]'."\n" + .' }', + 'title' => '', + ], + 'Weight' => [ + 'description' => 'The weight, an integer between 0 and 100.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of the origin:'."\n" + ."\n" + .'- ip_domain: IP or domain name type origin;'."\n" + .'- OSS: OSS address origin;'."\n" + .'- S3: AWS S3 origin.', + 'type' => 'string', + 'required' => false, + 'example' => 'ip_domain', + 'title' => '', + ], + 'AuthConf' => [ + 'description' => 'Authentication information, required when the origin is OSS or S3 and needs authentication, including related configuration details.', + 'type' => 'object', + 'properties' => [ + 'AuthType' => [ + 'description' => 'The type of authentication.'."\n" + ."\n" + .'- public: Public read/write, used when the origin is OSS or S3 and is set to public read/write;'."\n" + .'- private_same_account: Private same account, used when the origin is OSS and the authentication type is private within the same account;'."\n" + .'- private_cross_account: Private cross-account, used when the origin is OSS and the authentication type is private across accounts;'."\n" + .'- private: Used when the origin is S3 and the authentication type is private.', + 'type' => 'string', + 'required' => false, + 'example' => 'public', + 'title' => '', + ], + 'AccessKey' => [ + 'description' => 'The access key required for private authentication.', + 'type' => 'string', + 'required' => false, + 'example' => 'yourAccessKeyID', + 'title' => '', + ], + 'SecretKey' => [ + 'description' => 'The secret key required for private authentication.', + 'type' => 'string', + 'required' => false, + 'example' => 'yourAccessKeySecret', + 'title' => '', + ], + 'Version' => [ + 'description' => 'The signature version required when the origin is AWS S3.', + 'type' => 'string', + 'required' => false, + 'example' => 'v2', + 'title' => '', + ], + 'Region' => [ + 'description' => 'The region of the origin required when the origin is AWS S3.', + 'type' => 'string', + 'required' => false, + 'example' => 'us-east-1', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'IpVersionPolicy' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '21655860979****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE'."\n", + ], + 'Id' => [ + 'description' => 'The ID of the newly created origin address pool.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '103852052519****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'SourceNumberExceedLimit', + 'errorMessage' => 'The number of sources in the origin pool exceeds the quota limit.', + 'description' => 'The number of sources that can be created in the origin pool has reached the upper limit of the package. Please check your package quota and upgrade the package to obtain more quota.', + ], + [ + 'errorCode' => 'PoolNumberExceedQuotaLimit', + 'errorMessage' => 'The number of origin pool you have added has reached the upper limit of the plan quota. Please delete the origin pool that is no longer in use or upgrade the plan and try again.', + 'description' => 'The number of origin pool you have added has reached the upper limit of the plan quota. Please delete the origin pool that is no longer in use or upgrade the plan and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.AddressConflict', + 'errorMessage' => 'Duplicate origin addresses. Make sure that each origin address for the same pool is unique.', + 'description' => 'Duplicate origin addresses. Make sure that each origin address for the same pool is unique.', + ], + [ + 'errorCode' => 'OriginPoolNameConflict', + 'errorMessage' => 'The specified origin pool name already exists or its hostname conflicts with a load balancer name. Try again with a unique name.', + 'description' => 'The specified origin pool name already exists or its hostname conflicts with a load balancer name. Try again with a unique name.', + ], + [ + 'errorCode' => 'SourceAddressInvalid', + 'errorMessage' => 'Invalid origin address. Check whether the IP address or domain name is in the valid format.', + 'description' => 'Invalid origin address. Check whether the IP address or domain name is in the valid format.', + ], + [ + 'errorCode' => 'SourceCircleExist', + 'errorMessage' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + 'description' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + ], + [ + 'errorCode' => 'SourceInBlackList', + 'errorMessage' => 'The source is in the black list.', + 'description' => 'The source is in the black list.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivateIpAsSourceUnsupported', + 'errorMessage' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'errorCode' => 'InvalidParameter.SourceIpInBlacklist', + 'errorMessage' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'errorCode' => 'OriginPool.TypeNotSupport', + 'errorMessage' => 'The origin address pool type is not supported.', + 'description' => 'The origin address pool type is not supported.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'Create Origin Address Pool', + 'summary' => 'Add a new origin address pool', + 'description' => 'Multiple origins can be added under the origin address, supporting domain names, IPs, OSS, S3, and other types of origins. It supports authentication for OSS and S3 type origins.', + 'changeSet' => [ + [ + 'createdAt' => '2025-05-20T11:43:19.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateOriginPool', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\\\n\\",\\n \\"Id\\": 0\\n}","type":"json"}]', + ], + 'CreateOriginProtection' => [ + 'summary' => 'Enables origin protection.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '250009', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4VDL9A', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'AutoConfirmIPList', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'example' => 'off', + 'default' => 'off', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + 'description' => '', + ], + ], + ], + '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' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'CreateOriginProtection', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateOriginProtection', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\"\\n}","type":"json"}]', + ], + 'CreateOriginRule' => [ + 'summary' => 'Create a new origin rule configuration for the site', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '258002', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '340035003106221', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the version of the site where the configuration takes effect. The default is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding global configurations.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding global configurations. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding global configurations. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'OriginHost', + 'in' => 'query', + 'schema' => [ + 'description' => 'The HOST carried in the origin request.', + 'type' => 'string', + 'required' => false, + 'example' => 'origin.example.com'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'OriginScheme', + 'in' => 'query', + 'schema' => [ + 'description' => 'Protocol used for the origin request. Possible values:'."\n" + .'- http: Use HTTP protocol for origin requests.'."\n" + .'- https: Use HTTPS protocol for origin requests.'."\n" + .'- follow: Follow the client\'s protocol for origin requests.', + 'type' => 'string', + 'required' => false, + 'example' => 'http', + 'title' => '', + ], + ], + [ + 'name' => 'OriginSni', + 'in' => 'query', + 'schema' => [ + 'description' => 'SNI carried in the origin request.', + 'type' => 'string', + 'required' => false, + 'example' => 'origin.example.com', + 'title' => '', + ], + ], + [ + 'name' => 'DnsRecord', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rewrite the DNS resolution record for the origin request.', + 'type' => 'string', + 'required' => false, + 'example' => 'test.example.com'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'OriginHttpPort', + 'in' => 'query', + 'schema' => [ + 'description' => 'Port of the origin server when using the HTTP protocol for origin requests.', + 'type' => 'string', + 'required' => false, + 'example' => '8080', + 'title' => '', + ], + ], + [ + 'name' => 'OriginHttpsPort', + 'in' => 'query', + 'schema' => [ + 'description' => 'Port of the origin server when using the HTTPS protocol for origin requests.', + 'type' => 'string', + 'required' => false, + 'example' => '4433', + 'title' => '', + ], + ], + [ + 'name' => 'Range', + 'in' => 'query', + 'schema' => [ + 'description' => 'Use range chunking for origin downloads. Possible values:'."\n" + .'- on: Enable'."\n" + .'- off: Disable'."\n" + .'- force: Force', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'OriginMtls', + 'in' => 'query', + 'schema' => [ + 'description' => 'mTLS switch. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'OriginVerify', + 'in' => 'query', + 'schema' => [ + 'description' => 'Origin certificate verification switch. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'RangeChunkSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'Range shard size. Valid values:'."\n" + .'- 512 KB'."\n" + .'- 1 MB'."\n" + .'- 2 MB'."\n" + .'- 4 MB', + 'type' => 'string', + 'required' => false, + 'example' => '1MB', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller numeric values are executed first.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'OriginReadTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'Origin read timeout (seconds).', + 'type' => 'string', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + ], + [ + 'name' => 'Follow302Enable', + 'in' => 'query', + 'schema' => [ + 'description' => '302 redirection toggle for origin fetch. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Follow302MaxTries', + 'in' => 'query', + 'schema' => [ + 'description' => 'Maximum number of 302 redirect attempts. Valid values: [1–5].', + 'type' => 'string', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'Follow302RetainArgs', + 'in' => 'query', + 'schema' => [ + 'description' => 'Toggle to retain original request parameters. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Follow302RetainHeader', + 'in' => 'query', + 'schema' => [ + 'description' => 'Toggle to retain original request headers. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Follow302TargetHost', + 'in' => 'query', + 'schema' => [ + 'description' => 'Modify the origin host after a 302 redirect.', + 'type' => 'string', + 'required' => false, + 'example' => 'test.com', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Add Origin Rule Configuration for Site', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-17T08:47:33.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-04-01T01:57:04.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-03-20T05:57:46.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-02-27T09:16:40.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateOriginRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ConfigId\\": 352816096987136\\n}","type":"json"}]', + ], + 'CreatePage' => [ + 'summary' => 'Creates a custom error page, which is displayed when a request is blocked by Web Application Firewall (WAF). You can configure the HTML content, page type, and description, and submit the Base64-encoded page content.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239648', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The name of the custom error page.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The description of the page.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'a custom deny page', + ], + ], + [ + 'name' => 'ContentType', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The Content-Type field in the HTTP header. Valid values:'."\n" + ."\n" + .'* text/html'."\n" + .'* application/json'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'text/html', + ], + ], + [ + 'name' => 'Content', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The Base64-encoded page content. Example: "PGh0bWw+aGVsbG8gcGFnZTwvaHRtbD4=", which indicates "hello page".'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PGh0bWw+aGVsbG8gcGFnZTwvaHRtbD4=', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Id' => [ + 'title' => '', + 'description' => 'The ID of the custom error page.[](~~2850223~~)'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000001', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Id\\": 50000001\\n}","type":"json"}]', + 'title' => 'CreatePage', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:49.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T09:53:47.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreatePage', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreatePage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'CreateRecord' => [ + 'summary' => 'Creates a DNS record for a specific website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239598', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVFT29S', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The record name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'www.example.com', + ], + ], + [ + 'name' => 'Proxied', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'Specifies whether to proxy the record. Only CNAME and A/AAAA records can be proxied. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The type of the DNS record. For example, A/AAAA, TXT, MX, or CNAME.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'A/AAAA', + ], + ], + [ + 'name' => 'SourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The origin type for the CNAME record. This parameter is required when you add a CNAME record. Valid values:'."\n" + ."\n" + .'* **OSS**: OSS bucket.'."\n" + .'* **S3**: S3 bucket.'."\n" + .'* **LB**: load balancer.'."\n" + .'* **OP**: origin pool.'."\n" + .'* **Domain**: domain name.'."\n" + ."\n" + .'If you do not pass this parameter or if you leave its value empty, Domain is used by default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'OSS', + 'title' => '', + ], + ], + [ + 'name' => 'BizName', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The business scenario of the record for acceleration. Leave the parameter empty if your record is not proxied. Valid values:'."\n" + ."\n" + .'* **image_video**: video and image.'."\n" + .'* **api**: API.'."\n" + .'* **web**: web page.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'web', + ], + ], + [ + 'name' => 'Ttl', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The TTL of the record. Unit: seconds. If the value is 1, the TTL of the record is determined by the system.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '30', + 'title' => '', + ], + ], + [ + 'name' => 'Data', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The DNS record information. The format of this field varies based on the record type. For more information, see [References](https://www.alibabacloud.com/help/doc-detail/2708761.html) .'."\n", + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'Record value or part of the record content. This parameter is required when you add A/AAAA, CNAME, NS, MX, TXT, CAA, SRV, and URI records. It has different meanings based on types of records:'."\n" + ."\n" + .'* **A/AAAA**: the IP address(es). Separate IP addresses with commas (,). You must have at least one IPv4 address.'."\n" + .'* **CNAME**: the target domain name.'."\n" + .'* **NS**: the name servers for the domain name.'."\n" + .'* **MX**: a valid domain name of the target mail server.'."\n" + .'* **TXT**: a valid text string.'."\n" + .'* **CAA**: a valid domain name of the certificate authority.'."\n" + .'* **SRV**: a valid domain name of the target host.'."\n" + .'* **URI**: a valid URI string.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + 'title' => '', + ], + 'Priority' => [ + 'description' => 'The priority of the record, specified within the range of 0 to 65,535. A smaller value indicates a higher priority. This parameter is required when you add MX, SRV, and URI records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + 'Flag' => [ + 'description' => 'The flag bit of the record. The Flag for a CAA record indicates its priority and how it is processed, specified within the range of 0 to 255. This parameter is required when you add a CAA record.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '128', + 'title' => '', + ], + 'Tag' => [ + 'description' => 'The label of the record. The Tag of a CAA record indicate its specific type and usage. This parameter is required when you add a CAA record. Valid values:'."\n" + ."\n" + .'* **issue**: indicates that a CA is authorized to issue a certificate for the domain name. This is usually followed by the domain name of the CA.'."\n" + .'* **issuewild**: indicates that a CA is authorized to issue a wildcard certificate (such as \\*.example.com) for the domain name.'."\n" + .'* **iodef**: specifies a URI to receive reports about CAA record violations.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'issue', + 'title' => '', + ], + 'Weight' => [ + 'description' => 'The weight of the record, specified within the range of 0 to 65,535. This parameter is required when you add SRV or URI records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Port' => [ + 'description' => 'The port of the record, specified within the range of 0 to 65,535. This parameter is required when you add an SRV record.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type of the record (in CERT records), or the public key type (in SSHFP records). This parameter is required when you add CERT or SSHFP records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => 'RSA', + 'title' => '', + ], + 'KeyTag' => [ + 'description' => 'The public key identification for the record, specified within the range of 0 to 65,535. This parameter is required when you add a CAA record.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Algorithm' => [ + 'description' => 'The encryption algorithm used for the record, specified within the range from 0 to 255. This parameter is required when you add CERT or SSHFP records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The public key of the certificate. This parameter is required when you add CERT, SMIMEA, or TLSA records.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dGVzdGFkYWxrcw==', + 'title' => '', + ], + 'Usage' => [ + 'description' => 'The usage identifier of the record, specified within the range of 0 to 255. This parameter is required when you add SMIMEA or TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'Selector' => [ + 'description' => 'The type of certificate or public key, specified within the range of 0 to 255. This parameter is required when you add SMIMEA or TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'MatchingType' => [ + 'description' => 'The algorithm policy used to match or validate the certificate, specified within the range 0 to 255. This parameter is required when you add SMIMEA or TLSA records.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'Fingerprint' => [ + 'description' => 'The public key fingerprint of the record. This parameter is required when you add a SSHFP record.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'abcdef1234567890', + 'title' => '', + ], + ], + 'required' => true, + 'example' => '{'."\n" + .' "value":"2.2.2.2"'."\n" + .'}', + 'title' => '', + ], + ], + [ + 'name' => 'Comment', + 'in' => 'query', + 'schema' => [ + 'description' => 'The comment of the record. The maximum length is 100 characters.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'This is a remark.', + 'title' => '', + ], + ], + [ + 'name' => 'AuthConf', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The origin authentication information of the CNAME record.'."\n", + 'type' => 'object', + 'properties' => [ + 'AuthType' => [ + 'description' => 'The authentication type of the origin server. Different origins support different authentication types. The type of origin refers to the SourceType parameter in this operation. If the type of origin is OSS or S3, you must specify the authentication type of the origin. Valid values:'."\n" + ."\n" + .'* **public**: public read. Select this value when the origin type is OSS or S3 and the origin access is public read.'."\n" + .'* **private**: private read. Select this value when the origin type is S3 and the origin access is private read.'."\n" + .'* **private_same_account**: private read under the same account. Select this value when the origin type is OSS, the origins belong to the same Alibaba Cloud account, and the origins have private read access.'."\n" + .'* **private_cross_account**: private read cross accounts. Select this value when the origin type is OSS, the origins belong to different Alibaba Cloud accounts, and the origins have private read access.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'private', + 'title' => '', + ], + 'AccessKey' => [ + 'description' => 'The access key of the account to which the origin server belongs. This parameter is required when the SourceType is OSS, and AuthType is private_cross_account, or when the SourceType is S3 and AuthType is private.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'u0Nkg5gBK*******QF5wvKMM504JUHt', + 'title' => '', + ], + 'SecretKey' => [ + 'description' => 'The secret access key of the account to which the origin server belongs. This parameter is required when the SourceType is OSS, and AuthType is private_same_account, or when the SourceType is S3 and AuthType is private.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VIxuvJSA2S03f******kp208dy5w7', + 'title' => '', + ], + 'Version' => [ + 'description' => 'The version of the signature algorithm. This parameter is required when the origin type is S3 and AuthType is private. The following two types are supported:'."\n" + ."\n" + .'* **v2**'."\n" + .'* **v4**'."\n" + ."\n" + .'If you leave this parameter empty, the default value v4 is used.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v4', + 'title' => '', + ], + 'Region' => [ + 'description' => 'The region of the origin. If the origin type is S3, you must specify this value. You can get the region information from the official website of S3.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'us-east-1', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'HostPolicy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The origin host policy. This policy takes effect when the record type is CNAME. You can set the policy in two modes:'."\n" + ."\n" + .'* follow_hostname: Follow the host record.'."\n" + .'* follow_origin_domain: match the origin\'s domain name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'follow_origin_domain', + 'enum' => [], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', + 'title' => '', + ], + 'RecordId' => [ + 'description' => 'The record ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.InvalidRecordName', + 'errorMessage' => 'The record name you entered does not meet the specifications. Change the record name according to the product documentation.', + 'description' => 'The record name you entered does not meet the specifications. Please adjust the record name according to the product documentation.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordData', + 'errorMessage' => 'Invalid record content. Adjust your configurations based on the API documentation.', + 'description' => 'Invalid record content. Adjust your configurations based on the API documentation.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'QuotaExceed.RecordCount', + 'errorMessage' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + 'description' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + ], + [ + 'errorCode' => 'Record.Conflict', + 'errorMessage' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + 'description' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'SourceCircleExist', + 'errorMessage' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + 'description' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + ], + [ + 'errorCode' => 'QuotaExceed.WildCardRecord', + 'errorMessage' => 'The maximum number of wildcard records has been reached. Delete some and try again.', + 'description' => 'The maximum number of wildcard records has been reached. Delete some and try again.', + ], + [ + 'errorCode' => 'Record.NoResource', + 'errorMessage' => 'Failed to allocate resources for the record. Please submit a ticket for processing.', + 'description' => 'Failed to allocate resources for the record. Please submit a work order for processing.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidBiz', + 'errorMessage' => 'The incoming parameter value of the business type is empty or incorrect.', + 'description' => 'The incoming parameter value of the business type is empty or incorrect.', + ], + [ + 'errorCode' => 'Record.RecordValueContainSourceInBlacklist', + 'errorMessage' => 'The record value contains the blacklist address, and the details can be submitted for work order consultation.', + 'description' => 'The record value contains the blacklist address, and the details can be submitted for work order consultation.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidRecordNameSuffix', + 'errorMessage' => 'If you add other records, the suffix of the host record must be the same as the site name.', + 'description' => 'If you add another record, the suffix of the host record must be the same as the site name. Please adjust and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordNameExceedLimit', + 'errorMessage' => 'The length of the record name exceeds the maximum limit.', + 'description' => 'The record name cannot exceed 200 characters.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidHostPolicy', + 'errorMessage' => 'The host parameter in the origin fetch request is invalid.', + 'description' => 'The host parameter in the origin fetch request is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.CnameSiteRecordUnsupport', + 'errorMessage' => 'The current record type is not supported for a website connected by CNAME setup.', + 'description' => 'You can only add A/AAAA and CNAME records to a website connected by CNAME setup.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordCommentExceedLimit', + 'errorMessage' => 'The number of incoming record comment exceeds the maximum limit.', + 'description' => 'The record comment information is greater than 50 characters.', + ], + [ + 'errorCode' => 'Record.AorAAAARecordValueContainInvalidIP', + 'errorMessage' => 'The A/AAAA record value contains the invalid IP.', + 'description' => 'When creating or editing an A/AAAA record, the record value contains an invalid IP.', + ], + [ + 'errorCode' => 'Record.AorAAAARecordValueIPExceedLimit', + 'errorMessage' => 'The number of IP addresses exceeds the limit for the A/AAAA record.', + 'description' => 'When creating or editing A/AAAA records, the number of IP addresses exceeds the limit. A host record only supports 8 IPv4 and 4 IPv6 IP addresses. Please adjust and try again.', + ], + [ + 'errorCode' => 'Record.CAARecordFlagExceedLimit', + 'errorMessage' => 'The value of the flag parameter for a CAA record is out of range.', + 'description' => 'The value of the flag parameter for a CAA record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CAARecordTagExceedLimit', + 'errorMessage' => 'The CAA record tag has illegal characters other than issue, issuewild, and iodef.', + 'description' => 'When creating or editing CAA records, illegal characters other than issue, issuewild, and iodef are passed in the tag value.', + ], + [ + 'errorCode' => 'Record.CERTRecordAlgorithmExceedLimit', + 'errorMessage' => 'The value of the algorithm parameter for the CERT record is out of range.', + 'description' => 'The value of the algorithm parameter for the CERT record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CERTRecordKeyTagExceedLimit', + 'errorMessage' => 'The value of the keyTag parameter for a CERT record is out of range.', + 'description' => 'The value of the keyTag parameter for a CERT record is out of range when creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CERTRecordTypeExceedLimit', + 'errorMessage' => 'The CERT record type is out of range.', + 'description' => 'The CERT record type parameter was out of range when creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualExistedIPASource', + 'errorMessage' => 'The CNAME record cannot be the origin of the added Layer 4 application. Check the values of other Layer 4 proxy records and try again.', + 'description' => 'The CNAME record cannot be the origin of the added Layer 4 application. Check the values of other Layer 4 proxy records and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualExistedPoolSource', + 'errorMessage' => 'The CNAME record cannot be the origin of the added source address pool. Check and try again.', + 'description' => 'The CNAME record cannot be the origin of the added source address pool. Check and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualExistedRecordSource', + 'errorMessage' => 'The CNAME record cannot be the origin of an added record. Check the record values of other records and try again.', + 'description' => 'The CNAME record cannot be the origin of an added record. Check the record values of other records and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualOtherExistedIPARecord', + 'errorMessage' => 'The record value of a CNAME record cannot be exactly the same as the name of another existing Layer 4 proxy record.', + 'description' => 'The record value of a CNAME record cannot be exactly the same as the name of another existing Layer 4 proxy record.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualOtherExistedRecord', + 'errorMessage' => 'The record value of a CNAME record cannot be the same as the name of another existing CNAME record.', + 'description' => 'The record value of a CNAME record cannot be the same as the name of another existing CNAME record.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualHostRecord', + 'errorMessage' => 'The record value of the CNAME record cannot be exactly the same as the host record.', + 'description' => 'The record value of the CNAME record cannot be exactly the same as the host record. Please adjust and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueExceedLimit', + 'errorMessage' => 'The CNAME record value cannot exceed 253 characters, please delete and try again.', + 'description' => 'The record value cannot exceed 253 characters, please delete and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueInvalidDomainUnderline', + 'errorMessage' => 'Record values (DNS-only records) generally start with an underscore, a lowercase letter a-z, and the numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + 'description' => 'Record values (DNS-only records) generally start with an underscore, a lowercase letter a-z, and the numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueInvalidRecordDomain', + 'errorMessage' => 'Record values (records with agent acceleration enabled) must start with a lowercase letter a-z and numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + 'description' => 'Record values (records with agent acceleration enabled) must start with a lowercase letter a-z and numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + ], + [ + 'errorCode' => 'Record.EmptyRecordValue', + 'errorMessage' => 'The record value is empty, please fill it in correctly and try again.', + 'description' => 'The record value is empty, please fill it in correctly and try again.', + ], + [ + 'errorCode' => 'Record.InvalidCertEncodeWithCERTRecord', + 'errorMessage' => 'The certificate value of the CERT record is not base64-encoded.', + 'description' => 'When you create or edit CERT record information, the certificate value of the CERT record is not base64-encoded.', + ], + [ + 'errorCode' => 'Record.InvalidFingerprintWithSSHFPRecord', + 'errorMessage' => 'The SSHFP record fingerprint value is not hexadecimal encoded.', + 'description' => 'When creating or editing SSHFP record information, the fingerprint value is not hexadecimal encoded.', + ], + [ + 'errorCode' => 'Record.InvalidIssueDataWithCAARecordTag', + 'errorMessage' => 'The tag of a CAA record can only be a semicolon or a valid domain name separated by semicolons.', + 'description' => 'When creating or editing CAA record information, the tag tag of a CAA record can only be a semicolon or a valid domain name separated by semicolons.', + ], + [ + 'errorCode' => 'Record.InvalidMailAddressWithCAARecordTag', + 'errorMessage' => 'The CAA record tag is prefixed with mailto:, it must be followed by a legal email address.', + 'description' => 'When creating or editing CAA record information, when Tag is iodef and Value is prefixed with mailto:, it must be followed by a legal email address.', + ], + [ + 'errorCode' => 'Record.InvalidSmimeaEncodeWithSMIMEARecord', + 'errorMessage' => 'The certificate value of the SMIMEA record is not base64-encoded.', + 'description' => 'When creating or editing SMIMEA record information, the certificate value of the SMIMEA record is not base64-encoded.', + ], + [ + 'errorCode' => 'Record.InvalidTslaEncodeWithTSLARecord', + 'errorMessage' => 'The certificate value passed in is not hexadecimal encoded with TSLA record.', + 'description' => 'When creating or editing TLSA record information, the certificate value passed in is not hexadecimal encoded.', + ], + [ + 'errorCode' => 'Record.InvalidURLWithURIRecord', + 'errorMessage' => 'The URI record value must be a valid URL address.', + 'description' => 'When creating or editing URI record information, the record value must be a valid URL address.', + ], + [ + 'errorCode' => 'Record.NoRecordNameConflictWithNSRecord', + 'errorMessage' => 'No record name can conflict with an NS record name.', + 'description' => 'No record name can conflict with an NS record name.', + ], + [ + 'errorCode' => 'Record.NSRecordCannotEqualSiteName', + 'errorMessage' => 'An NS record with the exact same name as the site name is not allowed.', + 'description' => 'Adding an NS record with the exact same name as the site name is not allowed.', + ], + [ + 'errorCode' => 'Record.OSSSourceInvalidAuthType', + 'errorMessage' => 'The recorded OSS origin station authentication type is not supported.', + 'description' => 'The recorded OSS origin station authentication type is not supported.', + ], + [ + 'errorCode' => 'Record.ParseJSONRecordValueFailed', + 'errorMessage' => 'The JSON data format of the record data is incorrect. Please adjust and try again.', + 'description' => 'The JSON data format of the record data is incorrect. Please adjust and try again.', + ], + [ + 'errorCode' => 'Record.PoolSourceNotExistPool', + 'errorMessage' => 'If the source station type of the record is source address pool, the input source address pool does not exist.', + 'description' => 'If the source station type of the record is source address pool, the input source address pool does not exist.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictForSpecifiedRecordType', + 'errorMessage' => 'The A/AAAA and CNAME records cannot have the same name.', + 'description' => 'The A/AAAA and CNAME records cannot have the same name.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithIPAName', + 'errorMessage' => 'The record name cannot have the same name as the Layer 4 proxy record.', + 'description' => 'When you create or edit DNS record information, the record name cannot have the same name as the Layer 4 proxy record.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithLBName', + 'errorMessage' => 'The record name cannot be the same as the Server Load Balancer record name.', + 'description' => 'When creating or editing DNS record information, the record name cannot be the same as the Server Load Balancer record name.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithNSRecord', + 'errorMessage' => 'The NS record name cannot be the same as any other type of record name.', + 'description' => 'When creating or editing DNS record information, the NS record name cannot be the same as any other type of record name.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithPoolName', + 'errorMessage' => 'The record name cannot be the same as the source address pool record name.', + 'description' => 'When creating or editing DNS record information, the record name cannot be the same as the source address pool record name.', + ], + [ + 'errorCode' => 'Record.RecordNameInBlacklist', + 'errorMessage' => 'The record name is in blacklist.', + 'description' => 'The record name is in the blacklist and cannot be added.', + ], + [ + 'errorCode' => 'Record.S3SourceInvalidAuthRegion', + 'errorMessage' => 'The recorded S3 origin belongs to a region that is not in the supported range.', + 'description' => 'The recorded S3 origin belongs to a region that is not in the supported range.', + ], + [ + 'errorCode' => 'Record.S3SourceInvalidAuthType', + 'errorMessage' => 'The recorded S3 origin authentication type is not supported.', + 'description' => 'The recorded S3 origin authentication type is not supported.', + ], + [ + 'errorCode' => 'Record.S3SourceInvalidAuthVersion', + 'errorMessage' => 'The version of the authentication signature algorithm of the S3 origin is not supported.', + 'description' => 'The version of the authentication signature algorithm of the S3 origin is not supported.', + ], + [ + 'errorCode' => 'Record.SourceAccessKeyExceedLimit', + 'errorMessage' => 'The character length of the AccessKey parameter value for the record source station is out of range.', + 'description' => 'The character length of the AccessKey parameter value for the record source station is out of range.', + ], + [ + 'errorCode' => 'Record.SourceEmptyAK', + 'errorMessage' => 'The AccessKey of the account to which the origin site belongs is empty.', + 'description' => 'The AccessKey of the account to which the origin site belongs is empty.', + ], + [ + 'errorCode' => 'Record.SourceEmptyAuthConf', + 'errorMessage' => 'The authentication information of the origin station is empty.', + 'description' => 'The recorded authentication information of the origin station is empty.', + ], + [ + 'errorCode' => 'Record.SourceEmptySecretKey', + 'errorMessage' => 'The SecretKey of the account to which the recorded origin site belongs is empty.', + 'description' => 'The SecretKey of the account to which the recorded origin site belongs is empty.', + ], + [ + 'errorCode' => 'Record.SourceSecretKeyExceedLimit', + 'errorMessage' => 'The character length of the SecretKey parameter value for the record source station is out of range.', + 'description' => 'The character length of the SecretKey parameter value for the record source station is out of range.', + ], + [ + 'errorCode' => 'Record.SRVRecordInvalidRecordName', + 'errorMessage' => 'SRV host record name is not valid. The SRV host record name must begin with an underscore (-) followed by a lowercase letter (a-z), a number (0-9), and a hyphen (-), followed by 1 arbitrary character, followed by an underscore (-) and a lowercase letter, number, or hyphen.', + 'description' => 'SRV host record name is not valid. The SRV host record name must begin with an underscore (-), followed by a lowercase letter (a-z), number (0-9), hyphen (-), followed by any character, followed by an underscore (-) and a lowercase letter, number, or hyphen.', + ], + [ + 'errorCode' => 'Record.SRVRecordPortExceedLimit', + 'errorMessage' => 'The SRV record port is out of range.', + 'description' => 'When creating or editing DNS record information, the SRV record port filled in is out of range.', + ], + [ + 'errorCode' => 'Record.SSHFPRecordAlgorithmExceedLimit', + 'errorMessage' => 'The algorithm parameter value for the SSHFP record is out of range.', + 'description' => 'The algorithm parameter value for the SSHFP record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.TTLExceedLimit', + 'errorMessage' => 'The TTL parameter value for a record is out of range.', + 'description' => 'The TTL parameter value for a record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.TXTRecordValueExceedLimit', + 'errorMessage' => 'The TXT record value cannot exceed 450 characters.', + 'description' => 'When you create or edit DNS record information, the TXT record value cannot exceed 450 characters.', + ], + [ + 'errorCode' => 'Record.TypeExceedLimitWithSSHFPRecord', + 'errorMessage' => 'The SSHFP record Type parameter value is out of range.', + 'description' => 'The SSHFP record Type parameter value is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameContainDoubleConsecutiveDot', + 'errorMessage' => 'Illegal host record name. The host record cannot contain consecutive dot.', + 'description' => 'Illegal host record name. The host record cannot contain consecutive dot.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameForbidStarSev', + 'errorMessage' => 'Illegal host record name, SRV record name disallowed asterisk.', + 'description' => 'Illegal host record name, SRV record name disallowed asterisk.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidATChar', + 'errorMessage' => 'Illegal host record name. The at symbol can only appear at the top of the host record and can only be followed. Symbol, other strings are not allowed.', + 'description' => 'Illegal host record name. The \'@\' symbol can only appear at the top of the host record and can only be followed. Symbol, other strings are not allowed.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidNamePrefixSuffix', + 'errorMessage' => 'Illegal host record name. Host record values cannot start or end with a dot, a hyphens.', + 'description' => 'Illegal host record name. Host record values cannot start or end with a dot, a hyphens.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidStartSymbol', + 'errorMessage' => 'Illegal host record name. The asterisk is only allowed in the first place of the host record, and only the following dot is allowed after the asterisk.', + 'description' => 'Illegal host record name. The asterisk is only allowed in the first place of the host record, and only the following dot is allowed after the asterisk.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameSeperateStringTooLarge', + 'errorMessage' => 'Illegal host record name. The number of characters in each segment separated by dot cannot exceed 63.', + 'description' => 'Illegal host record name. The number of characters in each segment separated by \'.\' cannot exceed 63.', + ], + [ + 'errorCode' => 'Record.UnsupportedSourceType', + 'errorMessage' => 'The recorded source station type is not in the supported range.', + 'description' => 'The recorded source station type is not in the supported range.', + ], + [ + 'errorCode' => 'Record.UnsupportedType', + 'errorMessage' => 'The record type parameter is unsupported.', + 'description' => 'The record type parameter is incorrect. Please check the record type parameter.', + ], + [ + 'errorCode' => 'Record.ValidProxiedForSpecifedRecordType', + 'errorMessage' => 'Only A/AAAA and CNAME types support proxy acceleration.', + 'description' => 'When creating or editing a record, proxy acceleration is enabled in the proxy state. Only A/AAAA and CNAME types support proxy acceleration.', + ], + [ + 'errorCode' => 'Record.RecordUsageExceedLimit', + 'errorMessage' => 'The usage parameter value filled in is out of range.', + 'description' => 'When creating or editing DNS record information, the usage parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordSelectorExceedLimit', + 'errorMessage' => 'The selector parameter value filled in is out of range.', + 'description' => 'While creating or editing DNS record information, the selector parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordMatchingTypeExceedLimit', + 'errorMessage' => 'The matchingType parameter value filled in is out of range.', + 'description' => 'While creating or editing DNS record information, the matchingType parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordPriorityExceedLimit', + 'errorMessage' => 'The record priority parameter value filled in is out of range.', + 'description' => 'When creating or editing DNS record information, the record priority parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordWeightExceedLimit', + 'errorMessage' => 'The record weight parameter value filled in is out of range.', + 'description' => 'When creating or editing DNS record information, the record weight parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithSameRecordType', + 'errorMessage' => 'Record conflicts with an existing host record that has the same name and value.', + 'description' => 'Record conflicts with an existing host record that has the same name and value.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidUnderLine', + 'errorMessage' => 'The host record name contains an illegal underscore. The underscore is only supported at the beginning of the TXT, CNAME, MX, SRV, and NS records. Proxy acceleration cannot be enabled, and records can only be added in the DNS mode.', + 'description' => 'The host record name contains an illegal underscore. The underscore is only supported at the beginning of the TXT, CNAME, MX, SRV, and NS records. Proxy acceleration cannot be enabled, and records can only be added in the DNS mode.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidDSRecordName', + 'errorMessage' => 'Please add/import an NS record with the same name before adding this DS record.', + 'description' => 'Please add/import an NS record with the same name before adding this DS record', + ], + [ + 'errorCode' => 'InvalidParameter.CnameSiteRecordNoProxied', + 'errorMessage' => 'A non-proxied record was added for a website using a CNAME setup.', + 'description' => 'A non-proxied record was added for a website using a CNAME setup.', + ], + [ + 'errorCode' => 'Record.InvalidIodefDataWithCAARecordTag', + 'errorMessage' => 'The CAA record Tag value cannot start with mailto: or http:// or https.', + 'description' => 'When creating or editing CAA record information, the Tag value cannot start with mailto: http:// or mailto: https.', + ], + [ + 'errorCode' => 'Record.WildcardConflictForSpecifiedRecordType', + 'errorMessage' => 'The A/AAAA,CNAME records cannot add all and asterisk prefixed records at the same time.', + 'description' => 'A/AAAA,CNAME records cannot add all and asterisk prefixed records at the same time.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameOnlyContainSymbol', + 'errorMessage' => 'The host record value cannot exist separately in various symbols, and can be added with any lowercase letters or numbers.', + 'description' => 'The host record value cannot exist separately in various symbols, and can be added with any lowercase letters or numbers.'."\n", + ], + [ + 'errorCode' => 'SameNameRecordExceedLimit', + 'errorMessage' => 'The number of records with the same name exceeds the upper limit.', + 'description' => 'The number of records with the same name exceeds the upper limit.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivateIpAsSourceUnsupported', + 'errorMessage' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'errorCode' => 'InvalidParameter.SourceIpInBlacklist', + 'errorMessage' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'errorCode' => 'Record.InvalidHTTPURLValueWithCAARecordTag', + 'errorMessage' => 'The CAA record is prefixed with http:// or https://, it must be followed by a valid URL.', + 'description' => 'When you create or edit a CAA record, if the Tag is `iodef` and the Value starts with `http://` or `https://`, it must be followed by a valid URL.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameOnlyRangeChars', + 'errorMessage' => 'Illegal host record character. Only lowercase a-z, uppercase A- Z, digits 0-9, some special characters are supported as valid characters in host records.', + 'description' => 'Illegal host record character. Only lowercase a-z, uppercase A- Z, digits 0-9, \'-\', \'_\', \'.\', \'*\', and \'@\' are supported as valid characters in host records \',\' @ \'.'."\n", + ], + ], + ], + 'title' => 'CreateRecord', + 'requestParamsDescription' => 'The Data field of a record contains the DNS information for the record. The format of this field varies based on the record type. For more information, see [References](https://www.alibabacloud.com/help/doc-detail/2708761.html) .'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2025-03-28T01:22:08.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2025-02-18T05:59:13.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-11-05T03:27:37.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-10-10T12:01:10.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2024-09-24T08:28:18.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-23T02:21:51.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '10', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateRecord', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\",\\n \\"RecordId\\": 1234567890123\\n}","type":"json"}]', + ], + 'CreateRedirectRule' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257657', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the version of the site for which the configuration will take effect. The default is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- To match all incoming requests: Set the value to true'."\n" + .'- To match specific requests: Set the value to a custom expression, e.g., (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'Redirect type. Value range:'."\n" + ."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.', + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [ + 'static' => 'static', + 'dynamic' => 'dynamic', + ], + 'example' => 'static', + 'enum' => [ + 'static', + 'dynamic', + ], + 'title' => '', + ], + ], + [ + 'name' => 'TargetUrl', + 'in' => 'query', + 'schema' => [ + 'description' => 'Target URL after redirection.', + 'type' => 'string', + 'required' => true, + 'example' => 'http://www.exapmle.com/index.html'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'StatusCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Response status code used by the node to respond to the client with the redirect address. Value range:'."\n" + ."\n" + .'- 301'."\n" + .'- 302'."\n" + .'- 303'."\n" + .'- 307'."\n" + .'- 308', + 'type' => 'string', + 'required' => true, + 'example' => '301', + 'enum' => [ + '301', + '302', + '303', + '307', + '308', + ], + 'title' => '', + ], + ], + [ + 'name' => 'ReserveQueryString', + 'in' => 'query', + 'schema' => [ + 'description' => 'Preserve query string. Value range:'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => true, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller values take precedence. ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '1FCB0DA6-9B6D-509D-B91C-B9B9F0780D0E', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Create Redirect Configuration', + 'summary' => 'Add a Redirect Rule', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:38.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateRedirectRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1FCB0DA6-9B6D-509D-B91C-B9B9F0780D0E\\",\\n \\"ConfigId\\": 0\\n}","type":"json"}]', + ], + 'CreateRewriteUrlRule' => [ + 'summary' => 'Add Rewrite URL Rule', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257641', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the site configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: set the value to true'."\n" + .'- Match specific requests: set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: enable.'."\n" + .'- off: disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'RewriteUriType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'URI rewrite type. Value range:'."\n" + ."\n" + .'- static: static mode.'."\n" + .'- dynamic: dynamic mode.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'static' => 'static', + 'dynamic' => 'dynamic', + ], + 'example' => 'static', + 'enum' => [], + 'title' => '', + ], + ], + [ + 'name' => 'Uri', + 'in' => 'query', + 'schema' => [ + 'description' => 'The target URI after rewriting.', + 'type' => 'string', + 'required' => false, + 'example' => '/image/example.jpg'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RewriteQueryStringType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'Query string rewrite type. Value range:'."\n" + ."\n" + .'- static: static mode.'."\n" + .'- dynamic: dynamic mode.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'static' => 'static', + 'dynamic' => 'dynamic', + ], + 'example' => 'static'."\n", + 'enum' => [], + 'title' => '', + ], + ], + [ + 'name' => 'QueryString', + 'in' => 'query', + 'schema' => [ + 'description' => 'The query string after rewriting.', + 'type' => 'string', + 'required' => false, + 'example' => 'example=123'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. A smaller numeric value indicates higher priority. ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '39237781679****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Add Rewrite URL Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:38.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateRewriteUrlRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\",\\n \\"ConfigId\\": 0\\n}","type":"json"}]', + ], + 'CreateRoutine' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '238770', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine name, which must be unique in the same account.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine description.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'the description of this routine', + 'title' => '', + ], + ], + [ + 'name' => 'HasAssets', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Indicates whether the package includes Assets files.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'Status' => [ + 'description' => 'Indicates whether the operation is successful.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'RoutineAlreadyExist', + 'errorMessage' => 'The routine name already exists.', + 'description' => 'The routine name already exists.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'ParameterNotExist', + 'errorMessage' => 'The specified parameter does not exist. Check your configurations and try again.', + 'description' => 'The specified parameter does not exist. Check your configurations and try again.', + ], + [ + 'errorCode' => 'ServiceNotOpen', + 'errorMessage' => 'You have not activated Edge Routine. Activate the service and try again.', + 'description' => 'You have not activated Edge Routine. Activate the service and try again.', + ], + [ + 'errorCode' => 'RoutineNumberExceedQuotaLimit', + 'errorMessage' => 'The maximum number of configuration items for the feature has been reached. Adjust your configurations and try again.', + 'description' => 'The maximum number of configuration items for the feature has been reached. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'DependedByOthers', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'RoutineUserServiceStatusHalt', + 'errorMessage' => 'Failed to update the configurations because you have overdue payments.', + 'description' => 'Failed to update the configurations because you have overdue payments.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'UserOperationStatusIsLocked', + 'errorMessage' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + 'description' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + ], + ], + ], + 'title' => 'Create Edge Routine', + 'summary' => 'Create an Edge Routine.', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-04T05:48:49.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-11-05T06:54:07.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateRoutine', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateRoutine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"Status\\": \\"OK\\"\\n}","type":"json"}]', + ], + 'CreateRoutineCodeDeployment' => [ + 'summary' => 'Release the version of the function code in proportion to the specified environment.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '238829', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The function name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test', + 'title' => '', + ], + ], + [ + 'name' => 'Env', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the environment. Only supports test environment `staging` or production environment `production`.'."\n", + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'production', + 'staging', + ], + 'example' => 'staging', + 'title' => '', + ], + ], + [ + 'name' => 'Strategy', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The deployment policy. Valid value: percentage.'."\n", + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'percentage', + ], + 'example' => 'percentage', + 'title' => '', + ], + ], + [ + 'name' => 'CodeVersions', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configuration list of phased release version numbers. A maximum of two versions are supported, and the sum of the total proportions is equal to 100.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Phased release version number.'."\n", + 'type' => 'object', + 'properties' => [ + 'Percentage' => [ + 'description' => 'The phased release ratio of the code version. Valid values: 1 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '100', + 'title' => '', + ], + 'CodeVersion' => [ + 'description' => 'The version of the code.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '1723599747213377175', + 'title' => '', + ], + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 2, + 'minItems' => 1, + 'title' => '', + 'example' => '', + ], + ], + ], + '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' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'Strategy' => [ + 'description' => 'The phased release policy. The constant string is "percentage".'."\n", + 'type' => 'string', + 'example' => 'percentage', + 'title' => '', + ], + 'DeploymentId' => [ + 'description' => 'The deployment record ID.'."\n", + 'type' => 'string', + 'example' => '234', + 'title' => '', + ], + 'CodeVersions' => [ + 'description' => 'The configuration list of the phased release version number.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of the phased release version number.'."\n", + 'type' => 'object', + 'properties' => [ + 'Percentage' => [ + 'description' => 'The phased release ratio.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + 'title' => '', + ], + 'CodeVersion' => [ + 'description' => 'The version of the code.'."\n", + 'type' => 'string', + 'example' => '1723599747213377175', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'ParameterNotExist', + 'errorMessage' => 'The specified parameter does not exist. Check your configurations and try again.', + 'description' => 'The specified parameter does not exist. Check your configurations and try again.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'DependedByOthers', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'RoutineUserServiceStatusHalt', + 'errorMessage' => 'Failed to update the configurations because you have overdue payments.', + 'description' => 'Failed to update the configurations because you have overdue payments.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Parameter verification failed. Check your configurations and try again.', + 'description' => 'Parameter verification failed. Check your configurations and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'CreateRoutineCodeDeployment', + 'description' => '## 请求说明'."\n" + .'- 创建Routine代码版本部署时,环境名`Env`仅支持填写测试环境`staging`或生产环境`production`。'."\n" + .'- `CodeVersions`参数最多支持两个版本的灰度发布,并且这些版本的比例总和必须等于100%。'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateRoutineCodeDeployment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"Strategy\\": \\"percentage\\",\\n \\"DeploymentId\\": \\"234\\",\\n \\"CodeVersions\\": [\\n {\\n \\"Percentage\\": 100,\\n \\"CodeVersion\\": \\"1723599747213377175\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'CreateRoutineRelatedRecord' => [ + 'summary' => 'Add an associated site record for an Edge Routine. This creates a new record under the specified site to trigger the execution of the Edge Routine program code.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239007', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '54362329990032', + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The record name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-record-1.example.com', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'Status' => [ + 'description' => 'Indicates whether the operation is successful.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'RecordId' => [ + 'description' => 'The record ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3227405728754048', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'DependedByOthers', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SiteParameterNotMatch', + 'errorMessage' => 'Failed to verify website parameters.Check the parameters and try again.', + 'description' => 'Failed to verify website parameters.Check the parameters and try again.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'ParameterAlreadyExist', + 'errorMessage' => 'Parameter uniqueness verification failed. Check for duplicate parameter values.', + 'description' => 'Parameter uniqueness verification failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RelatedRecordNumberExceedQuotaLimit', + 'errorMessage' => 'The maximum number of records associated with the routine has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + 'description' => 'The maximum number of records associated with the routine has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + ], + [ + 'errorCode' => 'RoutineUserServiceStatusHalt', + 'errorMessage' => 'Failed to update the configurations because you have overdue payments.', + 'description' => 'Failed to update the configurations because you have overdue payments.', + ], + [ + 'errorCode' => 'UserOperationStatusIsLocked', + 'errorMessage' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + 'description' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Creation of an Edge Routine association record', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-04T05:48:48.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-11-05T06:54:07.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateRoutineRelatedRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"Status\\": \\"OK\\",\\n \\"RecordId\\": 3227405728754048\\n}","type":"json"}]', + ], + 'CreateRoutineRoute' => [ + 'summary' => 'Adds edge function routing configurations.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '266190', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'RouteName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the route.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test_route', + 'title' => '', + ], + ], + [ + 'name' => 'RouteEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'The routing switch. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content of the rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")', + 'title' => '', + ], + ], + [ + 'name' => 'RoutineName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The edge function name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + [ + 'name' => 'Bypass', + 'in' => 'query', + 'schema' => [ + 'description' => 'Bypass mode Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'The order in which the rule is executed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'Fallback', + 'in' => 'query', + 'schema' => [ + 'description' => 'The exception origin fetch switch. After you turn on this switch, if a function exception occurs, such as CPU usage exceeding the upper limit, requests are sent back to the origin. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + ], + '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' => '04F0F334-1335-436C-A1D7-6C044FE73368'."\n", + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidRoutine', + 'errorMessage' => 'The name of routine is invalid.', + 'description' => 'Edge function name is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\\\n\\",\\n \\"ConfigId\\": 0\\n}","type":"json"}]', + 'title' => 'CreateRoutineRoute', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-25T05:35:35.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateRoutineRoute', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateRoutineRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'CreateScheduledPreloadExecutions' => [ + 'summary' => 'Creates scheduled prefetch plans.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239296', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the prefetch task, which is generated by calling the [CreateScheduledPreloadJob](~~2850459~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '665d3af3621bccf3fe29e1a4', + 'title' => '', + ], + ], + [ + 'name' => 'Executions', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The scheduled prefetch plans to create.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the prefetch plans.'."\n", + 'type' => 'object', + 'properties' => [ + 'StartTime' => [ + 'description' => 'The start time of the prefetch plans.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2024-06-03T16:00:00Z', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time of the prefetch plans.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2024-06-04T02:02:09Z', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'The time interval between each batch execution. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'minimum' => '1', + 'example' => '30', + 'title' => '', + ], + 'SliceLen' => [ + 'description' => 'The number of URLs prefetched in each batch.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '10', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 10, + 'minItems' => 1, + 'title' => '', + 'example' => '', + ], + ], + ], + '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' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', + ], + 'FailedExecutions' => [ + 'description' => 'The information about prefetch plans that failed to be created.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The ID of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '66599bd7397885b43804901c', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The start time of the prefetch plans.'."\n", + 'type' => 'string', + 'example' => '2024-06-02T02:43:35Z', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time of the prefetch plans.'."\n", + 'type' => 'string', + 'example' => '2024-06-03T02:43:35Z', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'The time interval between each batch execution. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + 'SliceLen' => [ + 'description' => 'The number of URLs prefetched in each batch.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the prefetch plan. Valid values:'."\n" + ."\n" + .'* **waiting**'."\n" + .'* **running**'."\n" + .'* **finished**'."\n" + .'* **failed**'."\n" + .'* **stopped**', + 'type' => 'string', + 'example' => 'running', + 'title' => '', + ], + 'JobId' => [ + 'description' => 'The ID of the prefetch task.'."\n", + 'type' => 'string', + 'example' => '665d3af3621bccf3fe29e1a4', + 'title' => '', + ], + 'AliUid' => [ + 'description' => 'The ID of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '15685865xxx14622', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'FailedMessages' => [ + 'description' => 'The information about plan failures.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The failure information.'."\n", + 'type' => 'string', + 'example' => 'execution id: 66599bd7397885b43804921c, error: end time is before start time.', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SuccessCount' => [ + 'description' => 'The number of prefetch plans that are created.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '12', + 'title' => '', + ], + 'SuccessExecutions' => [ + 'description' => 'The information about created prefetch plans.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The ID of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '66599bd7397885b43804901c', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The start time of the prefetch plans.'."\n", + 'type' => 'string', + 'example' => '2024-06-02T02:43:35Z', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time of the prefetch plans.'."\n", + 'type' => 'string', + 'example' => '2024-06-03T02:43:35Z', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'The time interval between each batch execution. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + 'SliceLen' => [ + 'description' => 'The number of URLs prefetched in each batch.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the prefetch plan. Valid values:'."\n" + ."\n" + .'* **waiting**'."\n" + .'* **running**'."\n" + .'* **finished**'."\n" + .'* **failed**'."\n" + .'* **stopped**', + 'type' => 'string', + 'example' => 'failed', + 'title' => '', + ], + 'JobId' => [ + 'description' => 'The ID of the prefetch task.'."\n", + 'type' => 'string', + 'example' => '665d3af3621bccf3fe29e1a4', + 'title' => '', + ], + 'AliUid' => [ + 'description' => 'The ID of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '15685865xxx14622', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of new plans requested.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidJob.JobCountOfSiteFull', + 'errorMessage' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectId', + 'errorMessage' => 'Invalid task ID or execution plan ID.', + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'errorCode' => 'MissingOssUrl', + 'errorMessage' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'errorCode' => 'MissingUrlList', + 'errorMessage' => 'Enter the URLs you want to prefetch.', + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUid.PermissionDenied', + 'errorMessage' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + ], + [ + [ + 'errorCode' => 'InvalidJob.NotFound', + 'errorMessage' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'errorCode' => 'LogNotFound', + 'errorMessage' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'errorCode' => 'InvalidExecution.NotFound', + 'errorMessage' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\",\\n \\"FailedExecutions\\": [\\n {\\n \\"Id\\": \\"66599bd7397885b43804901c\\",\\n \\"StartTime\\": \\"2024-06-02T02:43:35Z\\",\\n \\"EndTime\\": \\"2024-06-03T02:43:35Z\\",\\n \\"Interval\\": 60,\\n \\"SliceLen\\": 10,\\n \\"Status\\": \\"running\\",\\n \\"JobId\\": \\"665d3af3621bccf3fe29e1a4\\",\\n \\"AliUid\\": \\"15685865xxx14622\\"\\n }\\n ],\\n \\"FailedMessages\\": [\\n \\"execution id: 66599bd7397885b43804921c, error: end time is before start time.\\"\\n ],\\n \\"SuccessCount\\": 12,\\n \\"SuccessExecutions\\": [\\n {\\n \\"Id\\": \\"66599bd7397885b43804901c\\",\\n \\"StartTime\\": \\"2024-06-02T02:43:35Z\\",\\n \\"EndTime\\": \\"2024-06-03T02:43:35Z\\",\\n \\"Interval\\": 60,\\n \\"SliceLen\\": 10,\\n \\"Status\\": \\"failed\\",\\n \\"JobId\\": \\"665d3af3621bccf3fe29e1a4\\",\\n \\"AliUid\\": \\"15685865xxx14622\\"\\n }\\n ],\\n \\"TotalCount\\": 2\\n}","type":"json"}]', + 'title' => 'CreateScheduledPreloadExecutions', + 'changeSet' => [ + [ + 'createdAt' => '2024-11-12T03:12:20.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateScheduledPreloadExecutions', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateScheduledPreloadExecutions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'CreateScheduledPreloadJob' => [ + 'summary' => 'Adds a scheduled prefetch task.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239344', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'InsertWay', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The method to submit URLs to be prefetched.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* **textBox**'."\n" + .'* **oss**', + 'type' => 'string', + 'required' => true, + 'example' => 'oss', + 'enum' => [ + 'textBox', + 'oss', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the scheduled prefetch task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example', + 'maxLength' => 128, + 'minLength' => 1, + 'pattern' => '^([^\\x00-\\xff]|[\\w.,;/@\\n-])+$', + 'title' => '', + ], + ], + [ + 'name' => 'OssUrl', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The URL of the OSS object that stores the URLs to be prefetched.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '190007158391808', + 'title' => '', + ], + ], + [ + 'name' => 'UrlList', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The URLs to be prefetched. This parameter is required if you set InsertWay to textBox.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://testurl.com/a.txt'."\n" + .'http://testurl.com/b.txt', + 'title' => '', + ], + ], + ], + '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' => '15C66C7B-671A-4297-9187-2C4477247B78', + ], + 'AliUid' => [ + 'title' => '', + 'description' => 'The ID of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '15685865xxx14622', + ], + 'CreatedAt' => [ + 'title' => '', + 'description' => 'The time when the task was created.'."\n", + 'type' => 'string', + 'example' => '2023-06-05T10:04:20+0800', + ], + 'Domains' => [ + 'title' => '', + 'description' => 'The domain names to be prefetched.'."\n", + 'type' => 'string', + 'example' => 'testurl.com', + ], + 'ErrorInfo' => [ + 'title' => '', + 'description' => 'The error message. Multiple error messages are separated by commas (,). Valid values:'."\n" + ."\n" + .'* **InvalidUrl**: The URL format is invalid.'."\n" + .'* **InvalidDomain**: The domain name fails the domain ownership verification.'."\n" + .'* **QuotaExcess**: the quota limit has been reached.'."\n" + .'* **OtherErrors**: other errors.', + 'type' => 'string', + 'example' => 'InvalidDomain', + ], + 'FailedFileOss' => [ + 'title' => '', + 'description' => 'The URL of the OSS object that stores a list of URLs that failed the conditional check for prefetching.'."\n", + 'type' => 'string', + 'example' => 'https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7', + ], + 'FileId' => [ + 'title' => '', + 'description' => 'The ID of the URL list file, which can be used during downloads.'."\n", + 'type' => 'string', + 'example' => '665d3b48621bccf3fe29e1a7', + ], + 'Id' => [ + 'title' => '', + 'description' => 'The ID of the scheduled prefetch task.'."\n", + 'type' => 'string', + 'example' => '665d3af3621bccf3fe29e1a4', + ], + 'InsertWay' => [ + 'title' => '', + 'description' => 'The method to submit the URLs to be prefetched.'."\n", + 'type' => 'string', + 'example' => 'oss', + 'enum' => [ + 'file', + 'url', + ], + ], + 'Name' => [ + 'title' => '', + 'description' => 'The task name.'."\n", + 'type' => 'string', + 'example' => 'example', + ], + 'SiteId' => [ + 'title' => '', + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '190007158391808', + ], + 'TaskSubmitted' => [ + 'title' => '', + 'description' => 'The number of submitted prefetch tasks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TaskType' => [ + 'title' => '', + 'description' => 'The task type (refresh or preload).'."\n", + 'type' => 'string', + 'example' => 'preload', + 'enum' => [ + 'preload', + 'refresh', + 'path', + ], + ], + 'UrlCount' => [ + 'title' => '', + 'description' => 'The total number of URLs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'UrlSubmitted' => [ + 'title' => '', + 'description' => 'The number of submitted URLs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidJob.JobCountOfSiteFull', + 'errorMessage' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectId', + 'errorMessage' => 'Invalid task ID or execution plan ID.', + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'errorCode' => 'MissingOssUrl', + 'errorMessage' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'errorCode' => 'MissingUrlList', + 'errorMessage' => 'Enter the URLs you want to prefetch.', + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUid.PermissionDenied', + 'errorMessage' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + ], + [ + [ + 'errorCode' => 'InvalidJob.NotFound', + 'errorMessage' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'errorCode' => 'LogNotFound', + 'errorMessage' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'errorCode' => 'InvalidExecution.NotFound', + 'errorMessage' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247B78\\",\\n \\"AliUid\\": \\"15685865xxx14622\\",\\n \\"CreatedAt\\": \\"2023-06-05T10:04:20+0800\\",\\n \\"Domains\\": \\"testurl.com\\",\\n \\"ErrorInfo\\": \\"InvalidDomain\\",\\n \\"FailedFileOss\\": \\"https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7\\",\\n \\"FileId\\": \\"665d3b48621bccf3fe29e1a7\\",\\n \\"Id\\": \\"665d3af3621bccf3fe29e1a4\\",\\n \\"InsertWay\\": \\"oss\\",\\n \\"Name\\": \\"example\\",\\n \\"SiteId\\": 190007158391808,\\n \\"TaskSubmitted\\": 1,\\n \\"TaskType\\": \\"preload\\",\\n \\"UrlCount\\": 2,\\n \\"UrlSubmitted\\": 1\\n}","type":"json"}]', + 'title' => 'CreateScheduledPreloadJob', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateScheduledPreloadJob', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateScheduledPreloadJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'CreateSite' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239619', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'SiteName', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + ], + ], + [ + 'name' => 'Coverage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The service location. Valid values:'."\n" + ."\n" + .'* **domestic**: the Chinese mainland'."\n" + .'* **global**: global'."\n" + .'* **overseas**: outside the Chinese mainland'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'domestic', + 'enum' => [ + 'global', + 'domestic', + 'overseas', + ], + 'title' => '', + ], + ], + [ + 'name' => 'AccessType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The DNS setup. Valid values:'."\n" + ."\n" + .'* **NS**'."\n" + .'* **CNAME**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'NS', + 'enum' => [ + 'NS', + 'CNAME', + ], + 'title' => '', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The instance ID, which can be obtained by calling the [ListUserRatePlanInstances](~~2852398~~) operation. Specify at least one of the instance ID and website ID. If you specify both of them, the instance ID is used.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'dbaudit-cn-nwy349jdb03'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group. If you leave this parameter empty, the system uses the default resource group ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-acfmw4znnok****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-3C82-72F8FD6DA2FE', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'NameServerList' => [ + 'description' => 'The nameservers assigned by ESA. The values are separated by commas (,). This parameter is returned if you set AccessType to NS. In this case, you must change the nameservers of your domain to the assigned ones. Then, you can verify the domain ownership and activate your website.'."\n", + 'type' => 'string', + 'example' => 'ns1.example.com,ns2.example.com', + 'title' => '', + ], + 'VerifyCode' => [ + 'description' => 'The verification code for the website. If you set AccessType to CNAME, you need to add a TXT record whose hostname is **\\_esaauth.\\[websiteDomainName]** and record value is the value of VerifyCode to the DNS records of your domain. ****Then, you can verify the domain ownership and activate your website.'."\n", + 'type' => 'string', + 'example' => 'verify_aah9dioasmov****', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'InvalidParameter.SiteName', + 'errorMessage' => 'Invalid website name. Specify a valid name that contains letters and digits and does not contain special characters.', + 'description' => 'Invalid website name. Specify a valid name that contains letters and digits and does not contain special characters.', + ], + [ + 'errorCode' => 'QuotaExceed.SiteCount', + 'errorMessage' => 'The maximum number of websites associated with your plan has been reached.', + 'description' => 'The maximum number of websites associated with your plan has been reached.', + ], + [ + 'errorCode' => 'Site.Conflict', + 'errorMessage' => 'Duplicate website names exist across multiple accounts. Rename or delete one and try again.', + 'description' => 'Duplicate website names exist across multiple accounts. Rename or delete one and try again.', + ], + [ + 'errorCode' => 'Site.AlreadyExist', + 'errorMessage' => 'The website name you specified already exists. Try with another name.', + 'description' => 'The website name you specified already exists. Try with another name.', + ], + [ + 'errorCode' => 'SubSiteUnavailable', + 'errorMessage' => 'Subdomains are allowed only in Enterprise plans. Upgrade your plan to add a subdomain to ESA.', + 'description' => 'Subdomains are allowed only in Enterprise plans. Upgrade your plan to add a subdomain to ESA.', + ], + [ + 'errorCode' => 'Site.InvalidCoverage', + 'errorMessage' => 'The selected location is unavailable in your plan. Change the location to one that is covered by the plan and try again.', + 'description' => 'The selected location is unavailable in your plan. Change the location to one that is covered by the plan and try again.', + ], + [ + 'errorCode' => 'InvalidSiteICP', + 'errorMessage' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + 'description' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + ], + [ + 'errorCode' => 'InvalidSiteName', + 'errorMessage' => 'Invalid website name. Check and try again.', + 'description' => 'Invalid website name. Check and try again.', + ], + [ + 'errorCode' => 'Site.InBlacklist', + 'errorMessage' => 'The site name is in the blacklist.', + 'description' => 'The site name is in the blacklist.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + 'description' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + ], + ], + ], + 'title' => 'CreateSite', + 'summary' => 'Adds a website.', + 'description' => '* Make sure that you have an available plan before you add a website.'."\n" + .'* Make sure that your website domain name has an ICP filing if the location you want to specify covers the Chinese mainland.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-10-10T02:01:25.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-10-08T03:26:26.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateSite', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-3C82-72F8FD6DA2FE\\",\\n \\"SiteId\\": 1234567890123,\\n \\"NameServerList\\": \\"ns1.example.com,ns2.example.com\\",\\n \\"VerifyCode\\": \\"verify_aah9dioasmov****\\"\\n}","type":"json"}]', + ], + 'CreateSiteCustomLog' => [ + 'summary' => 'Adds the configuration of custom request header, response header, and cookie fields that are used to capture logs of a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238449', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '11223', + 'title' => '', + ], + ], + [ + 'name' => 'RequestHeaders', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request header fields.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The request header field.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'x-acs-request-id', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ResponseHeaders', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The response header fields.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The response header field.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'X_Swift_Error', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Cookies', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The cookie fields.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The cookie field.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sessionId', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '073bd613-6e72-4461-b6bc-19326dfc6a9c', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'RealTimeLog.RegexpCheckFail', + 'errorMessage' => 'Invalid characters exist in your parameter configurations. Check your configurations and try again.', + 'description' => 'Invalid characters exist in your parameter configurations. Check your configurations and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"073bd613-6e72-4461-b6bc-19326dfc6a9c\\"\\n}","type":"json"}]', + 'title' => 'CreateSiteCustomLog', + 'description' => '* **Custom field limits**: The key name of a custom field can contain only letters, digits, underscores (\\_), and spaces. The key name cannot contain other characters. Otherwise, errors may occur.'."\n" + .'* **Parameter passing**: Submit `SiteId`, `RequestHeaders`, `ResponseHeaders`, and `Cookies` by using `formData`. Each array element matches a custom field name.'."\n" + .'* **(Required) SiteId**: Although `SiteId` is not marked as required in the Required column, you must specify a website ID by using this parameter when you can call this API operation.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-09-27T05:57:03.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateSiteCustomLog', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateSiteCustomLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'CreateSiteDeliveryTask' => [ + 'summary' => 'Creates a real-time log delivery task.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239178', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'BusinessType', + 'in' => 'formData', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'* **dcdn_log_access_l1** (default): access logs.'."\n" + .'* **dcdn_log_er**: Edge Routine logs.'."\n" + .'* **dcdn_log_waf**: firewall logs.'."\n" + .'* **dcdn_log_ipa**: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'dcdn_log_access_l1', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '12312312112***', + 'title' => '', + ], + ], + [ + 'name' => 'DataCenter', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The data center. Valid values:'."\n" + ."\n" + .'* cn: the Chinese mainland.'."\n" + .'* oversea: outside the Chinese mainland.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn', + 'title' => '', + ], + ], + [ + 'name' => 'TaskName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'dcdn-test-task', + 'title' => '', + ], + ], + [ + 'name' => 'FieldName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The log fields, which are separated by commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'user_agent,ip_adress,ip_port', + 'title' => '', + ], + ], + [ + 'name' => 'DeliveryType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The destination of the delivery. Valid values:'."\n" + ."\n" + .'* sls: Alibaba Cloud Simple Log Service (SLS).'."\n" + .'* http: HTTP server.'."\n" + .'* aws3: Amazon Simple Storage Service (S3).'."\n" + .'* oss: Alibaba Cloud Object Storage Service (OSS).'."\n" + .'* kafka: Kafka.'."\n" + .'* aws3cmpt: S3-compatible storage service.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'sls', + 'title' => '', + ], + ], + [ + 'name' => 'DiscardRate', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The discard rate. Default value: 0.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.0', + 'title' => '', + ], + ], + [ + 'name' => 'S3Delivery', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations for delivery to Amazon S3 or an S3-compatible service.'."\n", + 'type' => 'object', + 'properties' => [ + 'Region' => [ + 'description' => 'The region ID of the service.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + 'title' => '', + ], + 'BucketPath' => [ + 'description' => 'The directory in the bucket.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'logriver-test/log', + 'title' => '', + ], + 'AccessKey' => [ + 'description' => 'The access key ID of your Amazon S3 account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'yourAccessKeyID', + 'title' => '', + ], + 'SecretKey' => [ + 'description' => 'The secret access key of your Amazon S3 account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'LDSIKh***', + 'title' => '', + ], + 'Endpoint' => [ + 'description' => 'The endpoint. This parameter is required when the S3Cmpt parameter is set to true.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'https://s3.oss-cn-hangzhou.aliyuncs.com', + 'title' => '', + ], + 'PrefixPath' => [ + 'description' => 'The prefix of the path in which you want to store logs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'logriver-test/log', + 'title' => '', + ], + 'S3Cmpt' => [ + 'description' => 'Specifies whether the service is compatible with Amazon S3.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'ServerSideEncryption' => [ + 'type' => 'boolean', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'VertifyType' => [ + 'type' => 'string', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'OssDelivery', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations for delivery to OSS.'."\n", + 'type' => 'object', + 'properties' => [ + 'Region' => [ + 'description' => 'The region in which the bucket is located.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-shanghai', + 'title' => '', + ], + 'Aliuid' => [ + 'description' => 'The ID of your Alibaba Cloud account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1234***', + 'title' => '', + ], + 'BucketName' => [ + 'description' => 'The name of the OSS bucket.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test_rlog', + 'title' => '', + ], + 'PrefixPath' => [ + 'description' => 'The prefix of the path in which you want to store logs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test/', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'HttpDelivery', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations for delivery to an HTTP server.'."\n", + 'type' => 'object', + 'properties' => [ + 'DestUrl' => [ + 'description' => 'The address of the HTTP server.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://xxx.aliyun.com/v1/log/upload', + 'title' => '', + ], + 'StandardAuthOn' => [ + 'description' => 'Specifies whether to use server authentication.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'StandardAuthParam' => [ + 'description' => 'The authentication configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'PrivateKey' => [ + 'description' => 'The private key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '***', + 'title' => '', + ], + 'ExpiredTime' => [ + 'description' => 'The validity period of the signature.'."\n" + ."\n" + .'> The value must be greater than 0. We recommend that you specify a value that is greater than 300.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + 'UrlPath' => [ + 'description' => 'The URI path for server authentication.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1/log/upload', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'MaxBatchSize' => [ + 'description' => 'The maximum number of entries for each delivery.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1000', + 'title' => '', + ], + 'MaxBatchMB' => [ + 'description' => 'The maximum size of data for each delivery. Unit: MB.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5', + 'title' => '', + ], + 'MaxRetry' => [ + 'description' => 'The maximum number of retries.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + 'title' => '', + ], + 'TransformTimeout' => [ + 'description' => 'The timeout period. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + 'LogBodyPrefix' => [ + 'description' => 'The prefix of the log delivery package.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cdnVersion:1.0', + 'title' => '', + ], + 'LogBodySuffix' => [ + 'description' => 'The suffix of the log delivery package.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cdnVersion:1.0', + 'title' => '', + ], + 'Compress' => [ + 'description' => 'The compression method. By default, data is not compressed.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'gzip', + 'title' => '', + ], + 'HeaderParam' => [ + 'description' => 'The custom headers.'."\n", + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'StaticValue' => [ + 'type' => 'string', + 'required' => false, + 'example' => 'alicdn', + 'description' => 'The static variable.'."\n", + 'title' => '', + ], + ], + 'description' => 'The header field.'."\n", + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'QueryParam' => [ + 'description' => 'The custom query parameters.'."\n", + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'StaticValue' => [ + 'type' => 'string', + 'required' => false, + 'description' => 'The static variable.'."\n", + 'example' => 'alicdn', + 'title' => '', + ], + ], + 'description' => 'The name of the custom request parameter.'."\n", + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'LogSplit' => [ + 'type' => 'boolean', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'LastLogSplit' => [ + 'type' => 'boolean', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'LogSplitWords' => [ + 'type' => 'string', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'KafkaDelivery', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations for delivery to Kafka.'."\n", + 'type' => 'object', + 'properties' => [ + 'Topic' => [ + 'description' => 'The topic.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dqc_test2', + 'title' => '', + ], + 'UserAuth' => [ + 'description' => 'Specifies whether to enable authentication.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'MachanismType' => [ + 'description' => 'The encryption method.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'plain', + 'title' => '', + ], + 'UserName' => [ + 'description' => 'The username.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'xxx', + 'title' => '', + ], + 'Password' => [ + 'description' => 'The password.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '***', + 'title' => '', + ], + 'Brokers' => [ + 'description' => 'The brokers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Kafka brokers.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.168.xxx.xxx:9902', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Compress' => [ + 'description' => 'The compression method.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lz4', + 'title' => '', + ], + 'Balancer' => [ + 'description' => 'The load balancing method.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'kafka.LeastBytes', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SlsDelivery', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations for delivery to SLS.'."\n", + 'type' => 'object', + 'properties' => [ + 'SLSRegion' => [ + 'description' => 'The region in which the SLS project resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'title' => '', + ], + 'SLSProject' => [ + 'description' => 'The name of the SLS project.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dcdn-test20240417', + 'title' => '', + ], + 'SLSLogStore' => [ + 'description' => 'The name of the Logstore.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'accesslog-test', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'FilterVer', + 'in' => 'formData', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9358E852-992D-5BC7-8BD7-975CA02773A8', + ], + 'TaskName' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'er-oss', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.[](~~2850189~~)'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****', + 'title' => '', + ], + 'DataCenter' => [ + 'description' => 'The data center. Valid values:'."\n" + ."\n" + .'* cn: the Chinese mainland.'."\n" + .'* oversea: outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => 'cn', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'RealTimeLog.ProjectExistError', + 'errorMessage' => 'The real-time log delivery task name already exists. Check the task name and try again.', + 'description' => 'The real-time log delivery task name already exists. Check the task name and try again.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'RealTimeLog.KafkaBrokersExceedError', + 'errorMessage' => 'The number of Kafka Broker addresses for real-time log delivery has reached the upper limit (50).', + 'description' => 'The number of Kafka Broker addresses for real-time log delivery has reached the upper limit (50).', + ], + [ + 'errorCode' => 'RealTimeLog.S3EndpointInvalidError', + 'errorMessage' => 'Invalid S3 information for the delivery task. Check your configurations and try again.', + 'description' => 'Invalid S3 information for the delivery task. Check your configurations and try again.', + ], + [ + 'errorCode' => 'RealTimeLog.StatusQuotaError', + 'errorMessage' => 'The maximum number of real-time log delivery tasks has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + 'description' => 'The maximum number of real-time log delivery tasks has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + ], + [ + 'errorCode' => 'EsaService.NotOpen', + 'errorMessage' => 'ESA service has not opend.', + 'description' => 'Edge Security Accelerator (ESA) is not turned on', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9358E852-992D-5BC7-8BD7-975CA02773A8\\",\\n \\"TaskName\\": \\"er-oss\\",\\n \\"SiteId\\": 0,\\n \\"DataCenter\\": \\"cn\\"\\n}","type":"json"}]', + 'title' => 'CreateSiteDeliveryTask', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-24T01:43:11.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-02-28T07:44:20.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-10-18T01:07:12.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2024-09-27T05:57:03.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-24T08:31:52.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateSiteDeliveryTask', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateSiteDeliveryTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'CreateTransportLayerApplication' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '245117', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVFT29S', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Domain name of the transport layer application.', + 'type' => 'string', + 'required' => true, + 'example' => 'aaa.example.com', + 'title' => '', + ], + ], + [ + 'name' => 'Rules', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'List of forwarding rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the rule. For each rule, except for the comment, all other parameters are required.', + 'type' => 'object', + 'properties' => [ + 'Protocol' => [ + 'description' => 'Forwarding rule protocol, with values:'."\n" + ."\n" + .'- TCP: TCP protocol.'."\n" + .'- UDP: UDP protocol.', + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'TCP', + 'UDP', + ], + 'example' => 'TCP', + 'title' => '', + ], + 'EdgePort' => [ + 'description' => 'Edge port. Supports:'."\n" + ."\n" + .'- A single port, such as 80.'."\n" + .'- Port range, such as 81-85, representing ports 81, 82, 83, 84, and 85.'."\n" + .'- Combination of ports and port ranges, separated by commas, such as 80,81-85,90, representing ports 80, 81, 82, 83, 84, 85, and 90.'."\n" + ."\n" + .'Edge ports within a single rule and between multiple rules must not overlap.', + 'type' => 'string', + 'required' => true, + 'example' => '80', + 'title' => '', + ], + 'SourceType' => [ + 'description' => 'Origin type, supporting:'."\n" + .'- **ip**: IP address.'."\n" + .'- **domain**: Domain name.'."\n" + .'- **OP**: Origin pool.'."\n" + .'- **LB**: Load balancer.', + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'ip', + 'domain', + 'OP', + 'LB', + ], + 'example' => 'ip', + 'title' => '', + ], + 'SourcePort' => [ + 'description' => 'Origin port. Supports:'."\n" + ."\n" + .'- A single port, when the origin port is a single port, any valid combination of edge ports is supported.'."\n" + .'- Port range, only when the edge port is a port range, the origin port can be set to a port range, and the size of the range must match that of the edge port. For example, if the edge port is 90-93, the origin port cannot be set to 81-85 because the origin port range is 5 and the edge port range is 3, which do not match.', + 'type' => 'string', + 'required' => true, + 'example' => '80', + 'title' => '', + ], + 'ClientIPPassThroughMode' => [ + 'description' => 'Client IP pass-through protocol, supporting:'."\n" + .'- **off**: No pass-through.'."\n" + .'- **PPv1**: PROXY Protocol v1, supports client IP pass-through for TCP protocol.'."\n" + .'- **PPv2**: PROXY Protocol v2, supports client IP pass-through for TCP and UDP protocols.'."\n" + .'- **SPP**: Simple Proxy Protocol, supports client IP pass-through for UDP protocol.', + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'off', + 'PPv2', + 'PPv1', + 'SPP', + ], + 'example' => 'SPP', + 'title' => '', + ], + 'Source' => [ + 'description' => 'Specific value of the origin, which needs to match the origin type.', + 'type' => 'string', + 'required' => true, + 'example' => '1.1.1.1', + 'title' => '', + ], + 'Comment' => [ + 'description' => 'Comment information for the rule (optional).', + 'type' => 'string', + 'required' => false, + 'example' => '测试', + 'title' => '', + ], + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'IpAccessRule', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP access rule switch. When enabled, the WAF\'s IP access rules apply to the transport layer application.'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Ipv6', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6 switch.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'off', + 'title' => '', + ], + ], + [ + 'name' => 'CrossBorderOptimization', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable China mainland network access optimization, default is disabled. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'StaticIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'Request response details.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '9e5448c7-edaf-49aa-9887-0fcd0832306c', + 'title' => '', + ], + 'ApplicationId' => [ + 'description' => 'Layer 4 application ID', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '165503967****', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordData', + 'errorMessage' => 'Invalid record content. Adjust your configurations based on the API documentation.', + 'description' => 'Invalid record content. Adjust your configurations based on the API documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordType', + 'errorMessage' => 'Invalid record type. Adjust your configurations based on the API documentation.', + 'description' => 'Invalid record type. Adjust your configurations based on the API documentation.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'QuotaExceed.RecordCount', + 'errorMessage' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + 'description' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + ], + [ + 'errorCode' => 'Record.Conflict', + 'errorMessage' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + 'description' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'TransportLayerRulesExceedLimit', + 'errorMessage' => 'The configured forwarding rules have exceeded the maximum limit. Delete useless forwarding rules and try again.', + 'description' => 'The configured forwarding rules have exceeded the maximum limit. Delete useless forwarding rules and try again.', + ], + [ + 'errorCode' => 'TransportLayerApplicationConflict', + 'errorMessage' => 'The Layer -4 accelerated application conflicts with other applications. Check whether the application name and host record conflict with other applications in the site.', + 'description' => 'The Layer -4 accelerated application conflicts with other applications. Check whether the application name and host record conflict with other applications in the site.', + ], + [ + 'errorCode' => 'SourceCircleExist', + 'errorMessage' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + 'description' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidRecordName', + 'errorMessage' => 'The record name you entered does not meet the specifications. Change the record name according to the product documentation.', + 'description' => 'The record name you entered does not meet the specifications. Please adjust the record name according to the product documentation.', + ], + [ + 'errorCode' => 'EdgePortsOverlap', + 'errorMessage' => 'There is overlap between multiple edge ports, please check and try again after modification.', + 'description' => 'There is overlap between multiple edge ports, please check and try again after modification.', + ], + [ + 'errorCode' => 'InvalidParameter.ClientIpPassThroughMode', + 'errorMessage' => 'Invalid client IP transfer protocol, please refer to the interface document and pass in valid parameters.', + 'description' => 'Invalid client IP transfer protocol, please refer to the interface document and pass in valid parameters.', + ], + [ + 'errorCode' => 'InvalidParameter.RuleSource', + 'errorMessage' => 'The origin of the forwarding rule does not exist or is invalid. Enter the correct origin and try again.', + 'description' => 'The origin of the forwarding rule does not exist or is invalid. Enter the correct origin and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.Port', + 'errorMessage' => 'Invalid edge port or origin port. Enter a valid port as required in the interface document.', + 'description' => 'Invalid edge port or origin port. Enter a valid port as required in the interface document.', + ], + [ + 'errorCode' => 'InvalidParameter.Protocol', + 'errorMessage' => 'Invalid port protocol. Enter a valid port protocol as required by the interface documentation.', + 'description' => 'Invalid port protocol. Enter a valid port protocol as required by the interface documentation.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'IpaResourceUnavailable', + 'errorMessage' => 'The resource is unavailable.', + 'description' => 'The resource is unavailable.', + ], + [ + 'errorCode' => 'Record.NoResource', + 'errorMessage' => 'Failed to allocate resources for the record. Please submit a ticket for processing.', + 'description' => 'Failed to allocate resources for the record. Please submit a work order for processing.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivateIpAsSourceUnsupported', + 'errorMessage' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'errorCode' => 'InvalidParameter.SourceIpInBlacklist', + 'errorMessage' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'errorCode' => 'Site.NotActive', + 'errorMessage' => 'The status of the applied site or site is not activated.', + 'description' => 'The status of the applied site or site is not activated.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Create Transport Layer Acceleration Application', + 'summary' => 'Create Transport Layer Application', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9e5448c7-edaf-49aa-9887-0fcd0832306c\\",\\n \\"ApplicationId\\": 0\\n}","type":"json"}]', + ], + 'CreateUrlObservation' => [ + 'summary' => 'Create a web page monitoring configuration.', + 'path' => '', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '264795', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456******', + 'title' => '', + ], + ], + [ + 'name' => 'Url', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the web page to monitor.'."\n", + 'type' => 'string', + 'required' => true, + 'enum' => [], + 'example' => 'example.com/test', + 'title' => '', + ], + ], + [ + 'name' => 'SdkType', + 'in' => 'query', + 'schema' => [ + 'description' => 'SDK integration. Supported'."\n" + ."\n" + .'* **automatic**'."\n" + .'* **manual**'."\n", + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'manual', + 'automatic', + ], + 'example' => 'automatic', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F'."\n", + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\\\n\\",\\n \\"ConfigId\\": 0\\n}","type":"json"}]', + 'title' => 'CreateUrlObservation', + 'changeSet' => [ + [ + 'createdAt' => '2025-08-18T03:46:41.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateUrlObservation', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateUrlObservation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'CreateUserDeliveryTask' => [ + 'summary' => 'Creates a log delivery task to ship logs to the specified destination.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238999', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'BusinessType', + 'in' => 'formData', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'* dcdn_log_access_l1 (default): access logs.'."\n" + .'* dcdn_log_er: Edge Routine logs.'."\n" + .'* dcdn_log_waf: firewall logs.'."\n" + .'* dcdn_log_ipa: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'dcdn_log_access_l1', + ], + ], + [ + 'name' => 'DataCenter', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The data center. Valid values:'."\n" + ."\n" + .'* cn: the Chinese mainland.'."\n" + .'* sg: outside the Chinese mainland.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn', + 'title' => '', + ], + ], + [ + 'name' => 'TaskName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The task name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_project', + 'title' => '', + ], + ], + [ + 'name' => 'FieldName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The log field. If you specify multiple fields, separate them with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'user_agent,ip_address,ip_port', + 'title' => '', + ], + ], + [ + 'name' => 'DeliveryType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The destination of the delivery. Valid values:'."\n" + ."\n" + .'1. sls: Alibaba Cloud SLS.'."\n" + .'2. http: HTTP server.'."\n" + .'3. aws3: Amazon S3.'."\n" + .'4. oss: Alibaba Cloud OSS.'."\n" + .'5. kafka: Kafka.'."\n" + .'6. aws3cmpt: S3-compatible storage service.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'sls', + 'title' => '', + ], + ], + [ + 'name' => 'DiscardRate', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The discard rate. Default value: 0.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'S3Delivery', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations for delivery to Amazon S3 or an S3-compatible service.'."\n", + 'type' => 'object', + 'properties' => [ + 'Region' => [ + 'description' => 'The region ID of the service.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-shanghai', + 'title' => '', + ], + 'BucketPath' => [ + 'description' => 'The directory in the bucket.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'logriver-test/log', + 'title' => '', + ], + 'AccessKey' => [ + 'description' => 'The access key ID of your Amazon S3 account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'g0f46623ll0g0', + 'title' => '', + ], + 'SecretKey' => [ + 'description' => 'The secret access key of your Amazon S3 account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '***', + 'title' => '', + ], + 'Endpoint' => [ + 'description' => 'The endpoint.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'https://s3.oss-cn-hangzhou.aliyuncs.com', + 'title' => '', + ], + 'PrefixPath' => [ + 'description' => 'The prefix of the path in which you want to store logs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'logriver-test/log', + 'title' => '', + ], + 'S3Cmpt' => [ + 'description' => 'Specifies whether the service is compatible with Amazon S3.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'ServerSideEncryption' => [ + 'type' => 'boolean', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'VertifyType' => [ + 'type' => 'string', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'OssDelivery', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations for delivery to OSS.'."\n", + 'type' => 'object', + 'properties' => [ + 'Region' => [ + 'description' => 'The region in which the bucket is located.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'title' => '', + ], + 'Aliuid' => [ + 'description' => 'The ID of your Alibaba Cloud account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1234***', + 'title' => '', + ], + 'BucketName' => [ + 'description' => 'The name of the OSS bucket.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test_rlog', + 'title' => '', + ], + 'PrefixPath' => [ + 'description' => 'The prefix of the path in which you want to store logs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test/', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'HttpDelivery', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations for delivery to an HTTP server.'."\n", + 'type' => 'object', + 'properties' => [ + 'DestUrl' => [ + 'description' => 'The address of the HTTP server.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://xxx.aliyun.com/v1/log/upload', + 'title' => '', + ], + 'StandardAuthOn' => [ + 'description' => 'Specifies whether to use server authentication.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'StandardAuthParam' => [ + 'description' => 'The authentication configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'PrivateKey' => [ + 'description' => 'The private key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'xxxx', + 'title' => '', + ], + 'ExpiredTime' => [ + 'description' => 'The validity period of the signature.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + 'UrlPath' => [ + 'description' => 'The URL path.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'v1/log/upload', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'MaxBatchSize' => [ + 'description' => 'The maximum number of entries for each delivery.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1000', + 'title' => '', + ], + 'MaxBatchMB' => [ + 'description' => 'The maximum size of data for each delivery. Unit: MB.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5', + 'title' => '', + ], + 'MaxRetry' => [ + 'description' => 'The maximum number of retries.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + 'title' => '', + ], + 'TransformTimeout' => [ + 'description' => 'The timeout period. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + 'LogBodyPrefix' => [ + 'description' => 'The prefix of the log delivery package.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cdnVersion:1.0', + 'title' => '', + ], + 'LogBodySuffix' => [ + 'description' => 'The suffix of the log delivery package.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cdnVersion:1.0', + 'title' => '', + ], + 'Compress' => [ + 'description' => 'The compression method.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'gzip', + 'title' => '', + ], + 'LogSplitWords' => [ + 'description' => 'The log separator.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '\\n', + 'title' => '', + ], + 'HeaderParam' => [ + 'description' => 'The custom headers.'."\n", + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'StaticValue' => [ + 'type' => 'string', + 'required' => false, + 'example' => 'aliyun', + 'description' => 'The value of the custom header.'."\n", + 'title' => '', + ], + ], + 'description' => 'The name of the custom header.'."\n", + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'QueryParam' => [ + 'description' => 'The custom query parameters.'."\n", + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'StaticValue' => [ + 'type' => 'string', + 'required' => false, + 'description' => 'The value of the custom query parameter.'."\n", + 'example' => 'v1.1', + 'title' => '', + ], + ], + 'description' => 'The name of the custom query parameter.'."\n", + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'LogSplit' => [ + 'description' => 'Specifies whether to enable log splitting. Default value: true.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'LastLogSplit' => [ + 'description' => 'The ending separator.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => '\\n', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'KafkaDelivery', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations for delivery to Kafka.'."\n", + 'type' => 'object', + 'properties' => [ + 'Topic' => [ + 'description' => 'The topic.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dqc_test2', + 'title' => '', + ], + 'UserAuth' => [ + 'description' => 'Specifies whether to enable authentication.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'MachanismType' => [ + 'description' => 'The encryption method.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'plain', + 'title' => '', + ], + 'UserName' => [ + 'description' => 'The username.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'xxx', + 'title' => '', + ], + 'Password' => [ + 'description' => 'The password.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'xxx', + 'title' => '', + ], + 'Brokers' => [ + 'description' => 'The brokers.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The Kafka brokers.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '192.168.0.1:9902', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Compress' => [ + 'description' => 'The compression method. By default, data is not compressed.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'lz4', + 'title' => '', + ], + 'Balancer' => [ + 'description' => 'The load balancing method.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'kafka.LeastBytes', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SlsDelivery', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations for delivery to SLS.'."\n", + 'type' => 'object', + 'properties' => [ + 'SLSRegion' => [ + 'description' => 'The region in which the SLS project resides.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'title' => '', + ], + 'SLSProject' => [ + 'description' => 'The name of the SLS project.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dcdn-test20240417', + 'title' => '', + ], + 'SLSLogStore' => [ + 'description' => 'The name of the SLS Logstore.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'accesslog-test', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Details', + 'in' => 'formData', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'FilterVer', + 'in' => 'formData', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '2CCD40B1-3F20-5FF0-8A67-E3F34B87744F', + ], + 'TaskName' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'er-http', + 'title' => '', + ], + 'DataCenter' => [ + 'description' => 'The data center. Valid values:'."\n" + ."\n" + .'* cn: the Chinese mainland.'."\n" + .'* sg: outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => 'cn', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ErService.NotOpen', + 'errorMessage' => 'Er service has not opend.', + 'description' => 'Er service has not opend.', + ], + [ + 'errorCode' => 'RealTimeLog.S3EndpointInvalidError', + 'errorMessage' => 'Invalid S3 information for the delivery task. Check your configurations and try again.', + 'description' => 'Invalid S3 information for the delivery task. Check your configurations and try again.', + ], + [ + 'errorCode' => 'RealTimeLog.KafkaBrokersExceedError', + 'errorMessage' => 'The number of Kafka Broker addresses for real-time log delivery has reached the upper limit (50).', + 'description' => 'The number of Kafka Broker addresses for real-time log delivery has reached the upper limit (50).', + ], + [ + 'errorCode' => 'RealTimeLog.StatusQuotaError', + 'errorMessage' => 'The maximum number of real-time log delivery tasks has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + 'description' => 'The maximum number of real-time log delivery tasks has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + ], + [ + 'errorCode' => 'EsaService.NotOpen', + 'errorMessage' => 'ESA service has not opend.', + 'description' => 'Edge Security Accelerator (ESA) is not turned on', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2CCD40B1-3F20-5FF0-8A67-E3F34B87744F\\",\\n \\"TaskName\\": \\"er-http\\",\\n \\"DataCenter\\": \\"cn\\",\\n \\"Status\\": \\"online\\"\\n}","type":"json"}]', + 'title' => 'CreateUserDeliveryTask', + 'description' => 'This API operation allows you to deliver logs to destinations such as Simple Log Service (SLS), HTTP servers, Object Storage Service (OSS), Amazon Simple Storage Service (S3), and Kafka. You can specify the task name, log fields to deliver, data center, discard rate, delivery type, and delivery details.'."\n" + ."\n" + .'* **Field filtering**: Use the `FieldName` parameter to specify log fields to deliver.'."\n" + .'* **Filtering rules**: Use the `FilterRules` parameter to pre-process and filter log data.'."\n" + .'* **Diverse delivery destinations**: Logs can be delivered to different destinations. Configuration parameters vary with delivery destinations.'."\n" + ."\n" + .'## [](#)Precautions'."\n" + ."\n" + .'* Make sure that you have sufficient permissions to perform delivery tasks.'."\n" + .'* If you enable encryption or authentication, properly configure corresponding parameters.'."\n" + .'* Verify the syntax of `FilterRules` to make sure that filtering logic works as expected.'."\n" + .'* Specify advanced settings such as the number of retries and timeout period based on your needs to have optimal delivery efficiency and stability.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2025-06-24T01:43:11.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-12-26T08:21:56.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-10-18T01:07:12.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-27T05:57:03.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-24T08:31:53.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateUserDeliveryTask', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateUserDeliveryTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'CreateUserWafRuleset' => [ + 'summary' => 'Creates an instance-level Web Application Firewall (WAF) ruleset that supports various types of protection rules.', + 'description' => '## Request description'."\n" + ."\n" + .'- This API creates a new WAF ruleset for a specified instance.'."\n" + ."\n" + .'- The required `InstanceId` parameter specifies the instance for which to create the ruleset.'."\n" + ."\n" + .'- The `Phase` parameter defines the application phase of the ruleset, such as custom rules or rate limiting.'."\n" + ."\n" + .'- The required `Name` and `Expression` parameters specify the name of the ruleset and its match expression.'."\n" + ."\n" + .'- The optional `Description` parameter specifies a description for the ruleset.'."\n" + ."\n" + .'- The `Status` parameter controls whether the ruleset is active (`on`) or inactive (`off`).'."\n" + ."\n" + .'- The `Rules` parameter specifies a list of rules. Each rule includes properties such as a name, position, expression, and action.'."\n" + ."\n" + .'- A successful response returns the unique ID of the new ruleset in the `Id` parameter and a list of associated rule IDs in the `RuleIds` parameter.', + 'path' => '/', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + 'FEATUREdcdnBQ0J3E', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the instance.', + 'type' => 'string', + 'required' => true, + 'example' => 'esa-site-ads11w', + 'title' => '', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The execution phase of the WAF.', + 'type' => 'string', + 'required' => true, + 'example' => 'http_custom', + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the WAF ruleset.', + 'type' => 'string', + 'required' => true, + 'example' => 'example', + 'title' => '', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The description of the WAF ruleset.', + 'type' => 'string', + 'required' => false, + 'example' => 'this is a test ruleset.', + 'title' => '', + ], + ], + [ + 'name' => 'Status', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The status of the WAF ruleset.', + 'type' => 'string', + 'required' => true, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Expression', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The expression for the WAF ruleset.', + 'type' => 'string', + 'required' => true, + 'example' => 'ip.src == 1.1.1.1', + 'title' => '', + ], + ], + [ + 'name' => 'Shared', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The shared configuration for WAF batch rules.', + '$ref' => '#/components/schemas/WafBatchRuleShared', + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Rules', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'type' => 'array', + 'items' => [ + 'description' => 'A rule configuration in the WAF ruleset.', + '$ref' => '#/components/schemas/WafRuleConfig', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'description' => 'A list of rule configurations in the WAF ruleset.', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '创建成功', + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The ID of the WAF ruleset.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '665d3af3621bccf3fe29e1a4', + 'title' => '', + ], + 'RuleIds' => [ + 'type' => 'array', + 'items' => [ + 'description' => 'A rule ID in the WAF ruleset.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '87570', + 'title' => '', + ], + 'description' => 'A list of rule IDs in the WAF ruleset.', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Rule.Config.Noncompliance', + 'errorMessage' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + 'description' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + ], + [ + 'errorCode' => 'Rule.Config.Malformed', + 'errorMessage' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + 'description' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + ], + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'CreateUserWafRuleset', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateUserWafRuleset', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"Id\\": 0,\\n \\"RuleIds\\": [\\n 87570\\n ]\\n}","type":"json"}]', + ], + 'CreateVideoProcessing' => [ + 'summary' => 'Add video processing configurations for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257663', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the website configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the scheduling rule. You do not need to set this parameter when you add global configuration.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the rule. Valid values: You do not need to set this parameter when you add global configuration. Specifies whether to check the image used by the instance supports hot migration. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content of the rule. A conditional expression is used to match a user request. You do not need to set this parameter when you add global configuration. Use cases:'."\n" + ."\n" + .'* true: Match all incoming requests.'."\n" + .'* Set the value to a custom expression, for example:(http.host eq "video.example.com"): Match the specified request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'The order in which the rule is executed. A smaller value gives priority to the rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'VideoSeekEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Video seeking. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'FlvVideoSeekMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'FLV seeking. Valid values:'."\n" + ."\n" + .'* by_byte: seek by byte'."\n" + .'* by_time: seek by time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'by_byte', + 'title' => '', + ], + ], + [ + 'name' => 'Mp4SeekStart', + 'in' => 'query', + 'schema' => [ + 'description' => 'Customize the mp4 start parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'start', + 'title' => '', + ], + ], + [ + 'name' => 'Mp4SeekEnd', + 'in' => 'query', + 'schema' => [ + 'description' => 'Customize the mp4 end parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'end', + 'title' => '', + ], + ], + [ + 'name' => 'FlvSeekStart', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom start parameter for FLV files.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'start', + 'title' => '', + ], + ], + [ + 'name' => 'FlvSeekEnd', + 'in' => 'query', + 'schema' => [ + 'description' => 'Set custom end parameters for FLV files.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'end', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816**********', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\",\\n \\"ConfigId\\": 0\\n}","type":"json"}]', + 'title' => 'CreateVideoProcessing', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateVideoProcessing', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'CreateWafRule' => [ + 'summary' => 'Create WAF Rule', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239618', + 'abilityTreeNodes' => [ + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'formData', + 'schema' => [ + 'title' => 'WAF阶段', + 'description' => 'WAF operation phase.', + 'type' => 'string', + 'required' => true, + 'example' => 'http_custom', + ], + ], + [ + 'name' => 'RulesetId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Ruleset ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10000001', + 'minimum' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'Config', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'title' => 'WAF规则配置', + 'description' => 'Rule configuration, specifying the detailed configuration for creating a rule.', + 'required' => false, + '$ref' => '#/components/schemas/WafRuleConfig', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'RulesetId' => [ + 'description' => 'ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](~~2878359~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000001', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The ID of the WAF rule, which can be obtained by calling the [ListWafRules](~~2878257~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000001', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + ], + 403 => [ + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'errorCode' => 'Rule.Name.AlreadyExists', + 'errorMessage' => 'The specified rule name already exists.Try again with a unique name or modify the existing rule name.', + 'description' => 'The specified rule name already exists.Try again with a unique name or modify the existing rule name.', + ], + [ + 'errorCode' => 'Rule.Config.Malformed', + 'errorMessage' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + 'description' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + ], + [ + 'errorCode' => 'Rule.Config.Noncompliance', + 'errorMessage' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + 'description' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + ], + [ + 'errorCode' => 'Expression.Invalid', + 'errorMessage' => 'The specified expression is invalid: %s.', + 'description' => 'The specified expression is invalid.', + ], + [ + 'errorCode' => 'Ruleset.NotExist', + 'errorMessage' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + 'description' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + ], + ], + ], + 'title' => 'Create WAF Rule', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:52.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateWafRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateWafRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"RulesetId\\": 10000001,\\n \\"Id\\": 20000001\\n}","type":"json"}]', + ], + 'CreateWafRuleset' => [ + 'summary' => 'Create WAF Ruleset', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '264021', + 'abilityTreeNodes' => [ + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'formData', + 'schema' => [ + 'title' => 'WAF阶段', + 'description' => 'WAF operation phase.', + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [ + 'http_whitelist' => 'whitelist rules', + 'http_custom' => 'custom rules', + 'http_managed' => 'managed rules', + 'http_anti_scan' => 'scan protection rules', + 'http_ratelimit' => 'rate limiting rules', + 'http_bot' => 'professional mode of bot management', + ], + 'example' => 'http_custom', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'Ruleset name.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Id' => [ + 'description' => 'Ruleset ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000001', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + ], + 403 => [ + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'errorCode' => 'Expression.Invalid', + 'errorMessage' => 'The specified expression is invalid: %s.', + 'description' => 'The specified expression is invalid.', + ], + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Id\\": 10000001\\n}","type":"json"}]', + 'title' => 'Create WAF Ruleset', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateWafRuleset', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateWafRuleset', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'CreateWaitingRoom' => [ + 'summary' => 'Creates a waiting room for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239586', + 'abilityTreeNodes' => [ + 'FEATUREdcdnO4KC7Z', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the waiting room. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the waiting room.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'waitingroom_example'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'QueueAllEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to queue all requests. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'HostNameAndPath', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The hostname and path.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the hostname and path.'."\n", + 'type' => 'object', + 'properties' => [ + 'Subdomain' => [ + 'description' => 'The subdomain.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test.', + 'title' => '', + ], + 'Domain' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example.com', + 'title' => '', + ], + 'Path' => [ + 'description' => 'The path.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '/test', + 'title' => '', + ], + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'CookieName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the custom cookie.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '__aliwaitingroom_example', + 'title' => '', + ], + ], + [ + 'name' => 'TotalActiveUsers', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of active users.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '300', + 'title' => '', + ], + ], + [ + 'name' => 'NewUsersPerMinute', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of new users per minute.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '200', + 'title' => '', + ], + ], + [ + 'name' => 'SessionDuration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '5', + 'title' => '', + ], + ], + [ + 'name' => 'DisableSessionRenewalEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to disable session renewal. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'QueuingMethod', + 'in' => 'query', + 'schema' => [ + 'description' => 'The queuing method. Valid values:'."\n" + ."\n" + .'* random: Users gain access to the origin randomly, regardless of the arrival time.'."\n" + .'* fifo: Users gain access to the origin in order of arrival.'."\n" + .'* passthrough: Users pass through the waiting room and go straight to the origin.'."\n" + .'* reject-all: Users are blocked from reaching the origin.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'fifo', + 'enum' => [ + 'fifo', + 'random', + 'passthrough', + 'reject-all', + ], + 'title' => '', + ], + ], + [ + 'name' => 'QueuingStatusCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The HTTP status code to return while a user is in the queue. Valid values:'."\n" + ."\n" + .'* 200'."\n" + .'* 202'."\n" + .'* 429'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '200', + 'enum' => [ + '200', + '202', + '429', + ], + 'title' => '', + ], + ], + [ + 'name' => 'JsonResponseEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable JSON response. If you set this parameter to on, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The description of the waiting room.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '测试', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the waiting room. Valid values:'."\n" + ."\n" + .'* default'."\n" + .'* custom'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'default', + 'enum' => [ + 'default', + 'custom', + ], + 'title' => '', + ], + ], + [ + 'name' => 'CustomPageHtml', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The content of the custom waiting room page. You must specify this parameter if you set WaitingRoomType to custom. The content must be Base64-encoded.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SGVsbG8gd29ybGQ=', + 'title' => '', + ], + ], + [ + 'name' => 'Language', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The language of the waiting room page. You must specify this parameter if you set WaitingRoomType to default. Valid values:'."\n" + ."\n" + .'* enus: English.'."\n" + .'* zhcn: Simplified Chinese.'."\n" + .'* zhhk: Traditional Chinese.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'enus', + 'enum' => [ + 'enus', + 'zhcn', + 'zhhk', + ], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '85H66C7B-671A-4297-9187-2C4477247A74', + 'title' => '', + ], + 'WaitingRoomId' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"85H66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"WaitingRoomId\\": \\"\\"\\n}","type":"json"}]', + 'title' => 'CreateWaitingRoom', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-12T02:01:32.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateWaitingRoom', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateWaitingRoom', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'CreateWaitingRoomEvent' => [ + 'summary' => 'Creates a waiting room event.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239633', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVCBH9N', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the waiting room, which can be obtained by calling the [ListWaitingRooms](~~2850279~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '6a51d5bc6460887abd1291dc7d4db28b', + 'title' => '', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the waiting room. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the waiting room event.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'waitingroom_example', + 'title' => '', + ], + ], + [ + 'name' => 'TotalActiveUsers', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of active users.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '100', + 'title' => '', + ], + ], + [ + 'name' => 'NewUsersPerMinute', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of new users per minute.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '10', + 'title' => '', + ], + ], + [ + 'name' => 'SessionDuration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '5', + 'title' => '', + ], + ], + [ + 'name' => 'DisableSessionRenewalEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to disable session renewal. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'QueuingMethod', + 'in' => 'query', + 'schema' => [ + 'description' => 'The queuing method. Valid values:'."\n" + ."\n" + .'* random: Users gain access to the origin randomly, regardless of the arrival time.'."\n" + .'* fifo: Users gain access to the origin in order of arrival.'."\n" + .'* passthrough: Users pass through the waiting room and go straight to the origin.'."\n" + .'* reject-all: Users are blocked from reaching the origin.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'random', + 'enum' => [ + 'fifo', + 'random', + 'passthrough', + 'reject-all', + ], + 'title' => '', + ], + ], + [ + 'name' => 'QueuingStatusCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The HTTP status code to return while a user is in the queue. Valid values:'."\n" + ."\n" + .'* 200'."\n" + .'* 202'."\n" + .'* 429'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '202', + 'enum' => [ + '200', + '202', + '429', + ], + 'title' => '', + ], + ], + [ + 'name' => 'JsonResponseEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable JSON response. If you set this parameter to on, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The description of the waiting room.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '测试等候室', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the waiting room. Valid values:'."\n" + ."\n" + .'* default'."\n" + .'* custom'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'default', + 'enum' => [ + 'default', + 'custom', + ], + 'title' => '', + ], + ], + [ + 'name' => 'CustomPageHtml', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The content of the custom waiting room page. You must specify this parameter if you set WaitingRoomType to custom. The content must be Base64-encoded.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SGVsbG8gd29ybGQ=', + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The start time of the event. This value is a UNIX timestamp.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '1719763200', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time of the event. This value is a UNIX timestamp.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '1719849600', + 'title' => '', + ], + ], + [ + 'name' => 'PreQueueEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable pre-queuing.'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'PreQueueStartTime', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The start time for pre-queuing.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1719763200', + 'title' => '', + ], + ], + [ + 'name' => 'RandomPreQueueEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable random queuing.'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Language', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The language of the waiting room page. You must specify this parameter if you set WaitingRoomType to default. Valid values:'."\n" + ."\n" + .'* enus: English.'."\n" + .'* zhcn: Simplified Chinese.'."\n" + .'* zhhk: Traditional Chinese.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'zhcn', + 'enum' => [ + 'enus', + 'zhcn', + 'zhhk', + ], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A123425345', + 'title' => '', + ], + 'WaitingRoomEventId' => [ + 'type' => 'integer', + 'format' => 'int64', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A123425345\\",\\n \\"WaitingRoomEventId\\": 0\\n}","type":"json"}]', + 'title' => 'CreateWaitingRoomEvent', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-12T02:01:32.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateWaitingRoomEvent', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateWaitingRoomEvent', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'CreateWaitingRoomRule' => [ + 'summary' => 'Create Waiting Room Rule', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239640', + 'abilityTreeNodes' => [ + 'FEATUREdcdnA885EB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the waiting room to bypass.', + 'type' => 'string', + 'required' => true, + 'example' => '25133f536f1b1f6b6091f6a92c614dd4', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => true, + 'example' => 'waitingroom_example'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => true, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq "video.example.com")', + 'type' => 'string', + 'required' => true, + 'example' => '(http.request.uri.path.file_name eq \\"jpg\\")', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + 'title' => '', + ], + 'WaitingRoomRuleId' => [ + 'description' => 'Waiting room bypass rule ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '420072638347264', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"WaitingRoomRuleId\\": 420072638347264\\n}","type":"json"}]', + 'title' => 'Create Waiting Room Bypass Rule', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-12T02:01:32.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateWaitingRoomRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateWaitingRoomRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DeactivateVersionManagement' => [ + 'summary' => 'Disables version management for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238972', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890***', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'D61E4801-EAFF-4A63-AAE1-FBF6CE1CFD1C', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D61E4801-EAFF-4A63-AAE1-FBF6CE1CFD1C\\"\\n}","type":"json"}]', + 'title' => 'DeactivateVersionManagement', + 'description' => 'You can disable version management only when the default environment and version 0 exist.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeactivateVersionManagement', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:DeactivateVersionManagement', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteCacheRule' => [ + 'summary' => 'Delete Cache Configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257616', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3500241*********', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ConfigId of the configuration, which can be obtained by calling the [ListCacheRules](~~2866985~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3528160*********', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'."\n", + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\\\n\\"\\n}","type":"json"}]', + 'title' => 'Delete Site Cache Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteCacheRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteCacheRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteCertificate' => [ + 'summary' => 'Deletes a certificate for a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238835', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'babaded901474b9693acf530e0fb1d95', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com ', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1d95', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'F32C57AA-7BF8-49AE-A2CC-9F42390F5A19', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com \\",\\n \\"Id\\": \\"babaded901474b9693acf530e0fb1d95\\",\\n \\"RequestId\\": \\"F32C57AA-7BF8-49AE-A2CC-9F42390F5A19\\"\\n}","type":"json"}]', + 'title' => 'DeleteCertificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DeleteClientCaCertificate' => [ + 'summary' => 'Deletes a client CA certificate.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239205', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com'."\n", + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\\\n\\",\\n \\"Id\\": \\"baba39055622c008b90285a8838ed09a\\",\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\"\\n}","type":"json"}]', + 'title' => 'DeleteClientCaCertificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteClientCaCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteClientCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteClientCertificate' => [ + 'summary' => 'Deletes a revoked client certificate.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238905', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com'."\n", + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\\\n\\",\\n \\"Id\\": \\"baba39055622c008b90285a8838ed09a\\",\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + 'title' => 'DeleteClientCertificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteClientCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteCompressionRule' => [ + 'summary' => 'Delete compression rule', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257667', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID. It can be obtained by calling the [ListCompressionRules](~~2867498~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\"\\n}","type":"json"}]', + 'title' => 'Delete Compression Rule Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteCompressionRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteCompressionRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteCustomHostname' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239584', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4DMKZ4', + ], + ], + 'parameters' => [ + [ + 'name' => 'HostnameId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the custom hostname. To obtain this ID, call the [ListCustomHostnames](~~3018667~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'title' => '', + 'example' => '1234567890123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The unique ID generated by Alibaba Cloud for the request.', + 'type' => 'string', + 'title' => '', + 'example' => '156A6B-677B1A-4297B7-9187B7-2B44792', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + 'description' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'Record.ServiceBusy', + 'errorMessage' => 'The record is being configured. Try again later.', + 'description' => 'The record is being configured. Try again later.', + ], + ], + 404 => [ + [ + 'errorCode' => 'CustomHostname.NotFound', + 'errorMessage' => 'The custom hostname does not exist. Modify it and try again.', + 'description' => 'The custom hostname does not exist. Modify it and try again.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'DeleteCustomHostname', + 'summary' => 'Deletes a custom domain name from a Software as a Service (SaaS) site based on its HostnameId.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\"\\n}","type":"json"}]', + ], + 'DeleteCustomResponseCodeRule' => [ + 'summary' => 'Deletes a custom response code configuration for a site.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257650', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID. Obtain this by calling ListSites.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '478016908379824', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '434497172875264', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'DeleteCustomResponseCodeRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteCustomResponseCodeRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\"\\n}","type":"json"}]', + ], + 'DeleteCustomScenePolicy' => [ + 'summary' => 'Deletes a scenario-specific custom policy.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239258', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The policy ID, which can be obtained by calling the [DescribeCustomScenePolicies](~~2850508~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '5CC228B4-7A67-4016-9C9F-4A4133494A91', + ], + 'PolicyId' => [ + 'description' => 'The policy ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'PolicyNotExist', + 'errorMessage' => 'The policy does not exist.', + 'description' => 'The policy does not exist. ', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5CC228B4-7A67-4016-9C9F-4A4133494A91\\",\\n \\"PolicyId\\": 1\\n}","type":"json"}]', + 'title' => 'DeleteCustomScenePolicy', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteCustomScenePolicy', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteCustomScenePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteEdgeContainerApp' => [ + 'summary' => 'Deletes a containerized application.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238431', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-1232321454***', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response paramaters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'State' => [ + 'description' => 'Specifies whether the deletion is successful.'."\n", + 'type' => 'string', + 'example' => 'ok', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Record.AlreadyExist', + 'errorMessage' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + 'description' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + ], + ], + [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"State\\": \\"ok\\"\\n}","type":"json"}]', + 'title' => 'DeleteEdgeContainerApp', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteEdgeContainerApp', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteEdgeContainerApp', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'DeleteEdgeContainerAppImageSecret' => [ + 'summary' => 'Deletes the image secret for an edge containerized application.', + 'path' => '', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID. Call the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation to obtain the application ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the image secret.', + 'type' => 'string', + 'required' => true, + 'example' => 'reg-123*****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InvalidParameter.Appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the input application ID is incorrect. You can use the ListEdgeContainerApps API to obtain the application ID.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'DeleteEdgeContainerAppImageSecret', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\"\\n}","type":"json"}]', + ], + 'DeleteEdgeContainerAppRecord' => [ + 'summary' => 'Disassociates a domain name from a containerized application. After the dissociation, you can no longer use the domain name to access the containerized application.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239235', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The application ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'maxLength' => 64, + 'minLength' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '5407498413****', + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The associated domain name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'a.example.com', + 'maxLength' => 1024, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'DeleteEdgeContainerAppRecord', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteEdgeContainerAppRecord', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteEdgeContainerAppRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteEdgeContainerAppVersion' => [ + 'summary' => 'Deletes a version of a containerized application.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238348', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-96253477062511****', + 'title' => '', + ], + ], + [ + 'name' => 'VersionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the version that you want to delete. To obtain the version ID, call the [ListEdgeContainerAppVersions](~~ListEdgeContainerAppVersions~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ver-89884764010378****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'b021e538-9dde-46ed-a1f2-9469da8f3e77', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"b021e538-9dde-46ed-a1f2-9469da8f3e77\\"\\n}","type":"json"}]', + 'title' => 'DeleteEdgeContainerAppVersion', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteEdgeContainerAppVersion', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteEdgeContainerAppVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'DeleteHttpDDoSIntelligentRule' => [ + 'summary' => 'Deletes a rule created by Deep Learning and Protection.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '263721', + 'abilityTreeNodes' => [ + 'FEATUREdcdn5DYCZJ', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the site. Call the [ListSites](~~ListSites~~) operation to obtain the site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the record.', + 'type' => 'string', + 'required' => true, + 'minLength' => 1, + 'example' => 'www.example.com', + 'title' => '', + ], + ], + [ + 'name' => 'RuleId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the rule.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '20928021', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'SiteId' => [ + 'description' => 'The ID of the site. Call the [ListSites](~~2850189~~) operation to obtain the site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'The name of the record.', + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'RuleId' => [ + 'description' => 'The ID of the rule.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20757864', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'The specified SiteId is invalid.', + 'description' => 'The specified SiteId is invalid.Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'ErrSiteIdNoteEnterprise', + 'errorMessage' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + 'description' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + ], + [ + 'errorCode' => 'InvalidParameter.ApiShieldSellVerison', + 'errorMessage' => 'The site does not have permissions to manipulate the enterprise-level capabilities of API security features.', + 'description' => 'The site does not have permissions to manipulate the enterprise-level capabilities of API security features.', + ], + [ + 'errorCode' => 'SiteVersion.NotExist', + 'errorMessage' => 'The specified version is invalid or version management is not enabled for your website.Make sure that you specify a valid version and version management is enabled. Then, try again.', + 'description' => 'The specified version is invalid or version management is not enabled for your website.Make sure that you specify a valid version and version management is enabled. Then, try again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'SiteIdDDoSVersionCheckFailed', + 'errorMessage' => 'SiteId DDoS version check failed.', + 'description' => 'Failed to check the DDoS version corresponding to the site.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Delete rules for deep learning and protection distribution', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpDDoSIntelligentRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"SiteId\\": 0,\\n \\"RecordName\\": \\"www.example.com\\",\\n \\"RuleId\\": 20757864\\n}","type":"json"}]', + ], + 'DeleteHttpIncomingRequestHeaderModificationRule' => [ + 'summary' => 'Deletes the configuration of modifying incoming HTTP request headers for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257650', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '54362329990032', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID. You can call the ListHttpIncomingRequestHeaderModificationRules operation to query the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '427428371703808', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\"\\n}","type":"json"}]', + 'title' => 'DeleteHttpIncomingRequestHeaderModificationRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpIncomingRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteHttpIncomingResponseHeaderModificationRule' => [ + 'summary' => 'Deletes the configuration of modifying HTTP response headers for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257656', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '672344269424192', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID. You can call the ListHttpIncomingResponseHeaderModificationRules operation to query the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '352816096987136', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + 'title' => 'DeleteHttpIncomingResponseHeaderModificationRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpIncomingResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteHttpRequestHeaderModificationRule' => [ + 'summary' => 'Deletes the configuration of modifying HTTP request headers for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257650', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID, which can be obtained by calling the [ListHttpRequestHeaderModificationRules](~~ListHttpRequestHeaderModificationRules~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3528160969****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '35C66C7B-671H-4297-9187-2C4477247A78', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"35C66C7B-671H-4297-9187-2C4477247A78\\"\\n}","type":"json"}]', + 'title' => 'DeleteHttpRequestHeaderModificationRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteHttpRequestHeaderModificationRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteHttpResponseHeaderModificationRule' => [ + 'summary' => 'Deletes the configuration of modifying HTTP response headers for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257656', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID, which can be obtained by calling the [ListHttpResponseHeaderModificationRules](~~ListHttpResponseHeaderModificationRules~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\"\\n}","type":"json"}]', + 'title' => 'DeleteHttpResponseHeaderModificationRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteHttpResponseHeaderModificationRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteHttpsApplicationConfiguration' => [ + 'summary' => 'Delete HTTPS Application Configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257618', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ConfigId of the configuration, which can be obtained by calling the [listHttpsApplicationConfigurations](~~2869087~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '35C66C7B-671H-4297-9187-2C4477247A78', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"35C66C7B-671H-4297-9187-2C4477247A78\\"\\n}","type":"json"}]', + 'title' => 'Delete Site HTTPS Application Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteHttpsApplicationConfiguration', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpsApplicationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteHttpsBasicConfiguration' => [ + 'summary' => 'Delete HTTPS Basic Configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257619', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ConfigId of the configuration, which can be obtained by calling the [ListHttpsBasicConfigurations](~~ListHttpsBasicConfigurations~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3528160969****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response Schema', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'Delete Site HTTPS Basic Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteHttpsBasicConfiguration', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpsBasicConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteImageTransform' => [ + 'summary' => 'Delete Site Image Transformation Configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257355', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID. It can be obtained by calling the [ListImageTransforms](~~2869056~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '352816096987136', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + 'title' => 'Delete Site Image Transformation Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteImageTransform', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteImageTransform', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteKv' => [ + 'summary' => 'Deletes a key-value pair from a namespace.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238798', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the namespace that you specify when you call the [CreateKvNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namespace', + 'title' => '', + ], + ], + [ + 'name' => 'Key', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the key that you want to delete.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_key', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\"\\n}","type":"json"}]', + 'title' => 'DeleteKv', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteKv', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteKv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteKvNamespace' => [ + 'summary' => 'Deletes a namespace from an Alibaba Cloud account.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239195', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the namespace that you specify when you call the [CreateKvNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namespace', + 'maxLength' => 64, + 'pattern' => '^[0-9a-zA-Z_-]+$', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\"\\n}","type":"json"}]', + 'title' => 'DeleteKvNamespace', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-03T01:43:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteKvNamespace', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteKvNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'DeleteList' => [ + 'summary' => 'Deletes a custom list that is no longer needed.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239621', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The ID of the custom list, which can be obtained by calling the [ListLists](~~2850217~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '40000001', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'List.BeingBound', + 'errorMessage' => 'The specified list is being bound.', + 'description' => 'The specified list is being bound by one or more protection rules.', + ], + [ + 'errorCode' => 'List.NotExist', + 'errorMessage' => 'The specified list does not exist.', + 'description' => 'The specified list does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\"\\n}","type":"json"}]', + 'title' => 'DeleteList', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:49.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteList', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteLoadBalancer' => [ + 'summary' => 'Delete Load Balancer', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238494', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the load balancer, used to uniquely identify the load balancer to be queried. This ID is returned directly upon creation of the load balancer and can also be obtained through the [ListLoadBalancers](~~2868897~~) interface for querying all load balancers under a site.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '99867648760****', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the site, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1159101787****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'LoadBalancerNotExist', + 'errorMessage' => 'The specified load balancer name is invalid or load balancing is not enabled for your website.Make sure that you specify a valid load balancer name and load balancing is enabled. Then, try again.', + 'description' => 'The specified load balancer name is invalid or load balancing is not enabled for your website.Make sure that you specify a valid load balancer name and load balancing is enabled. Then, try again.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'Delete Load Balancer', + 'description' => 'Delete a load balancer by its ID, only one can be deleted at a time.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteLoadBalancer', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteLoadBalancer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteNetworkOptimization' => [ + 'summary' => 'Delete Network Optimization Configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257620', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ConfigId of the configuration, which can be obtained by calling the ListNetworkOptimizations.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '352816**********', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'Delete Site Network Optimization Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteNetworkOptimization', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteNetworkOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteOriginCaCertificate' => [ + 'summary' => 'Delete the source server CA certificate.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261743', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'babaabcd****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Delete the source server CA certificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteOriginCaCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteOriginCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com\\",\\n \\"Id\\": \\"babaabcd****\\",\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\"\\n}","type":"json"}]', + ], + 'DeleteOriginClientCertificate' => [ + 'summary' => 'Delete the domain name granularity origin fetch client certificate.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261752', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'babaabcd****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com'."\n", + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID.', + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'title' => 'Delete the domain name granularity origin fetch client certificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteOriginClientCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com\\\\n\\",\\n \\"Id\\": \\"babaabcd****\\",\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\"\\n}","type":"json"}]', + ], + 'DeleteOriginPool' => [ + 'summary' => 'Delete Origin Address Pool', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238349', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the origin address pool, which can be obtained by calling the [ListOriginPools](~~2863947~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '103852052519****', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID, which can be obtained by calling the [ListSites](~~ListSites~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '21655860979****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'OriginPoolNotExist', + 'errorMessage' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + 'description' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + ], + [ + 'errorCode' => 'PoolReferenceExist', + 'errorMessage' => 'Failed to delete the origin pool because it has been referenced.Remove all references to the pool and try again.', + 'description' => 'Failed to delete the origin pool because it has been referenced.Remove all references to the pool and try again.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'Delete Origin Address Pool', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteOriginPool', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteOriginPool', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteOriginProtection' => [ + 'summary' => 'Disables origin protection.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '250118', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4VDL9A', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + ], + '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' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE'."\n", + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OriginProtectionNotExist', + 'errorMessage' => 'The site is not configured with origin protection, so it cannot be modified or deleted.', + 'description' => 'The site is not configured with origin protection, so it cannot be modified or deleted.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\\\n\\"\\n}","type":"json"}]', + 'title' => 'DeleteOriginProtection', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-21T06:58:57.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteOriginProtection', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteOriginProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteOriginRule' => [ + 'summary' => 'Delete Origin Rule Configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257621', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3400350********', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ConfigId of the configuration, which can be obtained by calling the [ListOriginRules](~~2866989~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '33793140540****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'Delete Origin Rule Configuration for Site', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteOriginRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteOriginRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeletePage' => [ + 'summary' => 'Deletes a custom error page that is no longer needed.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239625', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The ID of the custom error page, which can be obtained by calling the [ListPages](~~2850223~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '50000001', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Id' => [ + 'title' => '', + 'description' => 'The ID of the custom error page.[](~~2850223~~)'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000001', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Page.BeingBound', + 'errorMessage' => 'Failed to delete the custom error page because it has been associated with one or more rules.'."\n" + ."\n" + .'Dissociate all rules from the error page first.', + 'description' => 'Failed to delete the custom error page because it has been associated with one or more rules.'."\n" + ."\n" + .'Dissociate all rules from the error page first.', + ], + [ + 'errorCode' => 'Page.NotExist', + 'errorMessage' => 'The specified custom error page does not exist or is not recognized by the system.Check whether the error page identifier is correct and matches an error page that has been created and registered in the system\'s error handling framework.If you want to create a new error page, make sure that the creation process is complete.', + 'description' => 'The specified custom error page does not exist or is not recognized by the system.Check whether the error page identifier is correct and matches an error page that has been created and registered in the system\'s error handling framework.If you want to create a new error page, make sure that the creation process is complete.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Id\\": 50000001\\n}","type":"json"}]', + 'title' => 'DeletePage', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:48.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeletePage', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeletePage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteRecord' => [ + 'summary' => 'Delete a single DNS record under a site by RecordId. ', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239584', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVFT29S', + ], + ], + 'parameters' => [ + [ + 'name' => 'RecordId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the record, which can be obtained by calling [ListRecords](~~2850265~~). ', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID. ', + 'type' => 'string', + 'example' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + 'description' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'Record.Reserved', + 'errorMessage' => 'Another operation on the record is in progress. Try again later.', + 'description' => 'Another operation on the record is in progress. Try again later.', + ], + [ + 'errorCode' => 'Record.ServiceBusy', + 'errorMessage' => 'The record is being configured. Try again later.', + 'description' => 'The record is being configured. Try again later.', + ], + [ + 'errorCode' => 'Record.ProtectedAsCustomHostnameSource', + 'errorMessage' => 'Failed to delete the record because it is the origin server of existing custom hostnames.Remove all references to the record and try again.', + 'description' => 'Failed to delete the record because it is the origin server of existing custom hostnames.Remove all references to the record and try again.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Record.NotFound', + 'errorMessage' => 'The record does not exist. Check your configurations and try again.', + 'description' => 'The record does not exist. Check your configurations and try again.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'Delete a DNS record ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '10', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRecord', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\"\\n}","type":"json"}]', + ], + 'DeleteRedirectRule' => [ + 'summary' => 'Deletes a URL redirect rule for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257661', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID, which can be obtained by calling the [ListRedirectRules](~~ListRedirectRules~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BF9B849D-D847-5B16-9371-8ECB557A5921', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BF9B849D-D847-5B16-9371-8ECB557A5921\\"\\n}","type":"json"}]', + 'title' => 'DeleteRedirectRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRedirectRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteRedirectRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteRewriteUrlRule' => [ + 'summary' => 'Deletes a URL rewrite rule for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257645', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID, which can be obtained by calling the [ListRewriteUrlRules](~~ListRewriteUrlRules~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '35C66C7B-671H-4297-9187-2C4477247A78', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"35C66C7B-671H-4297-9187-2C4477247A78\\"\\n}","type":"json"}]', + 'title' => 'DeleteRewriteUrlRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRewriteUrlRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteRewriteUrlRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteRoutine' => [ + 'summary' => 'Deletes a routine in Edge Routine.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238943', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'Status' => [ + 'description' => 'Indicates whether the operation is successful.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'DependedByOthers', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SiteParameterNotMatch', + 'errorMessage' => 'Failed to verify website parameters.Check the parameters and try again.', + 'description' => 'Failed to verify website parameters.Check the parameters and try again.', + ], + [ + 'errorCode' => 'RoutineUserServiceStatusHalt', + 'errorMessage' => 'Failed to update the configurations because you have overdue payments.', + 'description' => 'Failed to update the configurations because you have overdue payments.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'ParameterNotExist', + 'errorMessage' => 'The specified parameter does not exist. Check your configurations and try again.', + 'description' => 'The specified parameter does not exist. Check your configurations and try again.', + ], + [ + 'errorCode' => 'CodeVersionInUse', + 'errorMessage' => 'Failed to delete the code version because it is being used. Before you delete it, roll back to the previous version.', + 'description' => 'Failed to delete the code version because it is being used. Before you delete it, roll back to the previous version.', + ], + [ + 'errorCode' => 'UserOperationStatusIsLocked', + 'errorMessage' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + 'description' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"Status\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => 'DeleteRoutine', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-04T05:48:48.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-11-05T06:54:07.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRoutine', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteRoutine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'DeleteRoutineCodeVersion' => [ + 'summary' => 'Deletes a code version of a routine.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238902', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + [ + 'name' => 'CodeVersion', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The code version.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '1710120201067203242', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'Status' => [ + 'description' => 'Indicates whether the operation is successful.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'DependedByOthers', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SiteParameterNotMatch', + 'errorMessage' => 'Failed to verify website parameters.Check the parameters and try again.', + 'description' => 'Failed to verify website parameters.Check the parameters and try again.', + ], + [ + 'errorCode' => 'RoutineUserServiceStatusHalt', + 'errorMessage' => 'Failed to update the configurations because you have overdue payments.', + 'description' => 'Failed to update the configurations because you have overdue payments.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'ParameterNotExist', + 'errorMessage' => 'The specified parameter does not exist. Check your configurations and try again.', + 'description' => 'The specified parameter does not exist. Check your configurations and try again.', + ], + [ + 'errorCode' => 'CodeVersionInUse', + 'errorMessage' => 'Failed to delete the code version because it is being used. Before you delete it, roll back to the previous version.', + 'description' => 'Failed to delete the code version because it is being used. Before you delete it, roll back to the previous version.', + ], + [ + 'errorCode' => 'UserOperationStatusIsLocked', + 'errorMessage' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + 'description' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"Status\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => 'DeleteRoutineCodeVersion', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-04T05:48:47.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-11-05T06:54:07.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRoutineCodeVersion', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteRoutineCodeVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'DeleteRoutineRelatedRecord' => [ + 'summary' => 'Deletes a record that is associated with a routine.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239362', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-xxx', + 'title' => '', + ], + ], + [ + 'name' => 'RecordId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The record ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '12345'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The record name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-xxx.example.com', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '12345', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'Status' => [ + 'description' => 'Indicates whether the operation is successful.'."\n" + ."\n" + .'* OK'."\n" + .'* Fail'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'DependedByOthers', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SiteParameterNotMatch', + 'errorMessage' => 'Failed to verify website parameters.Check the parameters and try again.', + 'description' => 'Failed to verify website parameters.Check the parameters and try again.', + ], + [ + 'errorCode' => 'RoutineUserServiceStatusHalt', + 'errorMessage' => 'Failed to update the configurations because you have overdue payments.', + 'description' => 'Failed to update the configurations because you have overdue payments.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'ParameterNotExist', + 'errorMessage' => 'The specified parameter does not exist. Check your configurations and try again.', + 'description' => 'The specified parameter does not exist. Check your configurations and try again.', + ], + [ + 'errorCode' => 'UserOperationStatusIsLocked', + 'errorMessage' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + 'description' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'DeleteRoutineRelatedRecord', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-04T05:48:48.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-11-05T06:54:06.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteRoutineRelatedRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"Status\\": \\"OK\\"\\n}","type":"json"}]', + 'operationType' => 'write', + ], + 'DeleteRoutineRoute' => [ + 'summary' => 'Deletes the route configuration of an edge function.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '266192', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '11223***', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the configuration. You can call the [ListSiteRoutes](~~2879631~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3528160969****', + 'title' => '', + ], + ], + ], + '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' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'DeleteRoutineRoute', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRoutineRoute', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteRoutineRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DeleteScheduledPreloadExecution' => [ + 'summary' => 'Deletes a scheduled prefetch plan based on the plan ID.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238929', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the prefetch plan.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '665d3b48621bccf3fe29e1a7', + 'title' => '', + ], + ], + ], + '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' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidJob.JobCountOfSiteFull', + 'errorMessage' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectId', + 'errorMessage' => 'Invalid task ID or execution plan ID.', + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'errorCode' => 'MissingOssUrl', + 'errorMessage' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'errorCode' => 'MissingUrlList', + 'errorMessage' => 'Enter the URLs you want to prefetch.', + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUid.PermissionDenied', + 'errorMessage' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + ], + [ + [ + 'errorCode' => 'InvalidJob.NotFound', + 'errorMessage' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'errorCode' => 'LogNotFound', + 'errorMessage' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'errorCode' => 'InvalidExecution.NotFound', + 'errorMessage' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'DeleteScheduledPreloadExecution', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteScheduledPreloadExecution', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:DeleteScheduledPreloadExecution', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteScheduledPreloadJob' => [ + 'summary' => 'Deletes a specified scheduled prefetch task based on the task ID.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239180', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scheduled prefetch task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '665d3af3621bccf3fe29e1a4'."\n", + 'title' => '', + ], + ], + ], + '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' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidJob.JobCountOfSiteFull', + 'errorMessage' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectId', + 'errorMessage' => 'Invalid task ID or execution plan ID.', + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'errorCode' => 'MissingOssUrl', + 'errorMessage' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'errorCode' => 'MissingUrlList', + 'errorMessage' => 'Enter the URLs you want to prefetch.', + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUid.PermissionDenied', + 'errorMessage' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + ], + [ + [ + 'errorCode' => 'InvalidJob.NotFound', + 'errorMessage' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'errorCode' => 'LogNotFound', + 'errorMessage' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'errorCode' => 'InvalidExecution.NotFound', + 'errorMessage' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\"\\n}","type":"json"}]', + 'title' => 'DeleteScheduledPreloadJob', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteScheduledPreloadJob', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteScheduledPreloadJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteSite' => [ + 'summary' => 'Deletes a website based on the specified website ID.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239599', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1234567890123', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247B78', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'NameServerNotDelete', + 'errorMessage' => 'Before deleting the site, you need to go to your domain name service provider to delete the NS record assigned by ESA for the site (to avoid that you forget to delete NS and other users steal your site).', + 'description' => 'Before deleting the site, you need to go to your domain name service provider to delete the NS record assigned by ESA for the site (to avoid that you forget to delete NS and other users steal your site).', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247B78\\"\\n}","type":"json"}]', + 'title' => 'DeleteSite', + 'changeSet' => [ + [ + 'createdAt' => '2025-01-10T01:51:16.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '10', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteSite', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteSite', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DeleteSiteDeliveryTask' => [ + 'summary' => 'Deletes a real-time log delivery task.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239145', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456******', + 'title' => '', + ], + ], + [ + 'name' => 'TaskName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cdn-test-task', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'EsaService.NotOpen', + 'errorMessage' => 'ESA service has not opend.', + 'description' => 'Edge Security Accelerator (ESA) is not turned on', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\"\\n}","type":"json"}]', + 'title' => 'DeleteSiteDeliveryTask', + 'changeSet' => [ + [ + 'createdAt' => '2024-10-18T01:07:12.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-27T05:57:02.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteSiteDeliveryTask', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteSiteDeliveryTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteSiteOriginClientCertificate' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261745', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID on ESA.', + 'type' => 'string', + 'required' => true, + 'example' => 'babaabcd****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com'."\n", + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID on ESA.', + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'title' => 'Delete the site-granularity origin fetch client certificate', + 'summary' => 'Delete the site-granularity origin fetch client certificate.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteSiteOriginClientCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteSiteOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com\\\\n\\",\\n \\"Id\\": \\"babaabcd****\\",\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + ], + 'DeleteTransportLayerApplication' => [ + 'summary' => 'Delete Transport Layer Application', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '245121', + 'abilityTreeNodes' => [ + 'FEATUREdcdn2E10XY', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ApplicationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Application ID, which can be obtained by calling the [ListTransportLayerApplications](~~ListTransportLayerApplications~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '170996390868****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'Request response.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '90510C29-1E40-5A11-93F1-B9F5EDF57EE1', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'TransportLayerApplicationNotExist', + 'errorMessage' => 'The layer -4 accelerated application of the current operation does not exist. Modify it and try again.', + 'description' => 'The layer -4 accelerated application of the current operation does not exist. Modify it and try again.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'IpaNotActive', + 'errorMessage' => 'The ipa application is not active.', + 'description' => 'The ipa application is not active.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"90510C29-1E40-5A11-93F1-B9F5EDF57EE1\\"\\n}","type":"json"}]', + 'title' => 'Delete Transport Layer Acceleration Application', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteTransportLayerApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DeleteUrlObservation' => [ + 'summary' => 'Deletes page monitoring configurations.', + 'path' => '', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '264796', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID, which can be obtained by calling the [ListUrlObservations](~~ListUrlObservations~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + 'title' => 'DeleteUrlObservation', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteUrlObservation', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteUrlObservation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DeleteUserDeliveryTask' => [ + 'summary' => 'Deletes a log delivery task from your Alibaba Cloud account.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239170', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'TaskName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-project', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '952ea16b-1f05-4a76-bb32-420282d8aeb9', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'ErService.HasOpened', + 'errorMessage' => 'You have already activated Edge Routine.', + 'description' => 'You have already activated Edge Routine.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'EsaService.NotOpen', + 'errorMessage' => 'ESA service has not opend.', + 'description' => 'Edge Security Accelerator (ESA) is not turned on', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"952ea16b-1f05-4a76-bb32-420282d8aeb9\\"\\n}","type":"json"}]', + 'title' => 'DeleteUserDeliveryTask', + 'description' => '******> '."\n" + ."\n" + .'* Deleted tasks cannot be restored. Proceed with caution.'."\n" + .'* To call this operation, you must have an account that has the required permissions.'."\n" + .'* The returned `RequestId` value can be used to track the request processing progress and troubleshoot issues.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-10-18T01:07:11.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-27T05:57:02.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteUserDeliveryTask', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteUserDeliveryTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteUserWafRuleset' => [ + 'summary' => 'Deletes a WAF ruleset from a specified instance.', + 'description' => '## Request description'."\n" + ."\n" + .'- The `InstanceId` and `Id` parameters are required. These parameters specify the ID of the WAF instance and the ID of the ruleset to delete.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + 'FEATUREdcdnBQ0J3E', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the instance.', + 'type' => 'string', + 'required' => true, + 'example' => 'esa-xxxxxxx', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the WAF ruleset.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '10000001', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '创建成功', + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The schema of the response.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => 'xxxx-xxxx-xxxx-xxxx', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Ruleset.NotExist', + 'errorMessage' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + 'description' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'DeleteUserWafRuleset', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteUserWafRuleset', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxx-xxxx-xxxx-xxxx\\"\\n}","type":"json"}]', + ], + 'DeleteVideoProcessing' => [ + 'summary' => 'Deletes a video processing configuration.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257667', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID. You can call the [ListVideoProcessings](~~ListVideoProcessings~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6abd807e-ed2a-44de-ac54-ac38a62472e6', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ConfigNotFound', + 'errorMessage' => 'The specified configid does not exist.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6abd807e-ed2a-44de-ac54-ac38a62472e6\\"\\n}","type":"json"}]', + 'title' => 'DeleteVideoProcessing', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteVideoProcessing', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DeleteWafRule' => [ + 'summary' => 'Delete WAF Rule', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239585', + 'abilityTreeNodes' => [ + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'title' => '规则ID', + 'description' => 'ID of the WAF rule, which can be obtained by calling the [ListWafRules](~~2878257~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '20000001', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'Rule.NotExist', + 'errorMessage' => 'The specified rule does not exist.', + 'description' => 'The specified rule does not exist in the current context or system configuration. Please verify the existence of the rule identifier and ensure it has been correctly defined or implemented.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\"\\n}","type":"json"}]', + 'title' => 'Delete WAF Rule', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:52.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteWafRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteWafRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DeleteWafRuleset' => [ + 'summary' => 'Delete WAF Ruleset', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239657', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBQ0J3E', + 'FEATUREdcdn1OLUH8', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'title' => '规则集ID', + 'description' => 'ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](~~2878359~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '10000001', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Ruleset.NotExist', + 'errorMessage' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + 'description' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\"\\n}","type":"json"}]', + 'title' => 'Delete WAF Ruleset', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:51.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteWafRuleset', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteWafRuleset', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DeleteWaitingRoom' => [ + 'summary' => 'Deletes a waiting room.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239636', + 'abilityTreeNodes' => [ + 'FEATUREdcdnO4KC7Z', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The waiting room ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '25133f536f1b1f6b6091f6a92c614dd4'."\n", + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A123425345', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'WaitingRoomRuleNotExist', + 'errorMessage' => 'The waiting room bypass rule that you want to modify does not exist. Specify a valid one.', + 'description' => 'The waiting room bypass rule that you want to modify does not exist. Specify a valid one.', + ], + [ + 'errorCode' => 'WaitingRoomEventNotExist', + 'errorMessage' => 'The waiting room event that you want to modify does not exist. Specify a valid one.', + 'description' => 'The waiting room event that you want to modify does not exist. Specify a valid one.', + ], + [ + 'errorCode' => 'WaitingRoomNotExist', + 'errorMessage' => 'The waiting room that you want to modify does not exist or does not belong to you. Confirm and try again.', + 'description' => 'The waiting room that you want to modify does not exist or does not belong to you. Confirm and try again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A123425345\\"\\n}","type":"json"}]', + 'title' => 'DeleteWaitingRoom', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteWaitingRoom', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteWaitingRoom', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DeleteWaitingRoomEvent' => [ + 'summary' => 'Deletes a waiting room event.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239623', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVCBH9N', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomEventId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the waiting room event.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '302909890***', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'WaitingRoomRuleNotExist', + 'errorMessage' => 'The waiting room bypass rule that you want to modify does not exist. Specify a valid one.', + 'description' => 'The waiting room bypass rule that you want to modify does not exist. Specify a valid one.', + ], + [ + 'errorCode' => 'WaitingRoomEventNotExist', + 'errorMessage' => 'The waiting room event that you want to modify does not exist. Specify a valid one.', + 'description' => 'The waiting room event that you want to modify does not exist. Specify a valid one.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'DeleteWaitingRoomEvent', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-21T03:25:57.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteWaitingRoomEvent', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteWaitingRoomEvent', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DeleteWaitingRoomRule' => [ + 'summary' => 'Deletes a waiting room bypass rule.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239632', + 'abilityTreeNodes' => [ + 'FEATUREdcdnA885EB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the waiting room bypass rule.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3672886****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'WaitingRoomRuleNotExist', + 'errorMessage' => 'The waiting room bypass rule that you want to modify does not exist. Specify a valid one.', + 'description' => 'The waiting room bypass rule that you want to modify does not exist. Specify a valid one.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + 'title' => 'DeleteWaitingRoomRule', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-21T03:25:57.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteWaitingRoomRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteWaitingRoomRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DescribeCustomScenePolicies' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239312', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: **10**. Valid values: **5**, **10**, or **20**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + 'enum' => [ + '5', + '10', + '20', + ], + 'title' => '', + ], + ], + [ + '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', + 'title' => '', + ], + ], + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'minimum' => '0', + 'example' => '1234****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '85H66C7B-671A-4297-9187-2C4477247A74', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Quota' => [ + 'description' => 'The policy quota.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'DataModule' => [ + 'description' => 'The scenario-specific policies.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the scenario-specific policy.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the scenario-specific policy.'."\n", + 'type' => 'string', + 'example' => 'test', + 'title' => '', + ], + 'Template' => [ + 'description' => 'The name of the policy template. Valid value:'."\n" + ."\n" + .'* **promotion**: major events.'."\n", + 'type' => 'string', + 'example' => 'promotion', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The time when the policy takes effect.'."\n" + ."\n" + .'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' => '2023-03-04T16:00:00Z', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The time when the policy expires.'."\n" + ."\n" + .'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' => '2023-03-06T16:00:00Z'."\n", + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the policy. Valid values:'."\n" + ."\n" + .'* **Disabled**'."\n" + .'* **Pending**'."\n" + .'* **Running**'."\n" + .'* **Expired**'."\n", + 'type' => 'string', + 'example' => 'Expired', + 'title' => '', + ], + 'Objects' => [ + 'description' => 'The IDs of websites that are associated with the policy.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of the website that is associated with the policy.'."\n", + 'type' => 'string', + 'example' => '123456****', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PolicyId' => [ + 'description' => 'The policy ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234****'."\n", + 'title' => '', + ], + 'SiteIds' => [ + 'description' => 'IDs of associated sites. Multiple site IDs are separated by commas (",").', + 'type' => 'string', + 'example' => '123456****,123457****'."\n", + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'Query scenario-specific policies', + 'summary' => 'Query Scenario-specific policies configuration.', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-03T09:31:40.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2025-02-19T08:08:25.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeCustomScenePolicies', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeCustomScenePolicies', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"85H66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"TotalCount\\": 1,\\n \\"Quota\\": 10,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"DataModule\\": [\\n {\\n \\"Name\\": \\"test\\",\\n \\"Template\\": \\"promotion\\",\\n \\"StartTime\\": \\"2023-03-04T16:00:00Z\\",\\n \\"EndTime\\": \\"2023-03-06T16:00:00Z\\\\n\\",\\n \\"Status\\": \\"Expired\\",\\n \\"Objects\\": [\\n \\"123456****\\"\\n ],\\n \\"PolicyId\\": 0,\\n \\"SiteIds\\": \\"123456****,123457****\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeDDoSAllEventList' => [ + 'summary' => 'This API is used to query the DDoS attack event list.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239644', + 'abilityTreeNodes' => [ + 'FEATUREdcdnO1ZP9O', + ], + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'title' => 'A short description of struct', + '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' => '2023-02-12T15: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. The maximum time range is 31 days.'."\n" + ."\n" + .'If you do not configure this parameter, the current time is used as the end of the time range to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-02-22T15:59:59Z', + 'title' => '', + ], + ], + [ + 'name' => 'EventType', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The type of DDoS attacks to query. Valid values:'."\n" + ."\n" + .'* **web-cc**: web resource exhaustion attacks.'."\n" + .'* **cc**: connection flood attacks.'."\n" + .'* **traffic**: volumetric attacks.'."\n" + ."\n" + .'Default value: web-cc.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'web-cc', + 'enum' => [ + 'web-cc', + 'cc', + 'traffic', + ], + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Valid values: **1** to **100000**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '100000', + 'minimum' => '1', + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: **10**. Valid values: 5, 10, and 20.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'default' => '10', + 'enum' => [ + '5', + '10', + '20', + ], + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '7096621098****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'D73A4243-CFBD-5110-876F-09237E77ECBD', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '7096621098****', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'DataList' => [ + 'description' => 'The DDoS attack events.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the DDoS attack.'."\n", + 'type' => 'object', + 'properties' => [ + 'Target' => [ + 'description' => 'The attack target.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'TargetId' => [ + 'description' => 'The ID of the web resource exhaustion attack target.'."\n", + 'type' => 'string', + 'example' => '000000000155****', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The time when the DDoS attack starts.'."\n" + ."\n" + .'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' => '2023-02-12T15:00:00Z', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The time when the DDoS attack ends.'."\n" + ."\n" + .'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' => '2023-02-12T15:59:59Z', + 'title' => '', + ], + 'EventType' => [ + 'description' => 'The type of DDoS attacks that was queried. Valid values:'."\n" + ."\n" + .'* **web-cc**: web resource exhaustion attacks.'."\n" + .'* **cc**: connection flood attacks.'."\n" + .'* **traffic**: volumetric attacks.'."\n", + 'type' => 'string', + 'example' => 'web-cc', + 'title' => '', + ], + 'Bps' => [ + 'description' => 'The peak of volumetric attacks. Unit: bit/s.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '800', + 'title' => '', + ], + 'Pps' => [ + 'description' => 'The peak of volumetric attacks. Unit: packets per second (PPS).'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '12000', + 'title' => '', + ], + 'Cps' => [ + 'description' => 'The peak of connection flood attacks. Unit: connections per seconds (CPS).'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50', + 'title' => '', + ], + 'EventId' => [ + 'description' => 'The attack event ID.'."\n", + 'type' => 'string', + 'example' => 'web-cc_1', + 'title' => '', + ], + 'Qps' => [ + 'description' => 'The peak QPS of web resource exhaustion attacks.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '7692', + 'title' => '', + ], + 'Coverage' => [ + 'type' => 'string', + 'description' => 'Attack area. Valid values:'."\n" + ."\n" + .'- **domestic**: the Chinese mainland only.'."\n" + .'- **global**: global.'."\n" + .'- **overseas**: global (excluding the Chinese mainland).', + 'example' => 'domestic', + 'title' => '', + ], + 'EventResult' => [ + 'type' => 'string', + 'description' => 'Event result. Valid values:'."\n" + ."\n" + .'- **clean**: Traffic scrubbing succeeded.'."\n" + .'- **ratelimit**: Throttling.'."\n" + .'- **blackhole**: Blackhole filtering.', + 'example' => 'clean', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Query the DDoS attack event list', + 'changeSet' => [ + [ + 'createdAt' => '2024-11-19T03:35:35.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeDDoSAllEventList', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeDDoSAllEventList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D73A4243-CFBD-5110-876F-09237E77ECBD\\",\\n \\"SiteId\\": 0,\\n \\"TotalCount\\": 1,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"DataList\\": [\\n {\\n \\"Target\\": \\"example.com\\",\\n \\"TargetId\\": \\"000000000155****\\",\\n \\"StartTime\\": \\"2023-02-12T15:00:00Z\\",\\n \\"EndTime\\": \\"2023-02-12T15:59:59Z\\",\\n \\"EventType\\": \\"web-cc\\",\\n \\"Bps\\": 800,\\n \\"Pps\\": 12000,\\n \\"Cps\\": 50,\\n \\"EventId\\": \\"web-cc_1\\",\\n \\"Qps\\": 7692,\\n \\"Coverage\\": \\"domestic\\",\\n \\"EventResult\\": \\"clean\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeDDoSBpsList' => [ + 'summary' => 'Query DCDN DDoS user bps and pps data', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239163', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL050IJ', + ], + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The start time for fetching data, in ISO8601 format, using UTC+0, formatted as: yyyy-MM-ddTHH:mm:ssZ.', + 'type' => 'string', + 'required' => true, + 'example' => '2023-05-14T17:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time for fetching data. In ISO8601 format, using UTC+0, formatted as: yyyy-MM-ddTHH:mm:ssZ.'."\n" + ."\n" + .'The end time must be later than the start time, and the span between start and end times should not exceed 31 days.', + 'type' => 'string', + 'required' => false, + 'example' => '2023-05-18T06:19:42Z', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '70966210986912', + 'title' => '', + ], + ], + [ + 'name' => 'Coverage', + 'in' => 'query', + 'schema' => [ + 'description' => 'Protection area, defaulting to global if not filled. When specified, the values are as follows:'."\n" + ."\n" + .'- domestic: Mainland China.'."\n" + ."\n" + .'- overseas: Global (excluding Mainland China).'."\n" + ."\n" + .'- global: Global.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'domestic' => 'domestic', + 'global' => 'global', + 'overseas' => 'overseas', + ], + 'example' => 'global', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '156A6B-677B1A-4297B7-9187B7-2B44792', + ], + 'DataInterval' => [ + 'description' => 'The interval between each piece of data, in seconds.'."\n" + ."\n" + .'Generated based on the interval between StartTime and EndTime: less than 1 hour, 60s; 1 hour or more but less than 1 day, 300s; 1 day or more but less than a week, 1800s; 1 week or more, 3600s.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '300', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The start time for fetching data. In ISO8601 format, using UTC, formatted as: YYYY-MM-DDThh:mm:ssZ.', + 'type' => 'string', + 'example' => '2023-05-14T17:00:00Z'."\n", + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time for fetching data. In ISO8601 format, using UTC+0, formatted as: yyyy-MM-ddTHH:mm:ssZ.'."\n" + ."\n" + .'The end time must be later than the start time, and the span between start and end times should not exceed 31 days.', + 'type' => 'string', + 'example' => '2023-05-18T06:19:42Z'."\n", + 'title' => '', + ], + 'DataModule' => [ + 'description' => 'A list of network bandwidth data for each time interval.', + 'type' => 'array', + 'items' => [ + 'description' => 'Network bandwidth data for each time interval.', + 'type' => 'object', + 'properties' => [ + 'TotalBps' => [ + 'description' => 'Total bandwidth, in bps.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000000000', + 'title' => '', + ], + 'AttackBps' => [ + 'description' => 'Attack bandwidth, in bps.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '9000000000', + 'title' => '', + ], + 'NormalBps' => [ + 'description' => 'Normal business bandwidth, in bps.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000000000', + 'title' => '', + ], + 'TotalPps' => [ + 'description' => 'Total PPS.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100000000', + 'title' => '', + ], + 'AttackPps' => [ + 'description' => 'Attack PPS.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '9000000', + 'title' => '', + ], + 'NormalPps' => [ + 'description' => 'Normal business PPS.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000000', + 'title' => '', + ], + 'TimeStamp' => [ + 'description' => 'The timestamp of this data, in ISO8601 format, using UTC+0, formatted as: yyyy-MM-ddTHH:mm:ssZ.', + 'type' => 'string', + 'example' => '2023-05-14T17:00:00Z', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + [], + [], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\",\\n \\"DataInterval\\": 300,\\n \\"StartTime\\": \\"2023-05-14T17:00:00Z\\\\n\\",\\n \\"EndTime\\": \\"2023-05-18T06:19:42Z\\\\n\\",\\n \\"DataModule\\": [\\n {\\n \\"TotalBps\\": 10000000000,\\n \\"AttackBps\\": 9000000000,\\n \\"NormalBps\\": 1000000000,\\n \\"TotalPps\\": 100000000,\\n \\"AttackPps\\": 9000000,\\n \\"NormalPps\\": 1000000,\\n \\"TimeStamp\\": \\"2023-05-14T17:00:00Z\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query DDoS Network Layer Data', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeDDoSBpsList', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeDDoSBpsList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DescribeDDoSL7QpsList' => [ + 'summary' => 'DDoS Analysis Layer 7 QPS Trend Chart API', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239197', + 'abilityTreeNodes' => [ + 'FEATUREdcdnO1ZP9O', + ], + ], + 'parameters' => [ + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'title' => 'A short description of struct', + 'description' => 'The start time of the query.'."\n" + ."\n" + .'The date format follows ISO8601 notation and uses UTC+0, formatted as yyyy-MM-ddTHH:mm:ssZ.', + 'type' => 'string', + 'required' => true, + 'example' => '2023-04-19T16:00:00Z', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time of the query.'."\n" + ."\n" + .'The date format follows ISO8601 notation and uses UTC+0, formatted as yyyy-MM-ddTHH:mm:ssZ. The maximum span between the start and end times is 31 days.'."\n" + ."\n" + .'If this parameter is not set, the current time will be used as the end time of the query.', + 'type' => 'string', + 'required' => false, + 'example' => '2023-04-19T19:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'RecordId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Record ID, which can be obtained by calling the [ListRecords](~~ListRecords~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '86510927836942****', + 'title' => '', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time granularity of the queried data, in seconds.'."\n" + ."\n" + .'Depending on the maximum time span of a single query, this parameter supports values of 60 (1 minute), 300 (5 minutes), 1800 (half an hour), and 3600 (1 hour).', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '300', + 'enum' => [ + '60', + '300', + '1800', + '3600', + ], + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '123456****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '156A6B-677B1A-4297B7-9187B7-2B44792', + ], + 'SiteId' => [ + 'description' => 'Site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****'."\n", + 'title' => '', + ], + 'RecordId' => [ + 'description' => 'Record ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86510927836942****', + 'title' => '', + ], + 'DataInterval' => [ + 'description' => 'The time granularity of the queried data, in seconds.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '300', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The start time of the query.'."\n" + ."\n" + .'The date format follows ISO8601 notation and uses UTC+0, formatted as yyyy-MM-ddTHH:mm:ssZ.', + 'type' => 'string', + 'example' => '2023-04-19T16:00:00Z'."\n", + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time of the query.'."\n" + ."\n" + .'The date format follows ISO8601 notation and uses UTC+0, formatted as yyyy-MM-ddTHH:mm:ssZ.', + 'type' => 'string', + 'example' => '2023-04-19T19:00:00Z'."\n", + 'title' => '', + ], + 'DataModule' => [ + 'description' => 'Application layer time trend data list.', + 'type' => 'array', + 'items' => [ + 'description' => 'Application layer time trend data.', + 'type' => 'object', + 'properties' => [ + 'Total' => [ + 'description' => 'Total QPS.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '9', + 'title' => '', + ], + 'Attack' => [ + 'description' => 'Attack QPS.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'title' => '', + ], + 'Normal' => [ + 'description' => 'Normal QPS.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '4', + 'title' => '', + ], + 'TimeStamp' => [ + 'description' => 'Data time, following ISO8601 notation and using UTC+0, formatted as yyyy-MM-ddTHH:mm:ssZ.', + 'type' => 'string', + 'example' => '2023-04-19T16:00:00Z'."\n", + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\",\\n \\"SiteId\\": 0,\\n \\"RecordId\\": 0,\\n \\"DataInterval\\": 300,\\n \\"StartTime\\": \\"2023-04-19T16:00:00Z\\\\n\\",\\n \\"EndTime\\": \\"2023-04-19T19:00:00Z\\\\n\\",\\n \\"DataModule\\": [\\n {\\n \\"Total\\": 9,\\n \\"Attack\\": 5,\\n \\"Normal\\": 4,\\n \\"TimeStamp\\": \\"2023-04-19T16:00:00Z\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query DDoS Application Layer Time Dimension Aggregated Statistics', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeDDoSL7QpsList', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeDDoSL7QpsList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DescribeDdosMaxBurstGbps' => [ + 'summary' => 'Queries the maximum burst bandwidth for a DDoS instance in mainland China.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '254005', + 'abilityTreeNodes' => [ + 'FEATUREdcdn5DYCZJ', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the instance. You can call the [ListUserRatePlanInstances](~~2852398~~) operation to obtain the instance ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'esa-site-a71k7bw19dz4', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'title' => '', + 'example' => 'B5D71671-B074-5702-A0F5-B923920FDDD4', + ], + 'InstanceId' => [ + 'description' => 'The ID of the instance.', + 'type' => 'string', + 'example' => 'esa-site-a71k7bw19dz4', + 'title' => '', + ], + 'MaxBurstGbps' => [ + 'description' => 'The maximum protection bandwidth of the DDoS instance within mainland China, in Gbps.', + 'type' => 'string', + 'example' => '300', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + 'description' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Parameter verification failed. Check your configurations and try again.', + 'description' => 'Parameter verification failed. Check your configurations and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'DescribeDdosMaxBurstGbps', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B5D71671-B074-5702-A0F5-B923920FDDD4\\",\\n \\"InstanceId\\": \\"esa-site-a71k7bw19dz4\\",\\n \\"MaxBurstGbps\\": \\"300\\"\\n}","type":"json"}]', + ], + 'DescribeEdgeContainerAppStats' => [ + 'summary' => 'Provides monitoring data for metrics of ESA edge containers.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '241915', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'Tenant', + 'in' => 'query', + 'schema' => [ + 'description' => 'The tenant ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 't-xxxx', + 'title' => '', + ], + ], + [ + 'name' => 'App', + 'in' => 'query', + 'schema' => [ + 'description' => 'Basic information of the application. ', + 'type' => 'string', + 'required' => true, + 'example' => 'app-xxxx', + 'title' => '', + ], + ], + [ + 'name' => 'Locate', + 'in' => 'query', + 'schema' => [ + 'description' => 'Region. ', + 'type' => 'string', + 'required' => false, + 'example' => 'huizhou', + 'title' => '', + ], + ], + [ + 'name' => 'Isp', + 'in' => 'query', + 'schema' => [ + 'description' => 'Carrier. ', + 'type' => 'string', + 'required' => false, + 'example' => 'telecom,unicom,mobile', + 'title' => '', + ], + ], + [ + 'name' => 'Fields', + 'in' => 'query', + 'schema' => [ + 'description' => 'Metric fields.', + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [ + 'container_fs_writes_bytes_avg' => '', + 'container_memory_rss' => '', + 'container_memory_rss_quota_rate' => '', + 'container_cpu_usage_seconds_quota_rate' => '', + 'container_cpu_usage_seconds_total' => '', + 'pod_ready_rate' => '', + 'container_fs_reads_bytes_avg' => '', + ], + 'example' => 'pod_ready_rate', + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'Start Time. The date format follows the ISO8601 notation and uses UTC time, formatted as yyyy-MM-ddTHH:mm:ssZ. ', + 'type' => 'string', + 'required' => false, + 'example' => '2024-09-02T15:04:05Z', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time point for retrieving data. The date format follows the ISO8601 notation and uses UTC time, formatted as yyyy-MM-ddTHH:mm:ssZ. '."\n" + .'> The end time must be later than the start time. ', + 'type' => 'string', + 'required' => false, + 'example' => '2024-09-02T16:04:05Z', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'CpuUsageSecondsQuotaRateAvg' => [ + 'description' => 'Average CPU limit ratio'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '0.1', + 'title' => '', + ], + 'CpuUsageSecondsTotalAvg' => [ + 'description' => 'Average number of CPU cores'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '2', + 'title' => '', + ], + 'FsReadsBytesAvgAvg' => [ + 'description' => 'Average read IO'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '0', + 'title' => '', + ], + 'FsWritesBytesAvgAvg' => [ + 'description' => 'Average write IO'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '0', + 'title' => '', + ], + 'MemoryRssAvg' => [ + 'description' => 'Average memory usage'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '0.1', + 'title' => '', + ], + 'MemoryRssQuotaRateAvg' => [ + 'description' => 'Average memory limit proportion'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '1', + 'title' => '', + ], + 'PodReadyRateAvg' => [ + 'description' => 'Average PodReady rate'."\n", + 'type' => 'number', + 'format' => 'double', + 'example' => '100', + 'title' => '', + ], + 'Points' => [ + 'description' => 'Time and numeric values corresponding to the columns in the chart. ', + 'type' => 'array', + 'items' => [ + 'description' => 'Numeric values and time corresponding to the columns in the chart. ', + 'type' => 'object', + 'properties' => [ + 'Time' => [ + 'description' => 'Change time. Format: yyyy-MM-ddTHH:mm:ssZ (UTC). ', + 'type' => 'string', + 'example' => '2024-01-18T15:04:05Z', + 'title' => '', + ], + 'ContainerCpuUsageSecondsQuotaRate' => [ + 'description' => 'CPU limit ratio (%) ', + 'type' => 'number', + 'format' => 'double', + 'example' => '0.1', + 'title' => '', + ], + 'ContainerCpuUsageSecondsTotal' => [ + 'description' => 'Number of CPU cores ', + 'type' => 'number', + 'format' => 'double', + 'example' => '2', + 'title' => '', + ], + 'ContainerFsReadsBytesAvg' => [ + 'description' => 'Read I/O ', + 'type' => 'number', + 'format' => 'double', + 'example' => '0', + 'title' => '', + ], + 'ContainerFsWritesBytesAvg' => [ + 'description' => 'Write I/O ', + 'type' => 'number', + 'format' => 'double', + 'example' => '0', + 'title' => '', + ], + 'ContainerMemoryRss' => [ + 'description' => 'Memory usage ', + 'type' => 'number', + 'format' => 'double', + 'example' => '0.1', + 'title' => '', + ], + 'ContainerMemoryRssQuotaRate' => [ + 'description' => 'Memory limit ratio ', + 'type' => 'number', + 'format' => 'double', + 'example' => '1', + 'title' => '', + ], + 'PodReadyRate' => [ + 'description' => 'Pod ready rate ', + 'type' => 'number', + 'format' => 'double', + 'example' => '100', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '35C66C7B-671H-4297-9187-2C4477247A78', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Malformed', + 'errorMessage' => 'The specified EndTime is invalid.', + 'description' => 'Please provide the correct end time format. The date format follows ISO8601 notation and uses UTC time. The format is: yyyy-MM-ddTHH:mm:ssZ.', + ], + [ + 'errorCode' => 'InvalidStartTime.Malformed', + 'errorMessage' => 'The specified StartTime parameter is invalid.', + 'description' => 'Please provide the correct start time format. The date format follows ISO8601 notation and uses UTC time in the format yyyy-MM-ddTHH:mm:ssZ.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"CpuUsageSecondsQuotaRateAvg\\": 0.1,\\n \\"CpuUsageSecondsTotalAvg\\": 2,\\n \\"FsReadsBytesAvgAvg\\": 0,\\n \\"FsWritesBytesAvgAvg\\": 0,\\n \\"MemoryRssAvg\\": 0.1,\\n \\"MemoryRssQuotaRateAvg\\": 1,\\n \\"PodReadyRateAvg\\": 100,\\n \\"Points\\": [\\n {\\n \\"Time\\": \\"2024-01-18T15:04:05Z\\",\\n \\"ContainerCpuUsageSecondsQuotaRate\\": 0.1,\\n \\"ContainerCpuUsageSecondsTotal\\": 2,\\n \\"ContainerFsReadsBytesAvg\\": 0,\\n \\"ContainerFsWritesBytesAvg\\": 0,\\n \\"ContainerMemoryRss\\": 0.1,\\n \\"ContainerMemoryRssQuotaRate\\": 1,\\n \\"PodReadyRate\\": 100\\n }\\n ],\\n \\"RequestId\\": \\"35C66C7B-671H-4297-9187-2C4477247A78\\"\\n}","type":"json"}]', + 'title' => 'DescribeEdgeContainerAppStats', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeEdgeContainerAppStats', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeEdgeContainerAppStats', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'DescribeHttpDDoSAttackIntelligentProtection' => [ + 'summary' => 'Queries the configuration of smart HTTP DDoS protection for a website.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239217', + 'abilityTreeNodes' => [ + 'FEATUREdcdnO1ZP9O', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '123456****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-3C82-72F8FD6DA2FE', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****', + 'title' => '', + ], + 'AiMode' => [ + 'description' => 'The mode of smart HTTP DDoS protection. Valid values:'."\n" + ."\n" + .'* **observe**: alert.'."\n" + .'* **defense**: block.'."\n", + 'type' => 'string', + 'example' => 'defense', + 'title' => '', + ], + 'AiTemplate' => [ + 'description' => 'The level of smart HTTP DDoS protection. Valid values:'."\n" + ."\n" + .'* **level0**: very loose.'."\n" + .'* **level30**: loose.'."\n" + .'* **level60**: normal.'."\n" + .'* **level90**: strict.'."\n", + 'type' => 'string', + 'example' => 'level60', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'ErrSiteIdNoteEnterprise', + 'errorMessage' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + 'description' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + ], + ], + 403 => [ + [ + 'errorCode' => 'SiteIdDDoSVersionCheckFailed', + 'errorMessage' => 'SiteId DDoS version check failed.', + 'description' => 'Failed to check the DDoS version corresponding to the site.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'DescribeHttpDDoSAttackIntelligentProtection', + 'changeSet' => [ + [ + 'createdAt' => '2024-11-19T03:35:35.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeHttpDDoSAttackIntelligentProtection', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeHttpDDoSAttackIntelligentProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-3C82-72F8FD6DA2FE\\",\\n \\"SiteId\\": 0,\\n \\"AiMode\\": \\"defense\\",\\n \\"AiTemplate\\": \\"level60\\"\\n}","type":"json"}]', + ], + 'DescribeHttpDDoSAttackProtection' => [ + 'summary' => 'Queries the configurations of HTTP DDoS attack protection.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239336', + 'abilityTreeNodes' => [ + 'FEATUREdcdn5DYCZJ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '123456****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '35C66C7B-671H-4297-9187-2C4477247A78', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****', + 'title' => '', + ], + 'GlobalMode' => [ + 'description' => 'The level of HTTP DDoS attack protection. Valid values:'."\n" + ."\n" + .'* **very weak**: very loose.'."\n" + .'* **weak**: loose.'."\n" + .'* **default**: normal.'."\n" + .'* **hard**: strict.'."\n", + 'type' => 'string', + 'example' => 'default', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'ErrSiteIdNoteEnterprise', + 'errorMessage' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + 'description' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + ], + ], + 403 => [ + [ + 'errorCode' => 'SiteIdDDoSVersionCheckFailed', + 'errorMessage' => 'SiteId DDoS version check failed.', + 'description' => 'Failed to check the DDoS version corresponding to the site.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'DescribeHttpDDoSAttackProtection', + 'changeSet' => [ + [ + 'createdAt' => '2024-11-19T03:35:35.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeHttpDDoSAttackProtection', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeHttpDDoSAttackProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"35C66C7B-671H-4297-9187-2C4477247A78\\",\\n \\"SiteId\\": 0,\\n \\"GlobalMode\\": \\"default\\"\\n}","type":"json"}]', + ], + 'DescribeHttpDDoSAttackRules' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '263687', + 'abilityTreeNodes' => [ + 'FEATUREdcdn5DYCZJ', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the site. You can call the [ListSites](~~2850189~~) operation to obtain the site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The current page number. Default value: 1. Valid values: **1** to **65535**.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '10000', + 'minimum' => '1', + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.', + 'type' => 'integer', + 'format' => 'int32', + 'default' => '10', + 'enum' => [ + '5', + '10', + '20', + ], + 'required' => false, + 'example' => '10', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'title' => '', + 'example' => 'D4030CD2-0D9D-5E92-B358-421AE58307C6', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'RuleInfos' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RuleName' => [ + 'description' => 'The name of the rule.', + 'type' => 'string', + 'example' => 'Illegal request。', + 'title' => '', + ], + 'RuleIdInfo' => [ + 'description' => 'The short name of the rule.', + 'type' => 'string', + 'example' => 'global_01_s', + 'title' => '', + ], + 'RuleDesc' => [ + 'description' => 'The description of the rule.', + 'type' => 'string', + 'example' => 'The HTTP request\'s Accept header contains invalid features#1', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the rule. Valid values:'."\n" + ."\n" + .'- **on**: The rule is enabled.'."\n" + ."\n" + .'- **off**: The rule is disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'DefaultAction' => [ + 'description' => 'The default action.', + 'type' => 'string', + 'example' => 'deny', + 'title' => '', + ], + 'Action' => [ + 'description' => 'The action to perform.', + 'type' => 'string', + 'example' => 'deny', + 'title' => '', + ], + 'RuleId' => [ + 'description' => 'The ID of the HTTP DDoS protection rule.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20203578', + 'title' => '', + ], + 'LogRuleId' => [ + 'description' => 'The ID of the protection rule used for log records.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100010', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'A list of rule details.', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'The specified SiteId is invalid.', + 'description' => 'The specified SiteId is invalid.Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'ErrSiteIdNoteEnterprise', + 'errorMessage' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + 'description' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + ], + ], + 403 => [ + [ + 'errorCode' => 'SiteIdDDoSVersionCheckFailed', + 'errorMessage' => 'SiteId DDoS version check failed.', + 'description' => 'Failed to check the DDoS version corresponding to the site.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'DescribeHttpDDoSAttackRules', + 'summary' => 'Queries HTTP DDoS attack protection rules.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeHttpDDoSAttackRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"D4030CD2-0D9D-5E92-B358-421AE58307C6\\",\\n \\"TotalCount\\": 100,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RuleInfos\\": [\\n {\\n \\"RuleName\\": \\"Illegal request。\\",\\n \\"RuleIdInfo\\": \\"global_01_s\\",\\n \\"RuleDesc\\": \\"The HTTP request\'s Accept header contains invalid features#1\\",\\n \\"Status\\": \\"on\\",\\n \\"DefaultAction\\": \\"deny\\",\\n \\"Action\\": \\"deny\\",\\n \\"RuleId\\": 20203578,\\n \\"LogRuleId\\": 100010\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeHttpDDoSIntelligentAclRules' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '263690', + 'abilityTreeNodes' => [ + 'FEATUREdcdn5DYCZJ', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID. To obtain the site ID, call the [ListSites](~~ListSites~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '5407498413****', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '100000', + 'minimum' => '1', + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'default' => '10', + 'enum' => [ + '5', + '10', + '20', + ], + 'example' => '10', + 'title' => '', + ], + ], + [ + 'name' => 'RuleType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule type.', + 'type' => 'string', + 'required' => false, + 'default' => 'acl', + 'enum' => [ + 'acl', + ], + 'example' => 'acl', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Id of the request', + 'type' => 'string', + 'title' => '', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'TotalCount' => [ + 'description' => 'The total number of rules.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'RuleInfos' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RuleName' => [ + 'description' => 'The rule name.', + 'type' => 'string', + 'example' => 'smart_cc_***', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'The record name.', + 'type' => 'string', + 'example' => 'test.example.com', + 'title' => '', + ], + 'Action' => [ + 'description' => 'The protection action.', + 'type' => 'string', + 'example' => 'deny', + 'title' => '', + ], + 'RuleId' => [ + 'description' => 'The rule ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20569929', + 'title' => '', + ], + 'Condition' => [ + 'description' => 'The rule trigger condition.', + 'type' => 'string', + 'example' => '{"$and":[{"key":"URI","opValue":"prefix-match","values":"/"}]}', + 'title' => '', + ], + 'PunishTime' => [ + 'description' => 'The action duration. Unit: seconds.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1800', + 'title' => '', + ], + 'LogRuleId' => [ + 'description' => 'The ID of the protection rule for log records.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000030', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'The list of rules.', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'The specified SiteId is invalid.', + 'description' => 'The specified SiteId is invalid.Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'ErrSiteIdNoteEnterprise', + 'errorMessage' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + 'description' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + ], + ], + 403 => [ + [ + 'errorCode' => 'SiteIdDDoSVersionCheckFailed', + 'errorMessage' => 'SiteId DDoS version check failed.', + 'description' => 'Failed to check the DDoS version corresponding to the site.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'DescribeHttpDDoSIntelligentAclRules', + 'summary' => 'Describes the accurate access control rules created by Deep Learning and Protection.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"TotalCount\\": 100,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RuleInfos\\": [\\n {\\n \\"RuleName\\": \\"smart_cc_***\\",\\n \\"RecordName\\": \\"test.example.com\\",\\n \\"Action\\": \\"deny\\",\\n \\"RuleId\\": 20569929,\\n \\"Condition\\": \\"{\\\\\\"$and\\\\\\":[{\\\\\\"key\\\\\\":\\\\\\"URI\\\\\\",\\\\\\"opValue\\\\\\":\\\\\\"prefix-match\\\\\\",\\\\\\"values\\\\\\":\\\\\\"/\\\\\\"}]}\\",\\n \\"PunishTime\\": 1800,\\n \\"LogRuleId\\": 1000030\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeHttpDDoSIntelligentRateLimitRules' => [ + 'summary' => 'Queries the frequency control rules generated by Deep Learning and Protection.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '263694', + 'abilityTreeNodes' => [ + 'FEATUREdcdn5DYCZJ', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID. Obtain this by calling the [ListSites](~~2850189~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '100000', + 'minimum' => '1', + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'default' => '10', + 'enum' => [ + '5', + '10', + '20', + ], + 'example' => '10', + 'title' => '', + ], + ], + [ + 'name' => 'RuleType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule type.', + 'type' => 'string', + 'required' => false, + 'default' => 'cc', + 'enum' => [ + 'cc', + ], + 'example' => 'cc', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'title' => '', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'TotalCount' => [ + 'description' => 'The total number of rules.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'RuleInfos' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'RuleName' => [ + 'description' => 'The name of the rule.', + 'type' => 'string', + 'example' => 'inner_cc_client_ip_ratelimit', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'The name of the record.', + 'type' => 'string', + 'example' => 'test.example.com', + 'title' => '', + ], + 'Action' => [ + 'description' => 'The action to perform.', + 'type' => 'string', + 'example' => 'js', + 'title' => '', + ], + 'RuleId' => [ + 'description' => 'The ID of the rule.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20110849', + 'title' => '', + ], + 'RateLimit' => [ + 'description' => 'The frequency information.', + 'type' => 'string', + 'example' => '{"threshold":2000,"interval":5,"target":"ip","ttl":600}', + 'title' => '', + ], + 'Statistics' => [ + 'description' => 'The statistics.', + 'type' => 'string', + 'example' => '{"field":"ip","mode":"count"}', + 'title' => '', + ], + 'Condition' => [ + 'description' => 'The conditions that trigger the rule.', + 'type' => 'string', + 'example' => '{"$and":[{"key":"URI","opValue":"prefix-match","values":"/"}]}', + 'title' => '', + ], + 'PunishTime' => [ + 'description' => 'The duration of the penalty in seconds.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '86400', + 'title' => '', + ], + 'LogRuleId' => [ + 'description' => 'The ID of the protection rule for log records.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100030', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'The list of rules.', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'description' => 'Schema of Response', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'The specified SiteId is invalid.', + 'description' => 'The specified SiteId is invalid.Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'ErrSiteIdNoteEnterprise', + 'errorMessage' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + 'description' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + ], + ], + 403 => [ + [ + 'errorCode' => 'SiteIdDDoSVersionCheckFailed', + 'errorMessage' => 'SiteId DDoS version check failed.', + 'description' => 'Failed to check the DDoS version corresponding to the site.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'DescribeHttpDDoSIntelligentRateLimitRules', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"TotalCount\\": 100,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"RuleInfos\\": [\\n {\\n \\"RuleName\\": \\"inner_cc_client_ip_ratelimit\\",\\n \\"RecordName\\": \\"test.example.com\\",\\n \\"Action\\": \\"js\\",\\n \\"RuleId\\": 20110849,\\n \\"RateLimit\\": \\"{\\\\\\"threshold\\\\\\":2000,\\\\\\"interval\\\\\\":5,\\\\\\"target\\\\\\":\\\\\\"ip\\\\\\",\\\\\\"ttl\\\\\\":600}\\",\\n \\"Statistics\\": \\"{\\\\\\"field\\\\\\":\\\\\\"ip\\\\\\",\\\\\\"mode\\\\\\":\\\\\\"count\\\\\\"}\\",\\n \\"Condition\\": \\"{\\\\\\"$and\\\\\\":[{\\\\\\"key\\\\\\":\\\\\\"URI\\\\\\",\\\\\\"opValue\\\\\\":\\\\\\"prefix-match\\\\\\",\\\\\\"values\\\\\\":\\\\\\"/\\\\\\"}]}\\",\\n \\"PunishTime\\": 86400,\\n \\"LogRuleId\\": 100030\\n }\\n ]\\n}","type":"json"}]', + ], + 'DescribeKvAccountStatus' => [ + 'summary' => 'Queries whether Edge KV is activated in your Alibaba Cloud account.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239022', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'Indicates whether Edge KV is activated for the Alibaba Cloud account.'."\n" + ."\n" + .'* **online**'."\n" + .'* **offline**'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"online\\",\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\"\\n}","type":"json"}]', + 'title' => 'DescribeKvAccountStatus', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeKvAccountStatus', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeKvAccountStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'DescribePreloadTasks' => [ + 'summary' => 'Queries the details of prefetch tasks by time, task status, or prefetch URL.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239113', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Content', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content to prefetch. Exact match is supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://a.com/1.jpg?b=2', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Valid values: **1** to **100000**. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100000', + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: 20. Valid values: 1 to 50.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '20', + 'default' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The start time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-03-22T17:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-03-23T06:23:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'The task status. Valid values:'."\n" + ."\n" + .'* **Complete**: The task is complete.'."\n" + .'* **Refreshing**: The task is running.'."\n" + .'* **Failed**: The task failed.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Complete', + 'enum' => [ + 'Refreshing', + 'Complete', + 'Failed', + ], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '83', + 'title' => '', + ], + 'Tasks' => [ + 'description' => 'The tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The task status.'."\n" + ."\n" + .'* **Complete**: The task is complete.'."\n" + .'* **Refreshing**: The task is in progress.'."\n" + .'* **Failed**: The task failed.'."\n", + 'type' => 'string', + 'example' => 'Complete', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the task was created.'."\n", + 'type' => 'string', + 'example' => '2023-03-28 14:28:57', + 'title' => '', + ], + 'Process' => [ + 'description' => 'The progress of the task, in percentage.'."\n", + 'type' => 'string', + 'example' => '100%', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The error message returned upon a prefetch task failure. Valid values:'."\n" + ."\n" + .'* **Internal Error**'."\n" + .'* **Origin Timeout**'."\n" + .'* **Origin Return StatusCode 5XX**'."\n", + 'type' => 'string', + 'example' => 'Internal Error', + 'title' => '', + ], + 'Content' => [ + 'description' => 'The prefetched content.'."\n", + 'type' => 'string', + 'example' => 'http://a.com/1.jpg?b=2', + 'title' => '', + ], + 'TaskId' => [ + 'description' => 'The ID of the queried task.'."\n", + 'type' => 'string', + 'example' => '1597854579687428', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + 'description' => 'Please provide both a start time and an end time.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'DomainNameOverLimit', + 'errorMessage' => 'A maximum of 500 domains are supported for each request.', + 'description' => 'Only 500 domain names are supported at a time. Please reduce the number of domain names to request again.', + ], + [ + 'errorCode' => 'InvalidTime', + 'errorMessage' => 'The query time cannot exceed the last 3 days.', + 'description' => 'The query time cannot exceed the last 3 days.', + ], + [ + 'errorCode' => 'MissingParameter.ObjectType', + 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', + 'description' => 'Specify the ObjectType parameter.', + ], + [ + 'errorCode' => 'InvalidStationParameter', + 'errorMessage' => 'The specified Station is invalid.', + 'description' => 'The specified node parameter is invalid.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'errorCode' => 'InvalidTaskId.Malformed', + 'errorMessage' => 'The specified taskId is invalid.', + 'description' => 'The specified task ID is invalid.', + ], + [ + 'errorCode' => 'InvalidParameters.InvalidUrls', + 'errorMessage' => 'The specified urls are invalid.', + 'description' => 'The requested URL parameter is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 83,\\n \\"Tasks\\": [\\n {\\n \\"Status\\": \\"Complete\\",\\n \\"CreateTime\\": \\"2023-03-28 14:28:57\\",\\n \\"Process\\": \\"100%\\",\\n \\"Description\\": \\"Internal Error\\",\\n \\"Content\\": \\"http://a.com/1.jpg?b=2\\",\\n \\"TaskId\\": \\"1597854579687428\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribePreloadTasks', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribePreloadTasks', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribePreloadTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DescribePurgeTasks' => [ + 'summary' => 'Queries the details of purge tasks.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239334', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBCJPGN', + 'FEATUREdcdnELTTM1', + 'FEATUREdcdnA9FG2P', + 'FEATUREdcdnRELTJV', + 'FEATUREdcdnEWYS3A', + 'FEATUREdcdn4QVGXU', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Content', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content to purge. Exact match is supported.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://a.com/1.jpg?b=1', + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The task type. Valid values:'."\n" + ."\n" + .'* **file** (default): purges the cache by file.'."\n" + .'* **cachetag**: purges the cache by cache tag.'."\n" + .'* **directory**: purges the cache by directory.'."\n" + .'* **ignoreParams**: purges the cache by URL with specified parameters ignored.'."\n" + .'* **hostname**: purges the cache by hostname.'."\n" + .'* **purgeall**: purges all cache.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'file', + 'enum' => [ + 'file', + 'directory', + 'ignoreparams', + 'hostname', + 'purgeall', + 'cachetag', + 'cachekey', + ], + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Valid values: 1 to 100000.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100000', + 'minimum' => '1', + 'example' => '1', + 'default' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: 20. Valid values: 1 to 50.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '20', + 'default' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The start time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2022-11-16T05:33:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2022-11-18T15:59:59Z', + 'title' => '', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'The task status. Valid values:'."\n" + ."\n" + .'* **Complete**: The task is complete.'."\n" + .'* **Refreshing**: The task is in progress.'."\n" + .'* **Failed**: The task failed.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Complete', + 'enum' => [ + 'Complete', + 'Refreshing', + 'Failed', + ], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A123425345', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '15', + 'title' => '', + ], + 'Tasks' => [ + 'description' => 'The tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The task status.'."\n" + ."\n" + .'* **Complete**: The task is complete.'."\n" + .'* **Refreshing**: The task is in progress.'."\n" + .'* **Failed**: The task failed.'."\n", + 'type' => 'string', + 'example' => 'Complete', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the task was created.'."\n", + 'type' => 'string', + 'example' => '2023-07-26T01:56:15Z', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of the purge task. Valid values:'."\n" + ."\n" + .'* **file** (default): purges the cache by file.'."\n" + .'* **cachetag**: purges the cache by cache tag.'."\n" + .'* **directory**: purges the cache by directory.'."\n" + .'* **ignoreParams**: purges the cache by URL with specified parameters ignored.'."\n" + .'* **hostname**: purges the cache by hostname.'."\n" + .'* **purgeall**: purges all cache.'."\n", + 'type' => 'string', + 'example' => 'file', + 'title' => '', + ], + 'Process' => [ + 'description' => 'The progress of the task, in percentage.'."\n", + 'type' => 'string', + 'example' => '100%', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The error description returned when the purge task failed.'."\n", + 'type' => 'string', + 'example' => 'Internal Error', + 'title' => '', + ], + 'Content' => [ + 'description' => 'The purged content.'."\n", + 'type' => 'string', + 'example' => 'http://a.com/1.jpg?b=1', + 'title' => '', + ], + 'TaskId' => [ + 'description' => 'The task ID.'."\n", + 'type' => 'string', + 'example' => '16346513304', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + 'description' => 'Please provide both a start time and an end time.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'DomainNameOverLimit', + 'errorMessage' => 'A maximum of 500 domains are supported for each request.', + 'description' => 'Only 500 domain names are supported at a time. Please reduce the number of domain names to request again.', + ], + [ + 'errorCode' => 'InvalidTime', + 'errorMessage' => 'The query time cannot exceed the last 3 days.', + 'description' => 'The query time cannot exceed the last 3 days.', + ], + [ + 'errorCode' => 'MissingParameter.ObjectType', + 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', + 'description' => 'Specify the ObjectType parameter.', + ], + [ + 'errorCode' => 'InvalidStationParameter', + 'errorMessage' => 'The specified Station is invalid.', + 'description' => 'The specified node parameter is invalid.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'errorCode' => 'InvalidTaskId.Malformed', + 'errorMessage' => 'The specified taskId is invalid.', + 'description' => 'The specified task ID is invalid.', + ], + [ + 'errorCode' => 'InvalidParameters.InvalidUrls', + 'errorMessage' => 'The specified urls are invalid.', + 'description' => 'The requested URL parameter is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A123425345\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 15,\\n \\"Tasks\\": [\\n {\\n \\"Status\\": \\"Complete\\",\\n \\"CreateTime\\": \\"2023-07-26T01:56:15Z\\",\\n \\"Type\\": \\"file\\",\\n \\"Process\\": \\"100%\\",\\n \\"Description\\": \\"Internal Error\\",\\n \\"Content\\": \\"http://a.com/1.jpg?b=1\\",\\n \\"TaskId\\": \\"16346513304\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribePurgeTasks', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-10T01:55:17.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribePurgeTasks', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribePurgeTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DescribeRatePlanInstanceStatus' => [ + 'summary' => 'Queries the status of an instance that uses a plan.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239092', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The instance ID, which can be obtained by calling the [ListUserRatePlanInstances](~~ListUserRatePlanInstances~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'xcdn-91fknmb80f0g***', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The data returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '60423A7F-A83D-1E24-B80E-86DD25790759', + ], + 'InstanceId' => [ + 'description' => 'The instance ID.'."\n", + 'type' => 'string', + 'example' => 'xcdn-91fknmb80f0g***'."\n", + 'title' => '', + ], + 'InstanceStatus' => [ + 'description' => 'The instance status. Valid values:'."\n" + ."\n" + .'* running: The instance is running.'."\n" + .'* renewing: The instance is being renewed.'."\n" + .'* upgrading: The configuration of the instance is being upgraded.'."\n" + .'* releasePrepaidService: The instance is released due to expiration.'."\n" + .'* creating: The instance is being created.'."\n" + .'* downgrading: The configuration of the instance is being downgraded.'."\n" + .'* ceasePrepaidService: The instance has expired.'."\n", + 'type' => 'string', + 'example' => 'running', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InvalidInstance', + 'errorMessage' => 'The instance ID is missing or invalid. Make sure that the instance ID is valid and try again.', + 'description' => 'The instance ID is missing or invalid. Make sure that the instance ID is valid and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"60423A7F-A83D-1E24-B80E-86DD25790759\\",\\n \\"InstanceId\\": \\"xcdn-91fknmb80f0g***\\\\n\\",\\n \\"InstanceStatus\\": \\"running\\"\\n}","type":"json"}]', + 'title' => 'DescribeRatePlanInstanceStatus', + 'description' => 'You can query the status of an instance after you purchase a plan for the instance.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeRatePlanInstanceStatus', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:DescribeRatePlanInstanceStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'DescribeSiteLogs' => [ + 'summary' => 'Queries the URLs from which you can download the raw access logs of a website.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238778', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGVXOQA', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the website. You can call the ListSites operation to obtain.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456***', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The number of entries per page. Default value: 300. Valid values: 1 to 1000.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'maximum' => '1000', + 'default' => '300', + 'example' => '10', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Pages start from page 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'default' => '1', + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2022-11-06T16:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2022-11-06T17:00:00Z', + 'title' => '', + ], + ], + ], + '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' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'SiteLogDetails' => [ + 'description' => 'The information about the website log files.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456***', + 'title' => '', + ], + 'LogCount' => [ + 'description' => 'The total number of entries returned on the current page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '300', + 'title' => '', + ], + 'LogInfos' => [ + 'description' => 'The details of the website log files.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The download URL of the log file.'."\n", + 'type' => 'object', + 'properties' => [ + 'LogSize' => [ + 'description' => 'The size of the log file. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '438304768', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time.'."\n", + 'type' => 'string', + 'example' => '2022-11-06T17:00:00Z'."\n", + 'title' => '', + ], + 'LogName' => [ + 'description' => 'The name of the log file.'."\n", + 'type' => 'string', + 'example' => 'example.com_2022_11_07_000000_020000.gz.xxxxxx', + 'title' => '', + ], + 'LogPath' => [ + 'description' => 'The log path.'."\n" + ."\n" + .'> Take note of the Expires field (expiration timestamp) in this parameter. If the log download URL expires, you must reobtain the URL.'."\n", + 'type' => 'string', + 'example' => 'example.aliyundoc.com /v1.l1cache/105252530/example.com/2022_11_07/example.com_2022_11_07_000000_020000.gz.xxxxxx?Expires=1636963354&OSSAccessKeyId=LTAIviCc6zy8****&Signature=u0V6foRfZniHE8i%2BHUdxGOhZsK****'."\n", + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The create time.'."\n", + 'type' => 'string', + 'example' => '2022-11-06T16:00:00Z'."\n", + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageInfos' => [ + 'description' => 'Pagination information.'."\n", + 'type' => 'object', + 'properties' => [ + 'PageSize' => [ + 'description' => 'The number of entries per page. Default value: **300**. Valid values: **1 to 1000**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '47', + 'title' => '', + ], + 'PageIndex' => [ + 'description' => 'The page number returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidStartTime.ValueNotSupported', + 'errorMessage' => 'The StartTime cannot exceed 31 days before the current time.', + 'description' => 'The request parameter StartTime cannot be 31 days less than the current time.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"SiteLogDetails\\": [\\n {\\n \\"SiteName\\": \\"example.com\\",\\n \\"SiteId\\": 0,\\n \\"LogCount\\": 300,\\n \\"LogInfos\\": [\\n {\\n \\"LogSize\\": 438304768,\\n \\"EndTime\\": \\"2022-11-06T17:00:00Z\\\\n\\",\\n \\"LogName\\": \\"example.com_2022_11_07_000000_020000.gz.xxxxxx\\",\\n \\"LogPath\\": \\"example.aliyundoc.com /v1.l1cache/105252530/example.com/2022_11_07/example.com_2022_11_07_000000_020000.gz.xxxxxx?Expires=1636963354&OSSAccessKeyId=LTAIviCc6zy8****&Signature=u0V6foRfZniHE8i%2BHUdxGOhZsK****\\\\n\\",\\n \\"StartTime\\": \\"2022-11-06T16:00:00Z\\\\n\\"\\n }\\n ],\\n \\"PageInfos\\": {\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 47,\\n \\"PageIndex\\": 1\\n }\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'DescribeSiteLogs', + 'description' => '- 当您不指定StartTime和EndTime时,默认读取过去24小时的日志数据;当指定StartTime和EndTime时,按指定的起止时间查询日志。'."\n" + .'- 查询数据的时间粒度为一小时。'."\n" + .'- 单用户调用频率:50次/秒。'."\n" + .'- 仅支持查询最近一个月的日志记录(开始时间和当前时间跨度不大于31天)。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeSiteLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'DescribeSiteTimeSeriesData' => [ + 'summary' => 'Query traffic analysis time series data', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239272', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVIK4DM', + 'FEATUREdcdn2Z4HOI', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID. Obtain the site ID by calling the [ListSites](~~ListSites~~) interface.'."\n" + ."\n" + .'If this parameter is empty, user-level data will be queried.', + 'type' => 'string', + 'required' => false, + 'example' => '1150376036*****', + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The start time for obtaining data.'."\n" + ."\n" + .'The date format follows ISO8601 notation and uses UTC+0 time, in the format yyyy-MM-ddTHH:mm:ssZ.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-04-08T16:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time for obtaining data.'."\n" + ."\n" + .'The date format follows ISO8601 notation and uses UTC+0 time, in the format yyyy-MM-ddTHH:mm:ssZ.'."\n" + ."\n" + .'> The end time must be later than the start time.', + 'type' => 'string', + 'required' => false, + 'example' => '2023-04-09T16:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time granularity for querying data, in seconds.'."\n" + ."\n" + .'Depending on the maximum time span of a single query, this parameter supports values of 60 (1 minute), 300 (5 minutes), 3600 (1 hour), and 86400 (1 day). For details, see the **Supported Query Time Granularities**.', + 'type' => 'string', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + ], + [ + 'name' => 'Fields', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Query metrics.', + 'type' => 'array', + 'items' => [ + 'description' => 'Query metrics.', + 'type' => 'object', + 'properties' => [ + 'FieldName' => [ + 'description' => 'Query metric value.'."\n" + ."\n" + .'> For specific dimensions, see [Data Analysis Field Description](~~2878520~~).', + 'type' => 'string', + 'required' => false, + 'example' => 'Traffic', + 'title' => '', + ], + 'Dimension' => [ + 'description' => 'Query dimension.', + 'type' => 'array', + 'items' => [ + 'description' => 'Query dimension.'."\n" + ."\n" + .'> For specific dimensions, see [Data Analysis Field Description](~~2878520~~).', + 'type' => 'string', + 'required' => false, + 'example' => 'ALL', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Data' => [ + 'description' => 'Returned data.', + 'type' => 'array', + 'items' => [ + 'description' => 'Returned data.', + 'type' => 'object', + 'properties' => [ + 'FieldName' => [ + 'description' => 'Query metric value.', + 'type' => 'string', + 'example' => 'Traffic', + 'title' => '', + ], + 'DimensionName' => [ + 'description' => 'Query dimension.', + 'type' => 'string', + 'example' => 'ALL', + 'title' => '', + ], + 'DimensionValue' => [ + 'description' => 'Query dimension value.', + 'type' => 'string', + 'example' => 'ALL', + 'title' => '', + ], + 'DetailData' => [ + 'description' => 'Returned data.', + 'type' => 'array', + 'items' => [ + 'description' => 'Returned data.', + 'type' => 'object', + 'properties' => [ + 'TimeStamp' => [ + 'description' => 'Start timestamp of the time slice.', + 'type' => 'string', + 'example' => '2023-04-08T16:00:00Z', + 'title' => '', + ], + 'Value' => [ + 'description' => 'Value.', + 'type' => 'any', + 'example' => '123', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SummarizedData' => [ + 'description' => 'Aggregated query data.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'FieldName' => [ + 'description' => 'The value of the aggregated metric being queried.', + 'type' => 'string', + 'example' => 'Traffic', + 'title' => '', + ], + 'DimensionName' => [ + 'description' => 'The dimension of the aggregated data being queried.', + 'type' => 'string', + 'example' => 'ALL', + 'title' => '', + ], + 'DimensionValue' => [ + 'description' => 'The value of the aggregated dimension being queried.', + 'type' => 'string', + 'example' => 'ALL', + 'title' => '', + ], + 'AggMethod' => [ + 'description' => 'The aggregation method used.', + 'type' => 'string', + 'example' => 'sum', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The aggregated value.', + 'type' => 'any', + 'example' => '12345', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE7****', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The start time for fetching the data.'."\n" + ."\n" + .'The date format follows ISO8601 notation and uses UTC+0, formatted as yyyy-MM-ddTHH:mm:ssZ.', + 'type' => 'string', + 'example' => '2023-04-08T16:00:00Z', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time for fetching the data.'."\n" + ."\n" + .'The date format follows ISO8601 notation and uses UTC+0, formatted as yyyy-MM-ddTHH:mm:ssZ.', + 'type' => 'string', + 'example' => '2023-04-09T16:00:00Z', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'The granularity of the data, in seconds.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '300', + 'title' => '', + ], + 'SamplingRate' => [ + 'description' => 'The sampling rate, in %.', + 'type' => 'number', + 'format' => 'float', + 'example' => '100', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.TimeRange', + 'errorMessage' => 'The specified time range exceeds the limit. Adjust it and try again.', + 'description' => 'The specified time range exceeds the limit. Adjust it and try again.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Parameter verification failed. Check your configurations and try again.', + 'description' => 'Parameter verification failed. Check your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.Function', + 'errorMessage' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + 'description' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + ], + [ + 'errorCode' => 'InvalidParameter.Field', + 'errorMessage' => 'The specified Field is invalid.', + 'description' => 'The specified Field is invalid. For more information, see OpenAPI Documentation .', + ], + [ + 'errorCode' => 'InvalidParameter.Dimension', + 'errorMessage' => 'The specified Dimension is invalid.', + 'description' => 'The specified Dimension is invalid. For more information, see OpenAPI Documentation .'."\n", + ], + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'Specified start time or end time is malformed.', + 'description' => 'The specified time format is incorrect. The time must conform to the yyyy-MM-ddTHH:mm:ssZ format. Please enter it correctly and try again.', + ], + [ + 'errorCode' => 'TooManyDimensions', + 'errorMessage' => 'Too many query dimensions specified. Delete some and try again.', + 'description' => 'Too many query dimensions specified. Delete some and try again.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": [\\n {\\n \\"FieldName\\": \\"Traffic\\",\\n \\"DimensionName\\": \\"ALL\\",\\n \\"DimensionValue\\": \\"ALL\\",\\n \\"DetailData\\": [\\n {\\n \\"TimeStamp\\": \\"2023-04-08T16:00:00Z\\",\\n \\"Value\\": \\"123\\"\\n }\\n ]\\n }\\n ],\\n \\"SummarizedData\\": [\\n {\\n \\"FieldName\\": \\"Traffic\\",\\n \\"DimensionName\\": \\"ALL\\",\\n \\"DimensionValue\\": \\"ALL\\",\\n \\"AggMethod\\": \\"sum\\",\\n \\"Value\\": \\"12345\\"\\n }\\n ],\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE7****\\",\\n \\"StartTime\\": \\"2023-04-08T16:00:00Z\\",\\n \\"EndTime\\": \\"2023-04-09T16:00:00Z\\",\\n \\"Interval\\": 300,\\n \\"SamplingRate\\": 100\\n}","type":"json"}]', + 'title' => 'Query Traffic Analysis Time Series Data', + 'description' => '- If you do not specify `StartTime` and `EndTime`, the API returns data for the past 24 hours; if you specify `StartTime` and `EndTime`, the API returns data for the specified time period.'."\n" + .'- The API returns different time granularities based on the span between `StartTime` and `EndTime`.'."\n" + .' * For a span of 3 hours or less, it returns 1-minute granularity data.'."\n" + .' * For a span greater than 3 hours but no more than 12 hours, it returns 5-minute granularity data.'."\n" + .' * For a span greater than 12 hours but no more than 1 day, it returns 15-minute granularity data.'."\n" + .' * For a span greater than 1 day but no more than 10 days, it returns hourly granularity data.'."\n" + .' * For a span greater than 10 days but no more than 31 days, it returns daily granularity data.'."\n" + .'- Due to the high number of accesses during the query period, the data analysis may be sampled.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '10', + 'countWindow' => 10, + 'regionId' => '*', + 'api' => 'DescribeSiteTimeSeriesData', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeSiteTimeSeriesData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DescribeSiteTopData' => [ + 'summary' => 'Queries the top-ranking records in a traffic analytics report by website or Alibaba Cloud account.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239025', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVIK4DM', + 'FEATUREdcdn2Z4HOI', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n" + ."\n" + .'If you do not specify this parameter, the system returns data by account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1150376036*****'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-04-08T16:00:00Z'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.'."\n" + ."\n" + .'> The end time must be later than the start time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-04-09T16:00:00Z'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time interval between the data entries to return. Unit: seconds.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + ], + [ + 'name' => 'Fields', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The metrics to query.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The metric to query.'."\n", + 'type' => 'object', + 'properties' => [ + 'FieldName' => [ + 'description' => 'The metric name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Traffic', + 'title' => '', + ], + 'Dimension' => [ + 'description' => 'The dimensions at which you want to query data.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The dimension at which you want to query data.'."\n" + ."\n" + .'> For more information, see the corresponding log fields.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ALL', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Limit', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of top-ranking data entries to query.'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 5 => '5', + 10 => '10', + 150 => '150', + ], + 'default' => '300', + 'enum' => [ + '5', + '10', + '15', + '100', + '150', + '999', + '300', + ], + 'example' => '5', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Data' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'FieldName' => [ + 'description' => 'The metric name.'."\n", + 'type' => 'string', + 'example' => 'Traffic', + 'title' => '', + ], + 'DimensionName' => [ + 'description' => 'The dimension at which data was queried.'."\n", + 'type' => 'string', + 'example' => 'ALL', + 'title' => '', + ], + 'DetailData' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The returned data.'."\n", + 'type' => 'object', + 'properties' => [ + 'DimensionValue' => [ + 'description' => 'The dimension value.'."\n", + 'type' => 'string', + 'example' => 'ALL', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The queried numeric value.'."\n", + 'type' => 'any', + 'example' => '123', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '35C66C7B-671H-4297-9187-2C447724****', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The beginning of the time range during which data was queried.'."\n" + ."\n" + .'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' => '2023-04-08T16:00:00Z', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end of the time range during which data was queried.'."\n" + ."\n" + .'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' => '2023-04-09T16:00:00Z', + 'title' => '', + ], + 'SamplingRate' => [ + 'description' => 'The sampling rate.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '100', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.TimeRange', + 'errorMessage' => 'The specified time range exceeds the limit. Adjust it and try again.', + 'description' => 'The specified time range exceeds the limit. Adjust it and try again.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Parameter verification failed. Check your configurations and try again.', + 'description' => 'Parameter verification failed. Check your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.Function', + 'errorMessage' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + 'description' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + ], + [ + 'errorCode' => 'InvalidParameter.Field', + 'errorMessage' => 'The specified Field is invalid.', + 'description' => 'The specified Field is invalid. For more information, see OpenAPI Documentation .', + ], + [ + 'errorCode' => 'InvalidParameter.Dimension', + 'errorMessage' => 'The specified Dimension is invalid.', + 'description' => 'The specified Dimension is invalid. For more information, see OpenAPI Documentation .'."\n", + ], + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'Specified start time or end time is malformed.', + 'description' => 'The specified time format is incorrect. The time must conform to the yyyy-MM-ddTHH:mm:ssZ format. Please enter it correctly and try again.', + ], + [ + 'errorCode' => 'TooManyDimensions', + 'errorMessage' => 'Too many query dimensions specified. Delete some and try again.', + 'description' => 'Too many query dimensions specified. Delete some and try again.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Data\\": [\\n {\\n \\"FieldName\\": \\"Traffic\\",\\n \\"DimensionName\\": \\"ALL\\",\\n \\"DetailData\\": [\\n {\\n \\"DimensionValue\\": \\"ALL\\",\\n \\"Value\\": \\"123\\"\\n }\\n ]\\n }\\n ],\\n \\"RequestId\\": \\"35C66C7B-671H-4297-9187-2C447724****\\",\\n \\"StartTime\\": \\"2023-04-08T16:00:00Z\\",\\n \\"EndTime\\": \\"2023-04-09T16:00:00Z\\",\\n \\"SamplingRate\\": 100\\n}","type":"json"}]', + 'title' => 'DescribeSiteTopData', + 'description' => '- 如果您不指定 StartTime 和 EndTime,该接口返回过去 24 小时的数据;指定 StartTime 和 EndTime,该接口返回指定时间段的数据。'."\n" + ."\n" + .'- 由于查询时间段的访问次数较多,数据分析可能经过采样。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '10', + 'countWindow' => 10, + 'regionId' => '*', + 'api' => 'DescribeSiteTopData', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeSiteTopData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DescribeUrlObservationData' => [ + 'summary' => 'Queries the page monitoring data.', + 'description' => '', + 'path' => '/', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '255157', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '54362329990032', + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the time range to query.'."\n" + ."\n" + .'The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-04-08T16:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end of the time range to query.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. The time must be in UTC.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2023-04-19T15:59:59Z', + 'title' => '', + ], + ], + [ + 'name' => 'Url', + 'in' => 'query', + 'schema' => [ + 'description' => 'The URL of the web page to monitor.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com/test', + 'title' => '', + ], + ], + [ + 'name' => 'ClientPlatform', + 'in' => 'query', + 'schema' => [ + 'description' => 'The platform of the device. If the parameter is left empty, all devices are queried.'."\n" + ."\n" + .'* PC'."\n" + .'* Mobile'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'PC', + 'Mobile', + ], + 'example' => 'PC', + 'title' => '', + ], + ], + [ + 'name' => 'Metric', + 'in' => 'query', + 'schema' => [ + 'description' => 'The metric data that is detected.'."\n" + ."\n" + .'* TTFB: Measures the time between when a resource initiates a request and when the first byte of the response starts to arrive.'."\n" + .'* FCP: Measures the time between when the page is loaded and when any part of the page\'s content is rendered on the screen.'."\n" + .'* LCP: Reports the rendering time of the largest image or text block visible in the viewport.'."\n" + .'* CLS: A metric that measures the maximum layout mutation score for every unexpected layout change that occurs throughout the life of the page.'."\n" + .'* INP: Measures the responsiveness of the page, or how long it takes for the page to respond to user input in a visible way.'."\n" + .'* FID: Measures the time between when the user first interacts with the page and when the browser is actually able to start processing the event handler in response to that interaction.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'TTFB', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'UrlDetailData' => [ + 'description' => 'The objects that are returned.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'The URL of the web page to monitor.'."\n", + 'type' => 'string', + 'example' => 'example.com/test', + 'title' => '', + ], + 'ClientPlatform' => [ + 'description' => 'The platform of the device.'."\n", + 'type' => 'string', + 'example' => 'PC', + 'title' => '', + ], + 'Country' => [ + 'description' => 'The country or region to which the IP address belongs.'."\n", + 'type' => 'string', + 'example' => 'CN', + 'title' => '', + ], + 'TTFB' => [ + 'description' => 'This metric measures the time between when a resource initiates a request and when the first byte of the response starts to arrive. Unit: ms.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '123', + 'title' => '', + ], + 'FCP' => [ + 'description' => 'Measures the time between when the page is loaded and when any part of the page\'s content is rendered on the screen. Unit: ms.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '123', + 'title' => '', + ], + 'LCP' => [ + 'description' => 'Reports the rendering time of the largest image or text block visible in the viewport. Unit: ms.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '123', + 'title' => '', + ], + 'CLS' => [ + 'description' => 'Measures the maximum layout mutation score for every unexpected layout change that occurs throughout the life of the page.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.5', + 'title' => '', + ], + 'FID' => [ + 'description' => 'Measures the time between when the user first interacts with the page and when the browser is actually able to start processing an event handler in response to that interaction. Unit: ms.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '123', + 'title' => '', + ], + 'INP' => [ + 'description' => 'Measures the responsiveness of the page, or how long it takes for the page to respond to user input visibly. Unit: ms.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '123', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The create time. The time is in the yyyy-MM-ddTHH:mm:ssZ format.'."\n", + 'type' => 'string', + 'example' => '2022-11-06T16:00:00Z', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end of the time range during which data was queried.'."\n" + ."\n" + .'Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC. The time must be in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-04-19T15:59:59Z', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.TimeRange', + 'errorMessage' => 'The specified time range exceeds the limit. Adjust it and try again.', + 'description' => 'The specified time range exceeds the limit. Adjust it and try again.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Parameter verification failed. Check your configurations and try again.', + 'description' => 'Parameter verification failed. Check your configurations and try again.', + ], + [ + 'errorCode' => 'InvalidTime.Malformed', + 'errorMessage' => 'Specified start time or end time is malformed.', + 'description' => 'The specified time format is incorrect. The time must conform to the yyyy-MM-ddTHH:mm:ssZ format. Please enter it correctly and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"UrlDetailData\\": [\\n {\\n \\"Url\\": \\"example.com/test\\",\\n \\"ClientPlatform\\": \\"PC\\",\\n \\"Country\\": \\"CN\\",\\n \\"TTFB\\": 123,\\n \\"FCP\\": 123,\\n \\"LCP\\": 123,\\n \\"CLS\\": 0.5,\\n \\"FID\\": 123,\\n \\"INP\\": 123\\n }\\n ],\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"StartTime\\": \\"2022-11-06T16:00:00Z\\",\\n \\"EndTime\\": \\"2023-04-19T15:59:59Z\\"\\n}","type":"json"}]', + 'title' => 'DescribeUrlObservationData', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '10', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeUrlObservationData', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeUrlObservationData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'DisableCustomScenePolicy' => [ + 'summary' => 'Disables a scenario-specific policy.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239134', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The policy ID, which can be obtained by calling the [DescribeCustomScenePolicies](~~2850508~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '100001', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', + ], + 'PolicyId' => [ + 'description' => 'The ID of the disabled policy.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100001', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'PolicyNotExist', + 'errorMessage' => 'The policy does not exist.', + 'description' => 'The policy does not exist. ', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\",\\n \\"PolicyId\\": 100001\\n}","type":"json"}]', + 'title' => 'DisableCustomScenePolicy', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DisableCustomScenePolicy', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DisableCustomScenePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'EditSiteWafSettings' => [ + 'summary' => 'Edit WAF Configuration for a Site', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239647', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4VDL9A', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Settings', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'title' => '站点WAF配置', + 'description' => 'WAF configuration information for the site, passed in JSON format.', + 'required' => false, + '$ref' => '#/components/schemas/WafSiteSettings', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response Schema', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + ], + 403 => [ + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\"\\n}","type":"json"}]', + 'title' => 'Edit WAF Configuration for a Site', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-19T09:09:37.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-25T07:02:51.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T08:22:13.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'EditSiteWafSettings', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:EditSiteWafSettings', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'EnableCustomScenePolicy' => [ + 'summary' => 'Enables a scenario-specific policy.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238963', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The policy ID, which can be obtained by calling the [DescribeCustomScenePolicies](~~2850508~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '65C66B7B-671A-8297-9187-2R5477247B76', + ], + 'PolicyId' => [ + 'description' => 'The policy ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'PolicyNotExist', + 'errorMessage' => 'The policy does not exist.', + 'description' => 'The policy does not exist. ', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"65C66B7B-671A-8297-9187-2R5477247B76\\",\\n \\"PolicyId\\": 1\\n}","type":"json"}]', + 'title' => 'EnableCustomScenePolicy', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'EnableCustomScenePolicy', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:EnableCustomScenePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ExportRecords' => [ + 'summary' => 'Exports all DNS records of a website domain as a TXT file.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239639', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVFT29S', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1234567890123', + 'title' => '', + ], + ], + ], + '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' => 'C69B5894-D1BA-592C-95D0-DADBE7AEAC63', + ], + 'Content' => [ + 'description' => 'The exported DNS records.'."\n", + 'type' => 'string', + 'example' => ';; site:example.com.\\n;; Exported:2024-01-24 15:54:35\\n\\n;; A Records\\na1.example.com. 30 IN A 1.1.1.1 direct\\na2.example.com. 30 IN A 1.1.1.1 direct\\na3.example.com. 30 IN A 1.1.1.1 direct\\n', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C69B5894-D1BA-592C-95D0-DADBE7AEAC63\\",\\n \\"Content\\": \\";; site:example.com.\\\\\\\\n;; Exported:2024-01-24 15:54:35\\\\\\\\n\\\\\\\\n;; A Records\\\\\\\\na1.example.com. 30 IN A 1.1.1.1 direct\\\\\\\\na2.example.com. 30 IN A 1.1.1.1 direct\\\\\\\\na3.example.com. 30 IN A 1.1.1.1 direct\\\\\\\\n\\"\\n}","type":"json"}]', + 'title' => 'ExportRecords', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T08:22:08.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ExportRecords', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ExportRecords', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetApiSchemaUsage' => [ + 'summary' => 'Queries the usage of the upload file quota for API security schema verification.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREdcdnOKX321', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1159101787****', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version of the website.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request'."\n", + 'type' => 'string', + 'example' => '952ea16b-1f05-4a76-bb32-420282d8****', + ], + 'InstanceId' => [ + 'description' => 'The plan ID.'."\n", + 'type' => 'string', + 'example' => 'esa-site-agknce3n****', + 'title' => '', + ], + 'InstanceUsage' => [ + 'description' => 'The number of files uploaded for schema verification in the plan instance of the website.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Usages' => [ + 'description' => 'Usage details for websites.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Usage details for a website.'."\n", + 'type' => 'object', + 'properties' => [ + 'Usage' => [ + 'description' => 'The number of files uploaded for the website.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '40000449', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'test', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.ApiShield.Quota', + 'errorMessage' => 'This website does not have the permission to view API security features.', + 'description' => 'This website does not have the permission to view API security features.', + ], + [ + 'errorCode' => 'SiteVersion.NotExist', + 'errorMessage' => 'The specified version is invalid or version management is not enabled for your website.Make sure that you specify a valid version and version management is enabled. Then, try again.', + 'description' => 'The specified version is invalid or version management is not enabled for your website.Make sure that you specify a valid version and version management is enabled. Then, try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'GetApiSchemaUsage', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetApiSchemaUsage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"952ea16b-1f05-4a76-bb32-420282d8****\\",\\n \\"InstanceId\\": \\"esa-site-agknce3n****\\",\\n \\"InstanceUsage\\": 10,\\n \\"Usages\\": [\\n {\\n \\"Usage\\": 0,\\n \\"Id\\": 40000449,\\n \\"Name\\": \\"test\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetCacheReserveSpecification' => [ + 'summary' => 'Queries the available specifications of cache reserve instances.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239117', + 'abilityTreeNodes' => [ + 'FEATUREdcdn51XOHW', + ], + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Details of the request response.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F'."\n", + ], + 'CacheReserveRegion' => [ + 'description' => 'List of cache retention region specifications.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the region.', + 'type' => 'string', + 'example' => 'HK', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'CacheReserveCapacity' => [ + 'description' => 'List of cache retention capacity specifications.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the capacity specification. Unit: GB.', + 'type' => 'string', + 'example' => '512000', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\\\n\\",\\n \\"CacheReserveRegion\\": [\\n \\"HK\\"\\n ],\\n \\"CacheReserveCapacity\\": [\\n \\"512000\\"\\n ]\\n}","type":"json"}]', + 'title' => 'GetCacheReserveSpecification', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCacheReserveSpecification', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCacheReserveSpecification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetCacheRule' => [ + 'summary' => 'Query a single cache configuration', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257574', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ConfigId of the configuration, which can be obtained by calling the [ListCacheRules](~~2866985~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '352816096987136', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type, which can be used to query global or rule configurations. Value range:'."\n" + .'- global: Query global configuration;'."\n" + .'- rule: Query rule configuration;', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter does not need to be set when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter does not need to be set when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter does not need to be set when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example'."\n", + 'title' => '', + ], + 'BypassCache' => [ + 'description' => 'Set bypass cache mode. Value range:'."\n" + ."\n" + .'- cache_all: Cache all requests.'."\n" + .'- bypass_all: Bypass cache for all requests.', + 'type' => 'string', + 'example' => 'cache_all', + 'title' => '', + ], + 'BrowserCacheMode' => [ + 'description' => 'Browser cache mode. Value range:'."\n" + .'- no_cache: Do not cache.'."\n" + .'- follow_origin: Follow origin cache policy.'."\n" + .'- override_origin: Override origin cache policy.', + 'type' => 'string', + 'example' => 'follow_origin', + 'title' => '', + ], + 'BrowserCacheTtl' => [ + 'description' => 'Browser cache expiration time, in seconds.', + 'type' => 'string', + 'example' => '300', + 'title' => '', + ], + 'EdgeCacheMode' => [ + 'description' => 'Edge cache mode. Value range:'."\n" + .'- follow_origin: Follow origin cache policy (if exists), otherwise use the default cache policy.'."\n" + .'- no_cache: Do not cache.'."\n" + .'- override_origin: Override origin cache policy.'."\n" + .'- follow_origin_bypass: Follow origin cache policy (if exists), otherwise do not cache.', + 'type' => 'string', + 'example' => 'follow_origin', + 'title' => '', + ], + 'EdgeCacheTtl' => [ + 'description' => 'Edge cache expiration time, in seconds.', + 'type' => 'string', + 'example' => '300', + 'title' => '', + ], + 'EdgeStatusCodeCacheTtl' => [ + 'description' => 'Status code cache expiration time, in seconds.', + 'type' => 'string', + 'example' => '4xx=10', + 'title' => '', + ], + 'SortQueryStringForCache' => [ + 'description' => 'Query string sorting. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'QueryStringMode' => [ + 'description' => 'The processing mode for query strings when generating cache keys. Value range:'."\n" + ."\n" + .'- ignore_all: Ignore all.'."\n" + .'- exclude_query_string: Exclude specified query strings.'."\n" + .'- reserve_all: Default, reserve all.'."\n" + .'- include_query_string: Include specified query strings.', + 'type' => 'string', + 'example' => 'reserve_all', + 'title' => '', + ], + 'QueryString' => [ + 'description' => 'The query strings to be retained or deleted, supporting multiple values separated by spaces.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + ], + 'IncludeHeader' => [ + 'description' => 'When generating the cache key, include the specified header names and their values. Supports multiple values, separated by spaces.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + ], + 'IncludeCookie' => [ + 'description' => 'When generating the cache key, include the specified cookie names and their values. Supports multiple values, separated by spaces.', + 'type' => 'string', + 'example' => 'cookie_exapmle', + 'title' => '', + ], + 'CacheReserveEligibility' => [ + 'description' => 'Cache reserve eligibility. Used to control whether user requests bypass the cache reserve node when returning to the origin. Value range:'."\n" + ."\n" + .'- bypass_cache_reserve: Requests bypass the cache reserve.'."\n" + .'- eligible_for_cache_reserve: Eligible for cache reserve.', + 'type' => 'string', + 'example' => 'bypass_cache_reserve', + 'title' => '', + ], + 'CheckPresenceHeader' => [ + 'description' => 'When generating the cache key, check if the header exists. If it does, add the header name (header names are case-insensitive) to the cache key. Supports multiple header names, separated by spaces.', + 'type' => 'string', + 'example' => 'headername', + 'title' => '', + ], + 'CheckPresenceCookie' => [ + 'description' => 'When generating the cache key, check if the cookie exists. If it does, add the cookie name (cookie names are case-insensitive) to the cache key. Supports multiple cookie names, separated by spaces.', + 'type' => 'string', + 'example' => 'cookiename', + 'title' => '', + ], + 'UserDeviceType' => [ + 'description' => 'When generating the cache key, include the client device type. Value range:'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'UserGeo' => [ + 'description' => 'When generating the cache key, include the client\'s geographic location. Value range:'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'UserLanguage' => [ + 'description' => 'When generating the cache key, include the client\'s language type. Value range:'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'ServeStale' => [ + 'description' => 'Serve stale cache. When enabled, the node can still use the cached expired files to respond to user requests even if the origin server is unavailable. Value range:'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'AdditionalCacheablePorts' => [ + 'description' => 'Enable caching on the specified ports. Value range: 8880, 2052, 2082, 2086, 2095, 2053, 2083, 2087, 2096.', + 'type' => 'string', + 'example' => '2095', + 'title' => '', + ], + 'CacheDeceptionArmor' => [ + 'description' => 'Cache deception defense. Used to defend against web cache deception attacks. Only the verified cache content will be cached. Value range:'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'PostCache' => [ + 'description' => 'Post cache feature toggle.', + 'title' => 'Toggle for the Post cache feature.', + 'type' => 'string', + 'example' => 'on', + ], + 'PostBodyCacheKey' => [ + 'description' => 'Processing pattern for the cache key.', + 'title' => 'Processing pattern for the cache key.', + 'type' => 'string', + 'example' => 'ignore', + ], + 'PostBodySizeLimit' => [ + 'description' => 'Body size limit. The value is numeric, in KB. Body sizes from 1 KB to 8 KB are supported. If the value is empty, it defaults to 8 KB.', + 'type' => 'string', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"ConfigId\\": 352816096987136,\\n \\"ConfigType\\": \\"global\\",\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\\\n\\",\\n \\"BypassCache\\": \\"cache_all\\",\\n \\"BrowserCacheMode\\": \\"follow_origin\\",\\n \\"BrowserCacheTtl\\": \\"300\\",\\n \\"EdgeCacheMode\\": \\"follow_origin\\",\\n \\"EdgeCacheTtl\\": \\"300\\",\\n \\"EdgeStatusCodeCacheTtl\\": \\"4xx=10\\",\\n \\"SortQueryStringForCache\\": \\"on\\",\\n \\"QueryStringMode\\": \\"reserve_all\\",\\n \\"QueryString\\": \\"example\\",\\n \\"IncludeHeader\\": \\"example\\",\\n \\"IncludeCookie\\": \\"cookie_exapmle\\",\\n \\"CacheReserveEligibility\\": \\"bypass_cache_reserve\\",\\n \\"CheckPresenceHeader\\": \\"headername\\",\\n \\"CheckPresenceCookie\\": \\"cookiename\\",\\n \\"UserDeviceType\\": \\"on\\",\\n \\"UserGeo\\": \\"on\\",\\n \\"UserLanguage\\": \\"on\\",\\n \\"ServeStale\\": \\"on\\",\\n \\"AdditionalCacheablePorts\\": \\"2095\\",\\n \\"CacheDeceptionArmor\\": \\"on\\",\\n \\"PostCache\\": \\"on\\",\\n \\"PostBodyCacheKey\\": \\"ignore\\",\\n \\"PostBodySizeLimit\\": \\"1\\"\\n}","type":"json"}]', + 'title' => 'Query Site Cache Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCacheRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCacheRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'GetCacheTag' => [ + 'summary' => 'Query Site Cache Tag Configuration', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257339', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '156A6B-677B1A-4297B7-9187B7-2B44792', + ], + 'CaseInsensitive' => [ + 'description' => 'Whether to ignore case. Possible values:'."\n" + .'- on: Enabled, ignores case.'."\n" + .'- off: Disabled, does not ignore case.', + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + 'TagName' => [ + 'description' => 'Custom CacheTag name.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Version number of the site.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\",\\n \\"CaseInsensitive\\": \\"on\\",\\n \\"TagName\\": \\"example\\",\\n \\"SiteVersion\\": 1\\n}","type":"json"}]', + 'title' => 'Query Site Cache Tag Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCacheTag', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCacheTag', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetCertificate' => [ + 'summary' => 'Retrieve the certificate, private key, and certificate information', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239130', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'Certificate ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'babaded901474b9693acf530e0fb1d95', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'Site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'Site name.', + 'type' => 'string', + 'example' => 'example.com ', + 'title' => '', + ], + 'Status' => [ + 'description' => 'Certificate status.', + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'Certificate content.', + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + 'Result' => [ + 'description' => 'The certificate information.'."\n", + 'type' => 'object', + 'properties' => [ + 'CasId' => [ + 'description' => 'Cloud certificate ID.', + 'type' => 'string', + 'example' => '30000478', + 'title' => '', + ], + 'Id' => [ + 'description' => 'Certificate ID.', + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1d95', + 'title' => '', + ], + 'Name' => [ + 'description' => 'Certificate name.', + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Region' => [ + 'description' => 'Region.', + 'type' => 'string', + 'example' => 'cn-hangzhou', + 'title' => '', + ], + 'Status' => [ + 'description' => 'Certificate status.', + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Type' => [ + 'description' => 'Certificate type.', + 'type' => 'string', + 'example' => 'free', + 'enumValueTitles' => [ + 'cas' => '云盾证书', + 'upload' => '自定义上传证书', + 'keyless' => 'Keyless证书', + 'free' => '免费证书', + ], + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'Common Name (CN) field of the certificate.', + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'Start time of the certificate validity period.', + 'type' => 'string', + 'example' => '2023-11-26T16:00:00Z', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'End time of the certificate validity period.', + 'type' => 'string', + 'example' => '2023-11-26T16:00:00Z', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'Certificate issuer.', + 'type' => 'string', + 'example' => 'DigiCert', + 'title' => '', + ], + 'IssuerCN' => [ + 'description' => 'Certificate issuing authority.', + 'type' => 'string', + 'example' => 'DigiCert Global Root CA', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'Subject Alternative Name (SAN) of the certificate.', + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SigAlg' => [ + 'description' => 'Certificate signature algorithm.', + 'type' => 'string', + 'example' => 'ECDSA-SHA1', + 'title' => '', + ], + 'PubAlg' => [ + 'description' => 'Certificate public key algorithm.', + 'type' => 'string', + 'example' => 'ECDSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'Creation time.', + 'type' => 'string', + 'example' => '2020-05-12 02:00:53', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'Update time.', + 'type' => 'string', + 'example' => '2022-09-22 05:33:13', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'Serial number of the certificate.', + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1daa', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'SHA256 fingerprint of the certificate.', + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66', + 'title' => '', + ], + 'DCV' => [ + 'description' => 'The Domain Control Validation (DCV) information.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The DCV ID.'."\n", + 'type' => 'string', + 'example' => 'bababf7cdd1546a2ad04c0def1f4c980', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The DCV type. Valid values: DNS and HTTP.'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'DNS' => 'DNS', + 'HTTP' => 'HTTP', + ], + 'example' => 'HTTP', + 'title' => '', + ], + 'Key' => [ + 'description' => 'The DCV name. It is a TXT record name if Type is DNS or URL if Type is HTTP.'."\n", + 'type' => 'string', + 'example' => 'http://www.example.com/.well-known/acme-challenge/pH20CqwS5L3ZnvkhI436DCzadKFuG7QcUcvB_4KsAow', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The DCV content.'."\n", + 'type' => 'string', + 'example' => 'pH20CqwS5L3ZnvkhI436DCzadKFuG7QcUcvB_4KsAow.KfzYo4LH3EgOt7a73G-RqZkbR0eYtLfEUmtmqGmr4FQ', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The verification status.'."\n", + 'type' => 'string', + 'example' => 'pending', + 'title' => '', + ], + ], + 'description' => 'DCV information.', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ApplyCode' => [ + 'description' => 'The error code returned for certificate application.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + 'title' => '', + ], + 'ApplyMessage' => [ + 'description' => 'The error message returned for certificate application.'."\n", + 'type' => 'string', + 'example' => 'canceled', + 'title' => '', + ], + 'KeyServerId' => [ + 'description' => 'Keyless server ID, valid when Type is keyless.', + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838e****', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com \\",\\n \\"Status\\": \\"OK\\",\\n \\"Certificate\\": \\"-----BEGIN CERTIFICATE-----\\",\\n \\"Result\\": {\\n \\"CasId\\": \\"30000478\\",\\n \\"Id\\": \\"babaded901474b9693acf530e0fb1d95\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"Status\\": \\"OK\\",\\n \\"Type\\": \\"free\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"NotBefore\\": \\"2023-11-26T16:00:00Z\\",\\n \\"NotAfter\\": \\"2023-11-26T16:00:00Z\\",\\n \\"Issuer\\": \\"DigiCert\\",\\n \\"IssuerCN\\": \\"DigiCert Global Root CA\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SigAlg\\": \\"ECDSA-SHA1\\",\\n \\"PubAlg\\": \\"ECDSA\\",\\n \\"CreateTime\\": \\"2020-05-12 02:00:53\\",\\n \\"UpdateTime\\": \\"2022-09-22 05:33:13\\",\\n \\"SerialNumber\\": \\"babaded901474b9693acf530e0fb1daa\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66\\",\\n \\"DCV\\": [\\n {\\n \\"Id\\": \\"bababf7cdd1546a2ad04c0def1f4c980\\",\\n \\"Type\\": \\"HTTP\\",\\n \\"Key\\": \\"http://www.example.com/.well-known/acme-challenge/pH20CqwS5L3ZnvkhI436DCzadKFuG7QcUcvB_4KsAow\\",\\n \\"Value\\": \\"pH20CqwS5L3ZnvkhI436DCzadKFuG7QcUcvB_4KsAow.KfzYo4LH3EgOt7a73G-RqZkbR0eYtLfEUmtmqGmr4FQ\\",\\n \\"Status\\": \\"pending\\"\\n }\\n ],\\n \\"ApplyCode\\": 2,\\n \\"ApplyMessage\\": \\"canceled\\",\\n \\"KeyServerId\\": \\"baba39055622c008b90285a8838e****\\"\\n },\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'Get Specified Certificate Information', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:GetCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'translator' => 'machine', + ], + 'GetCertificateQuota' => [ + 'summary' => 'Query certificate quota and usage', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238965', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'Certificate Quota type.', + 'type' => 'string', + 'required' => true, + 'example' => 'free', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'Quota' => [ + 'description' => 'Free certificate quota.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'title' => '', + ], + 'QuotaUsage' => [ + 'description' => 'Usage of free certificate quota.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + 'Type' => [ + 'description' => 'Certificate Quota type.', + 'type' => 'string', + 'example' => 'free', + 'title' => '', + ], + 'SiteCount' => [ + 'description' => 'Number of sites.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + 'title' => '', + ], + 'SiteUsage' => [ + 'description' => 'List of site usage details.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of site usage.', + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'Site ID.', + 'type' => 'string', + 'example' => '165929521496928', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'Site name.', + 'type' => 'string', + 'example' => 'example.com ', + 'title' => '', + ], + 'SiteUsage' => [ + 'description' => 'Site usage.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed', + 'errorMessage' => 'Failed to check free certificate Quota, please try again later.', + 'description' => 'Failed to check free certificate Quota, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Quota\\": 10,\\n \\"QuotaUsage\\": 5,\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"Type\\": \\"free\\",\\n \\"SiteCount\\": 2,\\n \\"SiteUsage\\": [\\n {\\n \\"SiteId\\": \\"165929521496928\\",\\n \\"SiteName\\": \\"example.com \\",\\n \\"SiteUsage\\": 5\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'GetCertificateQuota', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCertificateQuota', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:GetCertificateQuota', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetClientCaCertificate' => [ + 'summary' => 'Queries a client CA certificate.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238932', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID, which can be obtained by calling the [ListClientCaCertificates](~~2860651~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'babab9db65ee5efcca9f3d41d4b5****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The certificate status.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The certificate content.'."\n", + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + 'Result' => [ + 'description' => 'The certificate information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babab9db65ee5efcca9f3d41d4b5****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The certificate status.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type.'."\n", + 'type' => 'string', + 'example' => 'upload', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-03-31 02:08:00', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-03-31 02:08:00', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The Subject Alternative Name (SAN) of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubkeyAlgorithm' => [ + 'description' => 'The public-key algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the certificate was created.'."\n", + 'type' => 'string', + 'example' => '2024-03-05 18:24:04', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the certificate was updated.'."\n", + 'type' => 'string', + 'example' => '2024-03-05 18:24:04', + 'title' => '', + ], + 'SerialNumber' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'FingerprintSha256' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\",\\n \\"Status\\": \\"OK\\",\\n \\"Certificate\\": \\"-----BEGIN CERTIFICATE-----\\",\\n \\"Result\\": {\\n \\"Id\\": \\"babab9db65ee5efcca9f3d41d4b5****\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Status\\": \\"OK\\",\\n \\"Type\\": \\"upload\\",\\n \\"CommonName\\": \\"www.example.com \\",\\n \\"NotBefore\\": \\"2023-03-31 02:08:00\\",\\n \\"NotAfter\\": \\"2024-03-31 02:08:00\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"PubkeyAlgorithm\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2024-03-05 18:24:04\\",\\n \\"UpdateTime\\": \\"2024-03-05 18:24:04\\",\\n \\"SerialNumber\\": \\"\\",\\n \\"FingerprintSha256\\": \\"\\"\\n },\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'GetClientCaCertificate', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-12T03:30:13.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetClientCaCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetClientCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'GetClientCertificate' => [ + 'summary' => 'Queries information about a client certificate.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238926', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com'."\n", + 'title' => '', + ], + 'Status' => [ + 'description' => 'The certificate status.'."\n", + 'type' => 'string', + 'example' => 'active', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The certificate content.'."\n", + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + 'Result' => [ + 'description' => 'The certificate information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The certificate status.'."\n", + 'type' => 'string', + 'example' => 'active', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type.'."\n", + 'type' => 'string', + 'example' => 'dcdn', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-03-31 02:08:00', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-03-31 02:08:00', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The Subject Alternative Name (SAN) of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubkeyAlgorithm' => [ + 'description' => 'The public-key algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the certificate was created.'."\n", + 'type' => 'string', + 'example' => '2024-06-24 07:48:51', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the certificate was updated.'."\n", + 'type' => 'string', + 'example' => '2024-09-22 05:33:13', + 'title' => '', + ], + 'CACertificateId' => [ + 'description' => 'The ID of the CA certificate.'."\n", + 'type' => 'string', + 'example' => 'babab9db65ee5efcca9f3d41d4b50d66', + 'title' => '', + ], + 'SerialNumber' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'FingerprintSha256' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\\\n\\",\\n \\"Status\\": \\"active\\",\\n \\"Certificate\\": \\"-----BEGIN CERTIFICATE-----\\",\\n \\"Result\\": {\\n \\"Id\\": \\"baba39055622c008b90285a8838ed09a\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Status\\": \\"active\\",\\n \\"Type\\": \\"dcdn\\",\\n \\"CommonName\\": \\"www.example.com \\",\\n \\"NotBefore\\": \\"2023-03-31 02:08:00\\",\\n \\"NotAfter\\": \\"2024-03-31 02:08:00\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"PubkeyAlgorithm\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2024-06-24 07:48:51\\",\\n \\"UpdateTime\\": \\"2024-09-22 05:33:13\\",\\n \\"CACertificateId\\": \\"babab9db65ee5efcca9f3d41d4b50d66\\",\\n \\"SerialNumber\\": \\"\\",\\n \\"FingerprintSha256\\": \\"\\"\\n },\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'GetClientCertificate', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-12T03:30:14.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetClientCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'GetClientCertificateHostnames' => [ + 'summary' => 'Queries domain names associated with a client CA certificate. If no certificate is specified, domain names associated with an Edge Security Acceleration(ESA)-managed CA certificate are returned.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239234', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com'."\n", + 'title' => '', + ], + 'Id' => [ + 'description' => 'The ID of the client CA certificate.'."\n", + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + 'Hostnames' => [ + 'description' => 'The domain names with which the certificate is associated.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F'."\n", + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\\\n\\",\\n \\"Id\\": \\"baba39055622c008b90285a8838ed09a\\",\\n \\"Hostnames\\": [\\n \\"www.example.com \\"\\n ],\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\\\n\\"\\n}","type":"json"}]', + 'title' => 'GetClientCertificateHostnames', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetClientCertificateHostnames', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetClientCertificateHostnames', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetCnameFlattening' => [ + 'summary' => 'Queries the CNAME flattening configuration of a website', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257388', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + ], + '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' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', + ], + 'FlattenMode' => [ + 'description' => 'The CNAME flattening mode. Valid values:'."\n" + ."\n" + .'* flatten_all: flattens all CNAMEs.'."\n" + .'* flatten_all (default): flattens only the root domain.'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'flatten_at_root' => 'flatten_at_root', + 'flatten_all' => 'flatten_all', + ], + 'example' => 'flatten_all', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\",\\n \\"FlattenMode\\": \\"flatten_all\\"\\n}","type":"json"}]', + 'title' => 'GetCnameFlattening', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCnameFlattening', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCnameFlattening', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetCompressionRule' => [ + 'summary' => 'Query Compression Rule Details', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257665', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '34003500310****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID, which can be obtained by calling the [ListCompressionRules](~~2867498~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '186C6DF2-D96A-5102-B04E-FB92C16C9867', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type. Possible values:'."\n" + .'- global: Global configuration.'."\n" + .'- rule: Rule-based configuration.', + 'type' => 'string', + 'example' => 'rule', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the site configuration. For sites with version management enabled, this parameter can specify the effective version of the configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'Gzip' => [ + 'description' => 'Gzip compression. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Brotli' => [ + 'description' => 'Brotli compression. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Zstd' => [ + 'description' => 'Zstd compression. Value range: '."\n" + .'- on: enabled. '."\n" + .'- off: disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"186C6DF2-D96A-5102-B04E-FB92C16C9867\\",\\n \\"ConfigId\\": 0,\\n \\"ConfigType\\": \\"rule\\",\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"Gzip\\": \\"on\\",\\n \\"Brotli\\": \\"on\\",\\n \\"Zstd\\": \\"on\\"\\n}","type":"json"}]', + 'title' => 'Query Compression Rule Configuration Details', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-12T02:25:41.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCompressionRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCompressionRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetCrossBorderOptimization' => [ + 'summary' => 'Queries the configuration of Chinese mainland access optimization.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257426', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '340035003106221', + 'title' => '', + ], + ], + ], + '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' => 'CF521A24-633F-5350-A6A5-42AD503D0D20', + ], + 'Enable' => [ + 'description' => 'Whether to enable Chinese mainland network access optimization. By default, it is disabled. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CF521A24-633F-5350-A6A5-42AD503D0D20\\",\\n \\"Enable\\": \\"on\\"\\n}","type":"json"}]', + 'title' => 'GetCrossBorderOptimization', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCrossBorderOptimization', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCrossBorderOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetCustomHostname' => [ + 'summary' => 'Retrieves the detailed configuration of a specific Software as a Service (SaaS) domain name. The configuration includes the TXT record name and value for domain name validation, and the certificate expiration time when SSL is enabled.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239656', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4DMKZ4', + ], + ], + 'parameters' => [ + [ + 'name' => 'HostnameId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the SaaS domain name. You can obtain this ID by calling the [ListCustomHostnames](~~3018667~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'title' => '', + 'example' => '1234567890123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The unique ID generated by Alibaba Cloud for the request.', + 'type' => 'string', + 'title' => '', + 'example' => '7C414690-9D7B-5D66-9CD9-AD0B3F25ED49', + ], + 'CustomHostnameModel' => [ + 'type' => 'object', + 'properties' => [ + 'HostnameId' => [ + 'description' => 'The ID of the SaaS domain name.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'example' => '1234567890123', + ], + 'Hostname' => [ + 'description' => 'The SaaS domain name.', + 'type' => 'string', + 'title' => '', + 'example' => 'custom.site.com', + ], + 'SiteId' => [ + 'description' => 'The site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'example' => '890601022130656', + ], + 'SiteName' => [ + 'description' => 'The site name.', + 'type' => 'string', + 'title' => '', + 'example' => 'example.com', + ], + 'RecordId' => [ + 'description' => 'The record ID.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'example' => '4042843419650112', + ], + 'RecordName' => [ + 'description' => 'The record name.', + 'type' => 'string', + 'title' => '', + 'example' => 'origin.example.com', + ], + 'Status' => [ + 'description' => 'The status of the SaaS domain name.'."\n" + ."\n" + .'- **pending**: Pending validation.'."\n" + ."\n" + .'- **active**: Active.'."\n" + ."\n" + .'- **conflicted**: In use.'."\n" + ."\n" + .'- **offline**: Offline.', + 'type' => 'string', + 'enum' => [ + 'pending', + 'active', + 'conflicted', + 'offline', + ], + 'title' => '', + 'example' => 'active', + ], + 'VerifyHost' => [ + 'description' => 'The TXT record name for domain validation.', + 'type' => 'string', + 'title' => '', + 'example' => '_esa_custom_hostname.custom.site.com', + ], + 'VerifyCode' => [ + 'description' => 'The TXT record value for domain validation.', + 'type' => 'string', + 'title' => '', + 'example' => 'verify_16ab7f4d389d4dff6655f995c6a997bd', + ], + 'SslFlag' => [ + 'description' => 'The SSL switch.'."\n" + ."\n" + .'- **on**: Enabled.'."\n" + ."\n" + .'- **off**: Disabled.', + 'type' => 'string', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + 'example' => 'on', + ], + 'CertType' => [ + 'description' => 'The certificate type.'."\n" + ."\n" + .'- **free**: Free certificate.'."\n" + ."\n" + .'- **upload**: Uploaded certificate.'."\n" + ."\n" + .'- **cas**: Alibaba Cloud Security certificate.', + 'type' => 'string', + 'enum' => [ + 'free', + 'upload', + 'cas', + ], + 'title' => '', + 'example' => 'free', + ], + 'CasId' => [ + 'description' => 'The ID of the Alibaba Cloud Security certificate.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'example' => '30000478', + ], + 'CertId' => [ + 'description' => 'The certificate ID.', + 'type' => 'string', + 'title' => '', + 'example' => 'baba2c9e90e840b3b55698cedf02b308', + ], + 'Certificate' => [ + 'description' => 'The content of the certificate.', + 'type' => 'string', + 'title' => '', + 'example' => '-----BEGIN CERTIFICATE-----', + ], + 'CertStatus' => [ + 'description' => 'The status of the certificate.'."\n" + ."\n" + .'- **OK**: Normal.'."\n" + ."\n" + .'- **Applying**: The request is being processed.'."\n" + ."\n" + .'- **ApplyFailed**: The request failed.'."\n" + ."\n" + .'- **Expiring**: The certificate is about to expire.'."\n" + ."\n" + .'- **Expired**: The certificate has expired.', + 'type' => 'string', + 'enum' => [ + 'OK', + 'Expired', + 'Expiring', + 'Applying', + 'ApplyFailed', + ], + 'title' => '', + 'example' => 'OK', + ], + 'CertTxtKey' => [ + 'description' => 'The TXT record name for certificate validation.', + 'type' => 'string', + 'title' => '', + 'example' => '_acme-challenge.custom.site.com', + ], + 'CertTxtValue' => [ + 'description' => 'The TXT record value for certificate validation.', + 'type' => 'string', + 'title' => '', + 'example' => 'lcKYad3UQXgrZLvMm_6TBUYKK4xTkGmninV0Mzx4gjM', + ], + 'CertHttpKey' => [ + 'description' => 'The HTTP URL for certificate validation.', + 'type' => 'string', + 'title' => '', + 'example' => 'http://custom.site.com/.well-known/acme-challenge/jLmMHlEaZ3jb352Qo3ciaSoAC8KZ5Hk0F-4_1xLQtgc', + ], + 'CertHttpValue' => [ + 'description' => 'The HTTP content for certificate validation.', + 'type' => 'string', + 'title' => '', + 'example' => 'jLmMHlEaZ3jb352Qo3ciaSoAC8KZ5Hk0F-4_1xLQtgc.GridYdfJJB5PgFEL-t89XfaFvMPB4f2-I9fwLpKl6e0', + ], + 'CertNotAfter' => [ + 'description' => 'The expiration time of the certificate. The date is in the ISO 8601 format and is in UTC. The format is \\`yyyy-MM-ddTHH:mm:ssZ\\`.', + 'type' => 'string', + 'title' => '', + 'example' => '2026-04-19T11:15:20Z', + ], + 'CertApplyMessage' => [ + 'description' => 'The error description for the free certificate request.', + 'type' => 'string', + 'title' => '', + 'example' => 'canceled', + ], + 'CertApplyCode' => [ + 'description' => 'The error code for the free certificate request.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'example' => '2', + ], + 'CreateTime' => [ + 'description' => 'The time when the SaaS domain name was created. The date is in the ISO 8601 format and is in UTC. The format is \\`yyyy-MM-ddTHH:mm:ssZ\\`.', + 'type' => 'string', + 'title' => '', + 'example' => '2026-04-19T11:15:20Z', + ], + 'UpdateTime' => [ + 'description' => 'The time when the SaaS domain name was last updated. The date is in the ISO 8601 format and is in UTC. The format is \\`yyyy-MM-ddTHH:mm:ssZ\\`.', + 'type' => 'string', + 'title' => '', + 'example' => '2026-04-19T11:15:20Z', + ], + 'OfflineReason' => [ + 'description' => 'The reason why the SaaS domain name is offline.'."\n" + ."\n" + .'- **expiration\\_arrears**: The subscription expired or the account has an overdue payment.'."\n" + ."\n" + .'- **internally\\_disabled**: Disabled by the system.'."\n" + ."\n" + .'- **missing\\_icp**: The domain name is missing an ICP filing.'."\n" + ."\n" + .'- **content\\_violation**: Content violation.'."\n" + ."\n" + .'- **proactively\\_disabled**: The domain name was disabled manually or because it reached the usage cap.', + 'type' => 'string', + 'enum' => [ + 'proactively_disabled', + 'content_violation', + 'internally_disabled', + 'missing_icp', + 'expiration_arrears', + ], + 'title' => '', + 'example' => 'missing_icp', + ], + 'ConflictWith' => [ + 'description' => 'The reason why the SaaS domain name is in use.'."\n" + ."\n" + .'- **existing\\_custom\\_hostname**: Conflicts with an existing SaaS domain name.'."\n" + ."\n" + .'- **existing\\_record**: Conflicts with an existing site record.'."\n" + ."\n" + .'- **existing\\_load\\_balancer**: Conflicts with an existing load balancer.'."\n" + ."\n" + .'- **existing\\_origin\\_pool**: Conflicts with an existing origin pool.', + 'type' => 'string', + 'enum' => [ + 'existing_custom_hostname', + 'existing_site', + 'existing_record', + 'existing_load_balancer', + 'existing_origin_pool', + ], + 'title' => '', + 'example' => 'existing_custom_hostname', + ], + 'PrivateKey' => [ + 'description' => 'The private key of the certificate.', + 'type' => 'string', + 'example' => '-----BEGIN RSA PRIVATE KEY-----', + 'title' => '', + ], + ], + 'description' => 'The information about the SaaS domain name.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'CustomHostname.NotFound', + 'errorMessage' => 'The custom hostname does not exist. Modify it and try again.', + 'description' => 'The custom hostname does not exist. Modify it and try again.', + ], + [ + 'errorCode' => 'CustomHostname.ApplyCertFailed', + 'errorMessage' => 'Fail to apply a free cert for custom hostname. Please try again later.', + 'description' => '', + ], + [ + 'errorCode' => 'CustomHostname.SetCertFailed', + 'errorMessage' => 'Fail to deploy a cert for custom hostname. Please try again later.', + 'description' => '', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'GetCustomHostname', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCustomHostname', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7C414690-9D7B-5D66-9CD9-AD0B3F25ED49\\",\\n \\"CustomHostnameModel\\": {\\n \\"HostnameId\\": 1234567890123,\\n \\"Hostname\\": \\"custom.site.com\\",\\n \\"SiteId\\": 890601022130656,\\n \\"SiteName\\": \\"example.com\\",\\n \\"RecordId\\": 4042843419650112,\\n \\"RecordName\\": \\"origin.example.com\\",\\n \\"Status\\": \\"active\\",\\n \\"VerifyHost\\": \\"_esa_custom_hostname.custom.site.com\\",\\n \\"VerifyCode\\": \\"verify_16ab7f4d389d4dff6655f995c6a997bd\\",\\n \\"SslFlag\\": \\"on\\",\\n \\"CertType\\": \\"free\\",\\n \\"CasId\\": 30000478,\\n \\"CertId\\": \\"baba2c9e90e840b3b55698cedf02b308\\",\\n \\"Certificate\\": \\"-----BEGIN CERTIFICATE-----\\",\\n \\"CertStatus\\": \\"OK\\",\\n \\"CertTxtKey\\": \\"_acme-challenge.custom.site.com\\",\\n \\"CertTxtValue\\": \\"lcKYad3UQXgrZLvMm_6TBUYKK4xTkGmninV0Mzx4gjM\\",\\n \\"CertHttpKey\\": \\"http://custom.site.com/.well-known/acme-challenge/jLmMHlEaZ3jb352Qo3ciaSoAC8KZ5Hk0F-4_1xLQtgc\\",\\n \\"CertHttpValue\\": \\"jLmMHlEaZ3jb352Qo3ciaSoAC8KZ5Hk0F-4_1xLQtgc.GridYdfJJB5PgFEL-t89XfaFvMPB4f2-I9fwLpKl6e0\\",\\n \\"CertNotAfter\\": \\"2026-04-19T11:15:20Z\\",\\n \\"CertApplyMessage\\": \\"canceled\\",\\n \\"CertApplyCode\\": 2,\\n \\"CreateTime\\": \\"2026-04-19T11:15:20Z\\",\\n \\"UpdateTime\\": \\"2026-04-19T11:15:20Z\\",\\n \\"OfflineReason\\": \\"missing_icp\\",\\n \\"ConflictWith\\": \\"existing_custom_hostname\\",\\n \\"PrivateKey\\": \\"-----BEGIN RSA PRIVATE KEY-----\\"\\n }\\n}","type":"json"}]', + ], + 'GetCustomResponseCodeRule' => [ + 'summary' => 'Retrieve details about a site\'s custom response code configuration.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257648', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID. For more information, see [ListSites](~~2850189~~).', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '775724064754208', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '424022244554752', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'title' => '', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The configuration type. Valid values:'."\n" + ."\n" + .'- global: Global configuration.'."\n" + ."\n" + .'- rule: Rule configuration.', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the site configuration. For sites with version control enabled, use this parameter to specify the site version where the configuration takes effect. The default is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The rule execution order. A smaller value indicates higher execution priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'The rule switch. Do not set this parameter when adding a global configuration. Valid values:'."\n" + ."\n" + .'- on: Enable.'."\n" + ."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The rule content. Use conditional expressions to match user requests. Do not set this parameter when adding a global configuration. There are two scenarios:'."\n" + ."\n" + .'- Match all incoming requests: Set the value to true.'."\n" + ."\n" + .'- Match specific requests: Set the value to a custom expression, such as (http.host eq "video.example.com").', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'The rule name. Do not set this parameter when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ReturnCode' => [ + 'description' => 'The response code.', + 'type' => 'string', + 'example' => '200', + 'title' => '', + ], + 'PageId' => [ + 'description' => 'The response page.', + 'type' => 'string', + 'example' => '0', + 'title' => '', + ], + ], + 'title' => '', + 'description' => 'The request response result.', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'GetCustomResponseCodeRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"ConfigId\\": 352816096987136,\\n \\"ConfigType\\": \\"global\\",\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ReturnCode\\": \\"200\\",\\n \\"PageId\\": \\"0\\"\\n}","type":"json"}]', + ], + 'GetDevelopmentMode' => [ + 'summary' => 'Query Site Developer Mode Configuration', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257406', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '5407498413****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '156A6B-677B1A-4297B7-9187B7-2B44792', + ], + 'Enable' => [ + 'description' => 'Switch. Values:'."\n" + ."\n" + .'- **on**: Enabled.'."\n" + .'- **off**: Disabled.', + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\",\\n \\"Enable\\": \\"on\\"\\n}","type":"json"}]', + 'title' => 'GetDevelopmentMode', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetDevelopmentMode', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetDevelopmentMode', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetEdgeContainerApp' => [ + 'summary' => 'Queries the information about a containerized application, including basic application configurations and health check configurations.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239322', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'maxLength' => 64, + 'minLength' => 20, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '156A6B-677B1A-4297B7-9187B7-2B44792', + 'title' => '', + ], + 'App' => [ + 'description' => 'The basic information about the application.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the application. Valid values:'."\n" + ."\n" + .'* creating: The application is being created.'."\n" + .'* failed: The application failed to be created.'."\n" + .'* created: The application is created.'."\n", + 'type' => 'string', + 'example' => 'created', + 'title' => '', + ], + 'GatewayType' => [ + 'description' => 'The type of the gateway. Valid values:'."\n" + ."\n" + .'* l7: Layer 7 gateway.'."\n" + .'* l4: Layer 4 gateway.'."\n", + 'type' => 'string', + 'example' => 'l7', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the application was created.'."\n", + 'type' => 'string', + 'example' => '2023-07-25T05:58:05Z', + 'title' => '', + ], + 'VersionCount' => [ + 'description' => 'The number of versions of the application.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'DomainName' => [ + 'description' => 'The domain name that is associated with the application. If no domain name is associated with the application, the value is an empty string.'."\n", + 'type' => 'string', + 'example' => 'www.1feel.cn', + 'title' => '', + ], + 'Remarks' => [ + 'description' => 'The remarks about the application.'."\n", + 'type' => 'string', + 'example' => 'test app', + 'title' => '', + ], + 'ServicePort' => [ + 'description' => 'The server port. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + 'title' => '', + ], + 'AppId' => [ + 'description' => 'The application ID.'."\n", + 'type' => 'string', + 'example' => 'app-88068867578379****', + 'title' => '', + ], + 'TargetPort' => [ + 'description' => 'The backend port, which is also the service port of the application. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + 'title' => '', + ], + 'QuicCid' => [ + 'description' => 'Indicates whether QUIC is enabled.'."\n", + 'type' => 'string', + 'example' => 'false', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The application name.'."\n", + 'type' => 'string', + 'example' => 'test-app1', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the application was last modified. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-03-26T02:35:58Z', + 'title' => '', + ], + 'HealthCheck' => [ + 'description' => 'The information about health checks.'."\n", + 'type' => 'object', + 'properties' => [ + 'Timeout' => [ + 'description' => 'The timeout period of the health check. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The health check type. Valid values:'."\n" + ."\n" + .'* l7'."\n" + .'* l4'."\n", + 'type' => 'string', + 'example' => 'l7', + 'title' => '', + ], + 'Host' => [ + 'description' => 'The domain name that is used for health checks.'."\n", + 'type' => 'string', + 'example' => 'test.com', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'The interval between health checks. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + 'SuccTimes' => [ + 'description' => 'The number of consecutive successful health checks required for an application to be considered as healthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + 'title' => '', + ], + 'Method' => [ + 'description' => 'The HTTP method that the health check request uses.'."\n", + 'type' => 'string', + 'example' => 'HEAD', + 'title' => '', + ], + 'HttpCode' => [ + 'description' => 'The range of health check status codes that indicate successful health checks.'."\n", + 'type' => 'string', + 'example' => 'http_2xx', + 'title' => '', + ], + 'FailTimes' => [ + 'description' => 'The number of consecutive failed health checks required for an application to be considered as unhealthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + 'Port' => [ + 'description' => 'The health check port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + 'title' => '', + ], + 'Uri' => [ + 'description' => 'The health check URL.'."\n", + 'type' => 'string', + 'example' => '/health_check', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\",\\n \\"App\\": {\\n \\"Status\\": \\"created\\",\\n \\"GatewayType\\": \\"l7\\",\\n \\"CreateTime\\": \\"2023-07-25T05:58:05Z\\",\\n \\"VersionCount\\": 1,\\n \\"DomainName\\": \\"www.1feel.cn\\",\\n \\"Remarks\\": \\"test app\\",\\n \\"ServicePort\\": 80,\\n \\"AppId\\": \\"app-88068867578379****\\",\\n \\"TargetPort\\": 80,\\n \\"QuicCid\\": \\"false\\",\\n \\"Name\\": \\"test-app1\\",\\n \\"UpdateTime\\": \\"2023-03-26T02:35:58Z\\",\\n \\"HealthCheck\\": {\\n \\"Timeout\\": 60,\\n \\"Type\\": \\"l7\\",\\n \\"Host\\": \\"test.com\\",\\n \\"Interval\\": 5,\\n \\"SuccTimes\\": 3,\\n \\"Method\\": \\"HEAD\\",\\n \\"HttpCode\\": \\"http_2xx\\",\\n \\"FailTimes\\": 5,\\n \\"Port\\": 80,\\n \\"Uri\\": \\"/health_check\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => 'GetEdgeContainerApp', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerApp', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerApp', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetEdgeContainerAppLogRiver' => [ + 'summary' => 'Queries the log collection configuration of a containerized application.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '249444', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-880688675****88', + 'title' => '', + ], + ], + ], + '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' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'Stdout' => [ + 'description' => 'Indicates whether the standard output of the container is collected.'."\n", + 'type' => 'boolean', + 'title' => '', + 'example' => '', + ], + 'Path' => [ + 'description' => 'The log path of the container. It must be an absolute path that starts with a forward slash (/). You can use asterisks (\\*) and question marks (?) as wildcards.'."\n", + 'type' => 'string', + 'example' => '/root/hello.log', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"Stdout\\": false,\\n \\"Path\\": \\"/root/hello.log\\"\\n}","type":"json"}]', + 'title' => 'GetEdgeContainerAppLogRiver', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerAppLogRiver', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerAppLogRiver', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetEdgeContainerAppResourceCapacity' => [ + 'summary' => 'Queries the resource capacity of a containerized application at the edge.', + 'path' => '', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the application. To obtain the application ID, call the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.', + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response schema.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '50423A7F-A83D-1E24-B80E-86DD25790759'."\n", + ], + 'Regions' => [ + 'description' => 'The available regions.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Region' => [ + 'description' => 'The Chinese mainland:'."\n" + ."\n" + .'- huadong: East China'."\n" + ."\n" + .'- huanan: South China'."\n" + ."\n" + .'- huazhong: Central China'."\n" + ."\n" + .'- huabei: North China'."\n" + ."\n" + .'- xibei: Northwest China'."\n" + ."\n" + .'- xinan: Southwest China'."\n" + ."\n" + .'- dongbei: Northeast China'."\n" + ."\n" + .'Special administrative regions and regions outside the Chinese mainland:'."\n" + ."\n" + .'- tw: Taiwan (China)'."\n" + ."\n" + .'- mo: Macao (China)'."\n" + ."\n" + .'- hk: Hong Kong (China)'."\n" + ."\n" + .'- jp: Japan'."\n" + ."\n" + .'- us: US'."\n" + ."\n" + .'- th: Thailand'."\n" + ."\n" + .'- kr: South Korea'."\n" + ."\n" + .'- ru: Russia'."\n" + ."\n" + .'- sg: Singapore'."\n" + ."\n" + .'- fr: France'."\n" + ."\n" + .'- es: Spain'."\n" + ."\n" + .'- it: Italy'."\n" + ."\n" + .'- se: Sweden'."\n" + ."\n" + .'- ae: UAE'."\n" + ."\n" + .'- id: Indonesia'."\n" + ."\n" + .'- cl: Chile'."\n" + ."\n" + .'- ph: Philippines'."\n" + ."\n" + .'- my: Malaysia'."\n" + ."\n" + .'- vn: Vietnam'."\n" + ."\n" + .'- ar: Argentina'."\n" + ."\n" + .'- au: Australia'."\n" + ."\n" + .'- br: Brazil'."\n" + ."\n" + .'- co: Colombia'."\n" + ."\n" + .'- de: Germany'."\n" + ."\n" + .'- gb: UK'."\n" + ."\n" + .'- pe: Peru'."\n" + ."\n" + .'- sa: Saudi Arabia'."\n" + ."\n" + .'- nl: Netherlands'."\n" + ."\n" + .'- za: South Africa', + 'type' => 'string', + 'example' => 'huadong', + 'title' => '', + ], + 'Isp' => [ + 'description' => 'The carrier. This parameter is returned only for regions in the Chinese mainland. Valid values:'."\n" + ."\n" + .'- cmcc: China Mobile'."\n" + ."\n" + .'- chinanet: China Telecom'."\n" + ."\n" + .'- unicom: China Unicom', + 'type' => 'string', + 'example' => 'unicom', + 'title' => '', + ], + 'Replicas' => [ + 'description' => 'The number of container replicas that can be deployed.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '16', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InvalidParameter.Appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the input application ID is incorrect. You can use the ListEdgeContainerApps API to obtain the application ID.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'GetEdgeContainerAppResourceCapacity', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"50423A7F-A83D-1E24-B80E-86DD25790759\\\\n\\",\\n \\"Regions\\": [\\n {\\n \\"Region\\": \\"huadong\\",\\n \\"Isp\\": \\"unicom\\",\\n \\"Replicas\\": 16\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetEdgeContainerAppResourceReserve' => [ + 'summary' => 'Obtain the resource reservation configuration of the edge container.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '265068', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-88068867578379****', + 'title' => '', + ], + ], + ], + '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' => '04F0F334-1335-436C-A1D7-6C044FE73368'."\n", + ], + 'Enable' => [ + 'description' => 'Whether to enable resource reservation.'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'Forever' => [ + 'description' => 'Whether to enable resource reservation permanently.'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'DurationTime' => [ + 'description' => 'The end time of the reservation. The input is UTC time. It takes +8 hours to enter Beijing time. For example, if the current time is 2006-01-02 06:04:05 , you need to enter "2006-01-02T14:04:05Z".'."\n", + 'type' => 'string', + 'example' => '2006-01-02T15:04:05Z', + 'title' => '', + ], + 'ReserveSet' => [ + 'description' => 'Reserved resource list.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The reserved region object.'."\n", + 'type' => 'object', + 'properties' => [ + 'Region' => [ + 'description' => 'Chinese mainland:'."\n" + ."\n" + .'* East China: huadong'."\n" + .'* South China: huanan'."\n" + .'* Central China: huazhong'."\n" + .'* North China: huabei'."\n" + .'* Northwest: xibei'."\n" + .'* Southwest: xinan'."\n" + .'* Northeast China: dongbei'."\n" + ."\n" + .'Special Administrative Regions and Overseas:'."\n" + ."\n" + .'* Taiwan, China: tw'."\n" + .'* Macau China: mo'."\n" + .'* Hong Kong, China: hk'."\n" + .'* Japan: jp'."\n" + .'* United States: us'."\n" + .'* Thailand: th'."\n" + .'* Korea: kr'."\n" + .'* Russia: ru'."\n" + .'* Singapore: sg'."\n" + .'* France: fr'."\n" + .'* Spain: es'."\n" + .'* Italy: it'."\n" + .'* Sweden: se'."\n" + .'* UAE: ae'."\n" + .'* Indonesia: id'."\n" + .'* Chile: cl'."\n" + .'* Philippines: ph'."\n" + .'* Malaysia: my'."\n" + .'* Vietnam: vn'."\n" + .'* Argentina: ar'."\n" + .'* Australia: au'."\n" + .'* Brazil: br'."\n" + .'* Colombia: co'."\n" + .'* Germany: de'."\n" + .'* UK: gb'."\n" + .'* Peru: pe'."\n" + .'* Saudi Arabia: sa'."\n" + .'* Netherlands: nl'."\n" + .'* South Africa: za'."\n", + 'type' => 'string', + 'example' => 'huazhong', + 'title' => '', + ], + 'Isp' => [ + 'description' => 'The following ISPs are supported. You do not need to enter this field for overseas and special administrative regions. ISP:'."\n" + ."\n" + .'* China Mobile: cmcc'."\n" + .'* China Telecom: chinanet'."\n" + .'* China Unicom: unicom'."\n", + 'type' => 'string', + 'example' => 'cmcc', + 'title' => '', + ], + 'Replicas' => [ + 'description' => 'The number of container replicas.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InvalidParameter.Appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the input application ID is incorrect. You can use the ListEdgeContainerApps API to obtain the application ID.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\\\n\\",\\n \\"Enable\\": true,\\n \\"Forever\\": true,\\n \\"DurationTime\\": \\"2006-01-02T15:04:05Z\\",\\n \\"ReserveSet\\": [\\n {\\n \\"Region\\": \\"huazhong\\",\\n \\"Isp\\": \\"cmcc\\",\\n \\"Replicas\\": 1\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'GetEdgeContainerAppResourceReserve', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerAppResourceReserve', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerAppResourceReserve', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetEdgeContainerAppResourceStatus' => [ + 'summary' => 'Obtains the distribution of edge container application resources.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '267316', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-96253477062511****', + 'title' => '', + ], + ], + ], + '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' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'Regions' => [ + 'description' => 'Queries the regions of deployment.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Deployment regions.'."\n", + 'type' => 'object', + 'properties' => [ + 'Region' => [ + 'description' => 'Chinese mainland:'."\n" + ."\n" + .'* East China: huadong'."\n" + .'* South China: huanan'."\n" + .'* Central China: huazhong'."\n" + .'* North China: huabei'."\n" + .'* Northwest China: xibei'."\n" + .'* Southwest China: xinan'."\n" + .'* Northeast China: dongbei'."\n" + ."\n" + .'Special Administrative Regions and Overseas:'."\n" + ."\n" + .'* Taiwan, China: tw'."\n" + .'* Macau, China: mo'."\n" + .'* Hong Kong, China: hk'."\n" + .'* Japan: jp'."\n" + .'* United States: us'."\n" + .'* Thailand: th'."\n" + .'* Korea: kr'."\n" + .'* Russia: ru'."\n" + .'* Singapore: sg'."\n" + .'* France: fr'."\n" + .'* Spain: es'."\n" + .'* Italy: it'."\n" + .'* Sweden: se'."\n" + .'* UAE: ae'."\n" + .'* Indonesia: id'."\n" + .'* Chile: cl'."\n" + .'* Philippines: ph'."\n" + .'* Malaysia: my'."\n" + .'* Vietnam: vn'."\n" + .'* Argentina: AR'."\n" + .'* Australia: au'."\n" + .'* Brazil: br'."\n" + .'* Colombia: co'."\n" + .'* Germany: de'."\n" + .'* UK: GB'."\n" + .'* Peru: pe'."\n" + .'* Saudi Arabia: sa'."\n" + .'* Netherlands: nl'."\n" + .'* South Africa: za'."\n", + 'type' => 'string', + 'example' => 'huadong', + 'title' => '', + ], + 'Isp' => [ + 'description' => 'Supported ISPs are as follows. The parameter is left empty for regions outside the Chinese mainland. ISP:'."\n" + ."\n" + .'* China Mobile: cmcc'."\n" + .'* China Telecom: chinanet'."\n" + .'* China Unicom: unicom'."\n", + 'type' => 'string', + 'example' => 'unicom', + 'title' => '', + ], + 'Total' => [ + 'description' => 'The number of replicas that are deployed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Ready' => [ + 'description' => 'The number of ready replicas.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'IsStaging' => [ + 'description' => 'Whether it is a test environment.'."\n", + 'type' => 'boolean', + 'example' => 'false', + 'title' => '', + ], + 'IsOffline' => [ + 'description' => 'Whether smooth offline is being used.'."\n", + 'type' => 'boolean', + 'example' => 'false', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InvalidParameter.Appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the input application ID is incorrect. You can use the ListEdgeContainerApps API to obtain the application ID.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"Regions\\": [\\n {\\n \\"Region\\": \\"huadong\\",\\n \\"Isp\\": \\"unicom\\",\\n \\"Total\\": 1,\\n \\"Ready\\": 1,\\n \\"IsStaging\\": false,\\n \\"IsOffline\\": false\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'GetEdgeContainerAppResourceStatus', + 'changeSet' => [ + [ + 'createdAt' => '2025-07-09T17:07:02.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerAppResourceStatus', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerAppResourceStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetEdgeContainerAppStatus' => [ + 'summary' => 'Queries the status information about a containerized application, including the deployment, release, and rollback of the application.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238718', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'maxLength' => 64, + 'minLength' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'PublishEnv', + 'in' => 'query', + 'schema' => [ + 'description' => 'The release environment. Valid values: prod and staging.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'staging', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247B78', + 'title' => '', + ], + 'AppStatus' => [ + 'description' => 'The status of the application.'."\n", + 'type' => 'object', + 'properties' => [ + 'PublishPercentage' => [ + 'description' => 'The release percentage of the application.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50%', + 'title' => '', + ], + 'RollbackTime' => [ + 'description' => 'The time when the last rollback was performed.'."\n", + 'type' => 'string', + 'example' => '2024-07-25T05:58:05Z'."\n", + 'title' => '', + ], + 'PublishEnv' => [ + 'description' => 'The environment to which the application was released. Valid values:'."\n" + ."\n" + .'* **prod**: the production environment.'."\n" + .'* **staging**: the staging environment.'."\n", + 'type' => 'string', + 'example' => 'prod', + 'title' => '', + ], + 'PublishingVersion' => [ + 'description' => 'The release version of the application.'."\n", + 'type' => 'string', + 'example' => 'ver-123123123123****'."\n", + 'title' => '', + ], + 'BaseLineVersion' => [ + 'description' => 'The base version of the application.'."\n", + 'type' => 'string', + 'example' => 'ver-123123123123****'."\n", + 'title' => '', + ], + 'PublishStatus' => [ + 'description' => 'The release status of the application. Valid values:'."\n" + ."\n" + .'* **publishing**'."\n" + .'* **published**'."\n" + .'* **rollbacking**'."\n" + .'* **rollbacked**'."\n", + 'type' => 'string', + 'example' => 'pubishing', + 'title' => '', + ], + 'DeployTime' => [ + 'description' => 'The time when the application was deployed. 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' => '2024-07-25T05:58:05Z'."\n", + 'title' => '', + ], + 'PublishTime' => [ + 'description' => 'The time when the application was released. 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' => '2024-07-25T05:58:05Z'."\n", + 'title' => '', + ], + 'DeployedVersion' => [ + 'description' => 'The release version of the application.'."\n", + 'type' => 'string', + 'example' => 'ver-123123123123****', + 'title' => '', + ], + 'ExpectPercentage' => [ + 'description' => 'The expected release percentage of the application.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50%', + 'title' => '', + ], + 'DeployStatus' => [ + 'description' => 'The deployment status of the application.'."\n" + ."\n" + .'* **undeploy**: The application is not deployed.'."\n" + .'* **deploying**: The application is being deployed.'."\n" + .'* **deployed**: The application is deployed.'."\n" + .'* **undeploying**: The deployment is being canceled.'."\n", + 'type' => 'string', + 'example' => 'undeploy', + 'title' => '', + ], + 'UnDeployTime' => [ + 'description' => 'The time when the application deployment was canceled. 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' => '2024-07-25T05:58:05Z'."\n", + 'title' => '', + ], + 'PublishType' => [ + 'description' => 'Specifies how the version is released. Valid values:'."\n" + ."\n" + .'* percentage: releases the version by percentage.'."\n" + .'* region: releases the version by region.'."\n" + ."\n" + .'If you do not specify this parameter, the version is released by percentage by default.'."\n", + 'type' => 'string', + 'example' => 'percentage', + 'title' => '', + ], + 'Regions' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'Region' => [ + 'description' => 'The regions to which the version is released.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The region name.'."\n", + 'type' => 'string', + 'example' => 'jiangsu', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'FullRelease' => [ + 'description' => 'Specifies whether to fully release the version. This parameter takes effect only when PublishType is set to region.'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247B78\\",\\n \\"AppStatus\\": {\\n \\"PublishPercentage\\": 0,\\n \\"RollbackTime\\": \\"2024-07-25T05:58:05Z\\\\n\\",\\n \\"PublishEnv\\": \\"prod\\",\\n \\"PublishingVersion\\": \\"ver-123123123123****\\\\n\\",\\n \\"BaseLineVersion\\": \\"ver-123123123123****\\\\n\\",\\n \\"PublishStatus\\": \\"pubishing\\",\\n \\"DeployTime\\": \\"2024-07-25T05:58:05Z\\\\n\\",\\n \\"PublishTime\\": \\"2024-07-25T05:58:05Z\\\\n\\",\\n \\"DeployedVersion\\": \\"ver-123123123123****\\",\\n \\"ExpectPercentage\\": 0,\\n \\"DeployStatus\\": \\"undeploy\\",\\n \\"UnDeployTime\\": \\"2024-07-25T05:58:05Z\\\\n\\",\\n \\"PublishType\\": \\"percentage\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n \\"jiangsu\\"\\n ]\\n },\\n \\"FullRelease\\": true\\n }\\n}","type":"json"}]', + 'title' => 'GetEdgeContainerAppStatus', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerAppStatus', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerAppStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetEdgeContainerAppVersion' => [ + 'summary' => 'Queries the information about a version of a containerized application. You can select an application version to release based on the version information.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238877', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'maxLength' => 64, + 'minLength' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'VersionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version ID, which can be obtained by calling the [ListEdgeContainerAppVersions](~~ListEdgeContainerAppVersions~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ver-87962637161651****', + 'maxLength' => 64, + 'minLength' => 20, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'title' => '', + ], + 'Version' => [ + 'description' => 'The information about the version.'."\n", + 'type' => 'object', + 'properties' => [ + 'LastPublishTime' => [ + 'description' => 'The time when the version was last released. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-07-25T04:58:05Z', + 'title' => '', + ], + 'PublishTime' => [ + 'description' => 'The time when the version was released. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2022-11-14T02:04:03Z', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the current version. Valid values:'."\n" + ."\n" + .'* created: The version is created.'."\n" + .'* failed: The version failed to be created.'."\n" + .'* creating: The version is being created.'."\n", + 'type' => 'string', + 'example' => 'created', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the version was created. 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' => '2022-07-01T09:32:33Z', + 'title' => '', + ], + 'AppId' => [ + 'description' => 'The application ID.'."\n", + 'type' => 'string', + 'example' => 'app-88068867578379****', + 'title' => '', + ], + 'VersionId' => [ + 'description' => 'The ID of the created version.'."\n", + 'type' => 'string', + 'example' => 'ver-87962637161651****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The version name.'."\n", + 'type' => 'string', + 'example' => 'test', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the version was last modified. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2021-12-03T10:52:52Z', + 'title' => '', + ], + 'Remarks' => [ + 'description' => 'The remarks.'."\n", + 'type' => 'string', + 'example' => 'aaa', + 'title' => '', + ], + 'Containers' => [ + 'description' => 'The container images deployed for this version.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the container image deployed for this version.'."\n", + 'type' => 'object', + 'properties' => [ + 'EnvVariables' => [ + 'description' => 'The environment variables.'."\n", + 'type' => 'string', + 'example' => 'ENV=prod', + 'title' => '', + ], + 'Args' => [ + 'description' => 'The arguments that are passed to the container startup command.'."\n", + 'type' => 'string', + 'example' => '-c /path/config.toml', + 'title' => '', + ], + 'Spec' => [ + 'description' => 'The compute specification.'."\n", + 'type' => 'string', + 'example' => '1C2G', + 'title' => '', + ], + 'Storage' => [ + 'description' => 'The storage capacity of the container. Valid values: 0.5G, 10G, 20G, and 30G.'."\n", + 'type' => 'string', + 'example' => '0.5G, 标识存储空间,取值范围(0.5G | 10G | 20G | 30G)', + 'title' => '', + ], + 'IsACRImage' => [ + 'description' => 'Indicates whether the image is a Container Registry image.'."\n", + 'type' => 'boolean', + 'example' => 'false', + 'title' => '', + ], + 'ACRImageInfo' => [ + 'description' => 'The information about the Container Registry image.'."\n", + 'type' => 'object', + 'properties' => [ + 'Domain' => [ + 'description' => 'The domain name of the Container Registry image.'."\n", + 'type' => 'string', + 'example' => '*.mooc.seewo.com', + 'title' => '', + ], + 'InstanceId' => [ + 'description' => 'The ID of the Container Registry instance.'."\n", + 'type' => 'string', + 'example' => 'xcdn-9ak2thl14z5s', + 'title' => '', + ], + 'RegionId' => [ + 'description' => 'The region ID.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + 'title' => '', + ], + 'RepoId' => [ + 'description' => 'The ID of the image repository.'."\n", + 'type' => 'string', + 'example' => 'crr-zeu0xyk28alyxozh', + 'title' => '', + ], + 'RepoName' => [ + 'description' => 'The name of the image repository.'."\n", + 'type' => 'string', + 'example' => 'test_1', + 'title' => '', + ], + 'RepoNamespace' => [ + 'description' => 'The namespace to which the image repository belongs.'."\n", + 'type' => 'string', + 'example' => 'wpy1', + 'title' => '', + ], + 'Tag' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'test-healthy-100-soa-1710987653', + 'title' => '', + ], + 'TagUrl' => [ + 'description' => 'The URL of the Container Registry image tag.'."\n", + 'type' => 'string', + 'example' => 'registry-vpc.cn-shenzhen.aliyuncs.com/lihetech/easywits_server_exam:3.40.2', + 'title' => '', + ], + 'IsEnterpriseRegistry' => [ + 'description' => 'Indicates whether the image is an enterprise-level image.'."\n", + 'type' => 'boolean', + 'example' => 'false', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Image' => [ + 'description' => 'The image address.'."\n", + 'type' => 'string', + 'example' => 'nginx:1.14.0', + 'title' => '', + ], + 'Command' => [ + 'description' => 'The command that is used to start the container.'."\n", + 'type' => 'string', + 'example' => 'sh abc.sh 1 2 3', + 'title' => '', + ], + 'ProbeType' => [ + 'description' => 'The probe type.'."\n", + 'type' => 'string', + 'example' => 'httpGet', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The version name.'."\n", + 'type' => 'string', + 'example' => 'version01', + 'title' => '', + ], + 'PreStop' => [ + 'description' => 'The command that is run before the container is stopped.'."\n", + 'type' => 'string', + 'example' => 'sh prestop.sh "echo hello world" ', + 'title' => '', + ], + 'PostStart' => [ + 'description' => 'The command that is run before the container is started. Format: `{"exec":{"command":\\["cat","/etc/group"\\]}}`. If you want to cancel this configuration, set the parameter value to `""` or `{}`. If you do not specify this parameter, this configuration is ignored.'."\n", + 'type' => 'string', + 'example' => 'sh poststart.sh "echo hello world" ', + 'title' => '', + ], + 'ProbeContent' => [ + 'description' => 'The probe content.'."\n", + 'type' => 'object', + 'properties' => [ + 'SuccessThreshold' => [ + 'description' => 'The number of consecutive successful health checks required for a container to be considered as healthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Host' => [ + 'description' => 'The domain name that is used for health checks.'."\n", + 'type' => 'string', + 'example' => 'test.com', + 'title' => '', + ], + 'HttpHeaders' => [ + 'description' => 'The request headers that are included in the container health check request.'."\n", + 'type' => 'string', + 'example' => '[{\\"Content-Type\\":\\"application/json', + 'title' => '', + ], + 'Scheme' => [ + 'description' => 'The protocol that the container health check request uses.'."\n", + 'type' => 'string', + 'example' => 'http', + 'title' => '', + ], + 'InitialDelaySeconds' => [ + 'description' => 'The latency for container probe initialization.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'Command' => [ + 'description' => 'The probe command.'."\n", + 'type' => 'string', + 'example' => 'sh test.sh', + 'title' => '', + ], + 'FailureThreshold' => [ + 'description' => 'The number of consecutive failed health checks required for a container to be considered as unhealthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + 'title' => '', + ], + 'TimeoutSeconds' => [ + 'description' => 'The timeout period of the container health check.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + 'Path' => [ + 'description' => 'The path of the container health check.'."\n", + 'type' => 'string', + 'example' => '/health_check', + 'title' => '', + ], + 'Port' => [ + 'description' => 'The port of the container health check. Valid values: **1** to **65535**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + 'title' => '', + ], + 'PeriodSeconds' => [ + 'description' => 'The interval between container health checks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidVersion.NotFound', + 'errorMessage' => 'The version does not exist.', + 'description' => 'This version number does not exist.'."\n", + ], + [ + 'errorCode' => 'InvalidParameter.VersionId', + 'errorMessage' => 'The specified VersionId is invalid.  Please check the VersionId parameter. You may not have entered the parameter or the parameter does not start with ver-string. Please modify it and call the interface again.', + 'description' => 'The VersionId parameter is invalid. Please check the VersionId parameter. You may not have entered the parameter or the parameter does not start with ver-string. Please modify it and call the interface again.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Version\\": {\\n \\"LastPublishTime\\": \\"2023-07-25T04:58:05Z\\",\\n \\"PublishTime\\": \\"2022-11-14T02:04:03Z\\",\\n \\"Status\\": \\"created\\",\\n \\"CreateTime\\": \\"2022-07-01T09:32:33Z\\",\\n \\"AppId\\": \\"app-88068867578379****\\",\\n \\"VersionId\\": \\"ver-87962637161651****\\",\\n \\"Name\\": \\"test\\",\\n \\"UpdateTime\\": \\"2021-12-03T10:52:52Z\\",\\n \\"Remarks\\": \\"aaa\\",\\n \\"Containers\\": [\\n {\\n \\"EnvVariables\\": \\"ENV=prod\\",\\n \\"Args\\": \\"-c /path/config.toml\\",\\n \\"Spec\\": \\"1C2G\\",\\n \\"Storage\\": \\"0.5G, 标识存储空间,取值范围(0.5G | 10G | 20G | 30G)\\",\\n \\"IsACRImage\\": false,\\n \\"ACRImageInfo\\": {\\n \\"Domain\\": \\"*.mooc.seewo.com\\",\\n \\"InstanceId\\": \\"xcdn-9ak2thl14z5s\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RepoId\\": \\"crr-zeu0xyk28alyxozh\\",\\n \\"RepoName\\": \\"test_1\\",\\n \\"RepoNamespace\\": \\"wpy1\\",\\n \\"Tag\\": \\"test-healthy-100-soa-1710987653\\",\\n \\"TagUrl\\": \\"registry-vpc.cn-shenzhen.aliyuncs.com/lihetech/easywits_server_exam:3.40.2\\",\\n \\"IsEnterpriseRegistry\\": false\\n },\\n \\"Image\\": \\"nginx:1.14.0\\",\\n \\"Command\\": \\"sh abc.sh 1 2 3\\",\\n \\"ProbeType\\": \\"httpGet\\",\\n \\"Name\\": \\"version01\\",\\n \\"PreStop\\": \\"sh prestop.sh \\\\\\"echo hello world\\\\\\" \\",\\n \\"PostStart\\": \\"sh poststart.sh \\\\\\"echo hello world\\\\\\" \\",\\n \\"ProbeContent\\": {\\n \\"SuccessThreshold\\": 1,\\n \\"Host\\": \\"test.com\\",\\n \\"HttpHeaders\\": \\"[{\\\\\\\\\\\\\\"Content-Type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"application/json\\",\\n \\"Scheme\\": \\"http\\",\\n \\"InitialDelaySeconds\\": 20,\\n \\"Command\\": \\"sh test.sh\\",\\n \\"FailureThreshold\\": 3,\\n \\"TimeoutSeconds\\": 5,\\n \\"Path\\": \\"/health_check\\",\\n \\"Port\\": 80,\\n \\"PeriodSeconds\\": 5\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'GetEdgeContainerAppVersion', + 'changeSet' => [ + [ + 'createdAt' => '2024-11-12T02:06:26.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerAppVersion', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerAppVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetEdgeContainerDeployRegions' => [ + 'summary' => 'Queries regions where a containerized application is deployed based on the application ID.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238476', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'GetEdgeContainerDeployRegions', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'Regions' => [ + 'description' => 'The regions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The queried region.'."\n", + 'type' => 'string', + 'example' => 'zhejiang', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"Regions\\": [\\n \\"zhejiang\\"\\n ]\\n}","type":"json"}]', + 'title' => 'GetEdgeContainerDeployRegions', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerDeployRegions', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerDeployRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetEdgeContainerLogs' => [ + 'summary' => 'Queries Edge Container logs.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238630', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'title' => '', + ], + ], + [ + 'name' => 'Lines', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of log entries to output.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '500', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247B78', + ], + 'Items' => [ + 'description' => 'The logs.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The log content.'."\n", + 'type' => 'string', + 'example' => 'hello world.', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247B78\\",\\n \\"Items\\": [\\n \\"hello world.\\"\\n ]\\n}","type":"json"}]', + 'title' => 'GetEdgeContainerLogs', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerLogs', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerLogs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetEdgeContainerStagingDeployStatus' => [ + 'summary' => 'Queries the deployment status of an application in the staging environment by using the application ID.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238416', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'GetEdgeContainerStagingDeployStatus', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'Phase' => [ + 'description' => 'The status of the container in the staging environment.'."\n" + ."\n" + .'* NoContainer: created.'."\n" + .'* Running: running.'."\n" + .'* Failed: abnormal.'."\n", + 'type' => 'string', + 'example' => 'Running', + 'title' => '', + ], + 'CreationTimestamp' => [ + 'description' => 'The time when the container was created. The value is a timestamp.'."\n", + 'type' => 'string', + 'example' => '2024-09-24T06:46:35Z', + 'title' => '', + ], + 'Initialized' => [ + 'description' => 'The initialization status of the container.'."\n" + ."\n" + .'* ok'."\n" + .'* unready'."\n", + 'type' => 'string', + 'example' => 'ok', + 'title' => '', + ], + 'Scheduled' => [ + 'description' => 'The scheduling status of the container.'."\n" + ."\n" + .'* ok'."\n" + .'* unready'."\n", + 'type' => 'string', + 'example' => 'ok', + 'title' => '', + ], + 'Ready' => [ + 'description' => 'Indicates whether domain names are associated with the container.'."\n" + ."\n" + .'* ok'."\n" + .'* unready'."\n", + 'type' => 'string', + 'example' => 'ok', + 'title' => '', + ], + 'ContainersReady' => [ + 'description' => 'Indicates whether the container is ready.'."\n" + ."\n" + .'* ok'."\n" + .'* unready'."\n", + 'type' => 'string', + 'example' => 'ok', + 'title' => '', + ], + 'PodRestartState' => [ + 'description' => 'The details of container restart.'."\n", + 'type' => 'object', + 'properties' => [ + 'RestartCount' => [ + 'description' => 'The number of times that the container restarted.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'LastTerminatedReason' => [ + 'description' => 'The reason for the last restart.'."\n", + 'type' => 'string', + 'example' => 'OOMKilled', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '2F2C992B-3FE2-5EBB-A61F-F9DD4EB257DA', + 'title' => '', + ], + 'VIPs' => [ + 'description' => 'The virtual IP addresses.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The virtual IP address.'."\n", + 'type' => 'string', + 'example' => '1.1.1.1', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Phase\\": \\"Running\\",\\n \\"CreationTimestamp\\": \\"2024-09-24T06:46:35Z\\",\\n \\"Initialized\\": \\"ok\\",\\n \\"Scheduled\\": \\"ok\\",\\n \\"Ready\\": \\"ok\\",\\n \\"ContainersReady\\": \\"ok\\",\\n \\"PodRestartState\\": {\\n \\"RestartCount\\": 1,\\n \\"LastTerminatedReason\\": \\"OOMKilled\\"\\n },\\n \\"RequestId\\": \\"2F2C992B-3FE2-5EBB-A61F-F9DD4EB257DA\\",\\n \\"VIPs\\": [\\n \\"1.1.1.1\\"\\n ]\\n}","type":"json"}]', + 'title' => 'GetEdgeContainerStagingDeployStatus', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerStagingDeployStatus', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerStagingDeployStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetEdgeContainerTerminal' => [ + 'summary' => 'Queries the terminal information of a containerized application.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238310', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-88068867578379****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', + ], + 'Pod' => [ + 'description' => 'The name of the container group.'."\n", + 'type' => 'string', + 'example' => '1775b9e0-8463-457e-89e8-fb7b6d125b2e', + 'title' => '', + ], + 'Cluster' => [ + 'description' => 'The cluster name.'."\n", + 'type' => 'string', + 'example' => 'c497b44c2a59f4ae0bd2826edc40a2c6e', + 'title' => '', + ], + 'Namespace' => [ + 'description' => 'The name of the namespace.'."\n", + 'type' => 'string', + 'example' => 'ns1', + 'title' => '', + ], + 'Container' => [ + 'description' => 'The container name.'."\n", + 'type' => 'string', + 'example' => 'worker0', + 'title' => '', + ], + 'SessionId' => [ + 'description' => 'The session ID.'."\n", + 'type' => 'string', + 'example' => 'af22f4xxxxxxxxxxxxxxxxxx', + 'title' => '', + ], + 'Token' => [ + 'description' => 'The information about the shared token.'."\n", + 'type' => 'string', + 'example' => 'af22f4-xxxxx-xxxx-xxxx-xxxx', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\",\\n \\"Pod\\": \\"1775b9e0-8463-457e-89e8-fb7b6d125b2e\\",\\n \\"Cluster\\": \\"c497b44c2a59f4ae0bd2826edc40a2c6e\\",\\n \\"Namespace\\": \\"ns1\\",\\n \\"Container\\": \\"worker0\\",\\n \\"SessionId\\": \\"af22f4xxxxxxxxxxxxxxxxxx\\",\\n \\"Token\\": \\"af22f4-xxxxx-xxxx-xxxx-xxxx\\"\\n}","type":"json"}]', + 'title' => 'GetEdgeContainerTerminal', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerTerminal', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerTerminal', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetErService' => [ + 'summary' => 'Checks the status of Edge Routine.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239198', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + 'PlanName' => [ + 'description' => 'The billing mode. Valid values:'."\n" + ."\n" + .'* er_paymode: billed for customers on the China site.'."\n" + .'* er_freemode: free for customers on the China site.'."\n" + .'* er_paymodeintl: billed for customers on the International site.'."\n" + .'* err_freemodeintl: free for customers on the International site'."\n", + 'type' => 'string', + 'example' => 'er_paymode', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The service status. Valid values:'."\n" + ."\n" + .'* Creating'."\n" + .'* Running'."\n" + .'* NotOpened'."\n", + 'type' => 'string', + 'example' => 'Running', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\",\\n \\"PlanName\\": \\"er_paymode\\",\\n \\"Status\\": \\"Running\\"\\n}","type":"json"}]', + 'title' => 'GetErService', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetErService', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetErService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetHttpIncomingRequestHeaderModificationRule' => [ + 'summary' => 'Queries the configuration details of an HTTP request header modification rule for a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257648', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '608665779308176', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the configuration. You can call the ListHttpIncomingRequestHeaderModificationRules operation to query the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '433045006266368', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '5CC228B4-7A67-4016-9C9F-4A4133494A91', + ], + 'ConfigId' => [ + 'description' => 'The ID of the configuration.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '402411533580288', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The type of the configuration. Valid values:'."\n" + ."\n" + .'* global: the global configuration.'."\n" + .'* rule: the rule configuration.'."\n", + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the website configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The order in which the rule is executed. A smaller value gives priority to the rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Specifies whether to enable the rule. Valid values: You do not need to set this parameter when you add global configuration. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The content of the rule. A conditional expression is used to match a user request. You do not need to set this parameter when you add global configuration. Use cases:'."\n" + ."\n" + .'* true: Match all incoming requests.'."\n" + .'* Set the value to a custom expression, for example: (http.host eq "video.example.com"): Match the specified request.'."\n", + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'The rule name. You do not need to set this parameter when you add global configuration.'."\n", + 'type' => 'string', + 'example' => 'rule_example'."\n", + 'title' => '', + ], + 'RequestHeaderModification' => [ + 'description' => 'The configurations for modifying request headers. You can add, delete, or edit a request header.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of modifying a request header.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the request header.'."\n", + 'type' => 'string', + 'example' => 'headerName', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'The action. Valid values:'."\n" + ."\n" + .'* add: adds a response header.'."\n" + .'* del: deletes a response header.'."\n" + .'* modify: modifies a response header.'."\n", + 'type' => 'string', + 'example' => 'add', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The value of the request header.'."\n", + 'type' => 'string', + 'example' => 'headValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The value type. Valid values:'."\n" + ."\n" + .'* static'."\n" + .'* dynamic'."\n", + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5CC228B4-7A67-4016-9C9F-4A4133494A91\\",\\n \\"ConfigId\\": 402411533580288,\\n \\"ConfigType\\": \\"global\\",\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleName\\": \\"rule_example\\\\n\\",\\n \\"RequestHeaderModification\\": [\\n {\\n \\"Name\\": \\"headerName\\",\\n \\"Operation\\": \\"add\\",\\n \\"Value\\": \\"headValue\\",\\n \\"Type\\": \\"static\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'GetHttpIncomingRequestHeaderModificationRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpIncomingRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetHttpIncomingResponseHeaderModificationRule' => [ + 'summary' => 'Queries the configuration details of an incoming HTTP response header modification rule for a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257653', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '347168101647504', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID. You can call the ListHttpIncomingResponseHeaderModificationRules operation to query the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '430509230649344', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '432637955352576', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The configuration type. Valid values:'."\n" + ."\n" + .'* global: global configurations.'."\n" + .'* rule: rule configurations.'."\n", + 'type' => 'string', + 'example' => 'rule', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The order in which the rule is executed. A smaller value gives priority to the rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Specifies whether to enable the rule. Valid values: You do not need to set this parameter when you add global configuration. Specifies whether to check the image used by the instance supports hot migration. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The content of the rule. A conditional expression is used to match a user request. You do not need to set this parameter when you add global configuration. Use cases:'."\n" + ."\n" + .'* true: Match all incoming requests.'."\n" + .'* Set the value to a custom expression, for example, (http.host eq "video.example.com"): Match the specified request.'."\n", + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'The rule name. You do not need to set this parameter when you add global configuration.'."\n", + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ResponseHeaderModification' => [ + 'description' => 'The configurations of modifying response headers. You can add, delete, or modify a response header.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of modifying a response header.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the response header.'."\n", + 'type' => 'string', + 'example' => 'headerName', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'The action. Valid values:'."\n" + ."\n" + .'* add: adds a response header.'."\n" + .'* del: deletes a response header.'."\n" + .'* modify: modifies a response header.'."\n", + 'type' => 'string', + 'example' => 'add', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The value of the response header.'."\n", + 'type' => 'string', + 'example' => 'headerValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The value type. Valid values:'."\n" + ."\n" + .'* static'."\n" + .'* dynamic'."\n", + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"ConfigId\\": 432637955352576,\\n \\"ConfigType\\": \\"rule\\",\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ResponseHeaderModification\\": [\\n {\\n \\"Name\\": \\"headerName\\",\\n \\"Operation\\": \\"add\\",\\n \\"Value\\": \\"headerValue\\",\\n \\"Type\\": \\"static\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'GetHttpIncomingResponseHeaderModificationRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpIncomingResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetHttpRequestHeaderModificationRule' => [ + 'summary' => 'Retrieves the details of an HTTP request header modification rule for a site.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257648', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the site. You can obtain this ID by calling the [ListSites](~~2850189~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID. You can obtain this ID by calling the [ListHttpRequestHeaderModificationRules](~~2867483~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3528160969****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response to the request.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3528160969****'."\n", + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The configuration type. Valid values:'."\n" + ."\n" + .'- global: A global configuration.'."\n" + ."\n" + .'- rule: A rule-based configuration.', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the site configuration. For sites with version management enabled, this parameter specifies the site version to which the configuration applies. The default value is 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The execution order of the rule. Rules with smaller values are executed first.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Specifies whether the rule is enabled. This parameter is not required for global configurations. Valid values:'."\n" + ."\n" + .'- on: The rule is enabled.'."\n" + ."\n" + .'- off: The rule is disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The content of the rule, which uses a conditional expression to match user requests. This parameter is not required for global configurations. There are two scenarios:'."\n" + ."\n" + .'- To match all incoming requests, set the value to true.'."\n" + ."\n" + .'- To match specific requests, set the value to a custom expression, such as (http.host eq "video.example.com").', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'The name of the rule. This parameter is not required for global configurations.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'RequestHeaderModification' => [ + 'description' => 'The request header modifications. The add, delete, and modify operations are supported.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the request header modification.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the request header.', + 'type' => 'string', + 'example' => 'headerName', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'The operation to perform. Valid values:'."\n" + ."\n" + .'- add: Adds a header.'."\n" + ."\n" + .'- del: Deletes a header.'."\n" + ."\n" + .'- modify: Modifies a header.', + 'type' => 'string', + 'example' => 'add', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The value of the request header.', + 'type' => 'string', + 'example' => 'headValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of the value. Valid values:'."\n" + ."\n" + .'- static: A static value.'."\n" + ."\n" + .'- dynamic: A dynamic value.', + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'Query HTTP Request Header Configuration Details', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:39.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetHttpRequestHeaderModificationRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"ConfigId\\": 0,\\n \\"ConfigType\\": \\"global\\",\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"RequestHeaderModification\\": [\\n {\\n \\"Name\\": \\"headerName\\",\\n \\"Operation\\": \\"add\\",\\n \\"Value\\": \\"headValue\\",\\n \\"Type\\": \\"static\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetHttpResponseHeaderModificationRule' => [ + 'summary' => 'Query HTTP Response Header Rules', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257653', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID, which can be obtained by calling the [ListHttpResponseHeaderModificationRules](~~2867483~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type, with the following values:'."\n" + .'- global: Global configuration.'."\n" + .'- rule: Rule-based configuration.', + 'type' => 'string', + 'example' => 'rule', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the site configuration. For sites that have enabled configuration version management, you can use this parameter to specify the effective version of the site configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values are:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ResponseHeaderModification' => [ + 'description' => 'Modify response headers, supporting add, delete, and modify operations.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of modifying response headers.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'Response header name.', + 'type' => 'string', + 'example' => 'headerName', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'Operation method. Possible values are:'."\n" + ."\n" + .'- add: Add.'."\n" + .'- del: Delete'."\n" + .'- modify: Modify.', + 'type' => 'string', + 'example' => 'add', + 'title' => '', + ], + 'Value' => [ + 'description' => 'Response header value.', + 'type' => 'string', + 'example' => 'headerValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'Value Type. Valid values:'."\n" + .'- static: Static pattern.'."\n" + .'- dynamic: Dynamic pattern.', + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'Query HTTP Response Header Configuration Details', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:38.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetHttpResponseHeaderModificationRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"ConfigId\\": 0,\\n \\"ConfigType\\": \\"rule\\",\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ResponseHeaderModification\\": [\\n {\\n \\"Name\\": \\"headerName\\",\\n \\"Operation\\": \\"add\\",\\n \\"Value\\": \\"headerValue\\",\\n \\"Type\\": \\"static\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetHttpsApplicationConfiguration' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257600', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ConfigId of the configuration, which can be obtained by calling the [listHttpsApplicationConfigurations](~~2869087~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '352816096987136', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'A3790430-3A06-535F-A424-0998BD9A6C9F', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type, which can be used to query global or rule configurations. Possible values:'."\n" + ."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule configuration.', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the version of the site for which the configuration takes effect. The default is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter does not need to be set when adding a global configuration. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter does not need to be set when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true.'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq "video.example.com")', + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter does not need to be set when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'HttpsForce' => [ + 'description' => 'Whether to enable forced HTTPS. Default is disabled. Possible values:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HttpsForceCode' => [ + 'description' => 'Status code for forced HTTPS redirection. Possible values:'."\n" + ."\n" + .'- 301'."\n" + .'- 302'."\n" + .'- 307'."\n" + .'- 308', + 'type' => 'string', + 'example' => '301', + 'title' => '', + ], + 'AltSvc' => [ + 'description' => 'Alt-Svc feature switch. Default is disabled. Possible values:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'AltSvcClear' => [ + 'description' => 'Whether the Alt-Svc header includes the clear parameter. Default is disabled. Possible values:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'AltSvcPersist' => [ + 'description' => 'Whether the Alt-Svc header includes the persist parameter. Default is disabled. Possible values:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'AltSvcMa' => [ + 'description' => 'Alt-Svc validity period in seconds. The default is 86400 seconds.', + 'type' => 'string', + 'example' => '86400', + 'title' => '', + ], + 'Hsts' => [ + 'description' => 'Whether to enable HSTS. Default is disabled. Possible values:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HstsMaxAge' => [ + 'description' => 'HSTS expiration time in seconds.', + 'type' => 'string', + 'example' => '3600', + 'title' => '', + ], + 'HstsIncludeSubdomains' => [ + 'description' => 'Whether to include subdomains in HSTS, default is off. Value range:'."\n" + .'- on: enabled. '."\n" + .'- off: disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HstsPreload' => [ + 'description' => 'Whether to enable HSTS preload, default is off. Value range:'."\n" + ."\n" + .'- on: enabled.'."\n" + .'- off: disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HttpsSniVerify' => [ + 'description' => 'Specifies whether SNI validation is enabled. Disabled by default. Valid values:'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HttpsNoSniDeny' => [ + 'description' => 'Whether to deny TLS handshake requests without SNI. Disabled by default. Valid values: '."\n" + .'- on: Enabled. '."\n" + .'- off: Disabled. ', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HttpsSniWhitelist' => [ + 'description' => 'The whitelist of allowed SNI entries. Separate multiple entries with spaces. ', + 'type' => 'string', + 'example' => 'abc edf', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Query Site HTTPS Application Configuration', + 'summary' => 'Query a Single HTTPS Application Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-03T07:09:13.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetHttpsApplicationConfiguration', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpsApplicationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A3790430-3A06-535F-A424-0998BD9A6C9F\\",\\n \\"ConfigId\\": 352816096987136,\\n \\"ConfigType\\": \\"global\\",\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"HttpsForce\\": \\"on\\",\\n \\"HttpsForceCode\\": \\"301\\",\\n \\"AltSvc\\": \\"on\\",\\n \\"AltSvcClear\\": \\"on\\",\\n \\"AltSvcPersist\\": \\"on\\",\\n \\"AltSvcMa\\": \\"86400\\",\\n \\"Hsts\\": \\"on\\",\\n \\"HstsMaxAge\\": \\"3600\\",\\n \\"HstsIncludeSubdomains\\": \\"on\\",\\n \\"HstsPreload\\": \\"on\\",\\n \\"HttpsSniVerify\\": \\"on\\",\\n \\"HttpsNoSniDeny\\": \\"on\\",\\n \\"HttpsSniWhitelist\\": \\"abc edf\\"\\n}","type":"json"}]', + ], + 'GetHttpsBasicConfiguration' => [ + 'summary' => 'Query a Single HTTPS Basic Configuration', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257602', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'ConfigId of the configuration, which can be obtained by calling the [ListHttpsBasicConfigurations](~~2867470~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '352816096987136', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D2***', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type, which can be used to query global or rule configurations. Value range:'."\n" + .'- global: Query global configuration;'."\n" + .'- rule: Query rule configuration;', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution sequence.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. Value range:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Matching rule content.', + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'Https' => [ + 'description' => 'Whether to enable HTTPS, default is enabled. Value range:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Tls10' => [ + 'description' => 'Whether to enable TLS1.0, default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Tls11' => [ + 'description' => 'Whether to enable TLS1.1, default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Tls12' => [ + 'description' => 'Whether to enable TLS1.2, default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Tls13' => [ + 'description' => 'Whether to enable TLS1.3, default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'CiphersuiteGroup' => [ + 'description' => 'Cipher suite group, default is all cipher suites. Value range:'."\n" + ."\n" + .'- all: All cipher suites.'."\n" + .'- strict: Strong cipher suites.'."\n" + .'- custom: Custom cipher suites.', + 'type' => 'string', + 'example' => 'all', + 'title' => '', + ], + 'Ciphersuite' => [ + 'description' => 'Custom cipher suite, indicating the specific encryption algorithm selected when CiphersuiteGroup is set to custom.', + 'type' => 'string', + 'example' => 'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256', + 'title' => '', + ], + 'OcspStapling' => [ + 'description' => 'Whether to enable OCSP, default is disabled. Value range:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Http2' => [ + 'description' => 'Whether to enable HTTP2, default is enabled. Value range:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Http3' => [ + 'description' => 'Whether to enable HTTP3, which is enabled by default. The value can be:'."\n" + .'- on: Enabled. '."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D2***\\",\\n \\"ConfigId\\": 352816096987136,\\n \\"ConfigType\\": \\"global\\",\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"Https\\": \\"on\\",\\n \\"Tls10\\": \\"on\\",\\n \\"Tls11\\": \\"on\\",\\n \\"Tls12\\": \\"on\\",\\n \\"Tls13\\": \\"on\\",\\n \\"CiphersuiteGroup\\": \\"all\\",\\n \\"Ciphersuite\\": \\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\",\\n \\"OcspStapling\\": \\"on\\",\\n \\"Http2\\": \\"on\\",\\n \\"Http3\\": \\"on\\"\\n}","type":"json"}]', + 'title' => 'Query Site HTTPS Basic Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetHttpsBasicConfiguration', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpsBasicConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetIPv6' => [ + 'summary' => 'Query Site IPv6 Configuration', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257435', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + ], + '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' => '156A6B-677B1A-4297B7-9187B7-2B44792', + ], + 'Enable' => [ + 'description' => 'Indicates whether IPv6 is enabled. Valid values:'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'example' => 'on', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'title' => '', + ], + 'Region' => [ + 'enumValueTitles' => [ + 'x.x' => 'x.x', + 'cn.cn' => 'cn.cn', + ], + 'description' => 'Area where IPv6 is enabled. Default value: x.x.'."\n" + ."\n" + .'- x.x: Global.'."\n" + .'- cn.cn: Mainland China.', + 'type' => 'string', + 'example' => 'x.x', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'Query Site IPv6 Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:33:21.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetIPv6', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetIPv6', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\",\\n \\"Enable\\": \\"on\\",\\n \\"Region\\": \\"x.x\\"\\n}","type":"json"}]', + ], + 'GetImageTransform' => [ + 'summary' => 'Query Single Site Image Transformation Configuration', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257356', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID. It can be obtained by calling the [ListImageTransforms](~~2869056~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '352816096987136', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type. Possible values:'."\n" + .'- global: Global configuration;'."\n" + .'- rule: Rule-based configuration;', + 'type' => 'string', + 'enumValueTitles' => [ + 'rule' => 'rule', + 'global' => 'global', + ], + 'example' => 'global', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the site configuration. For sites with version management enabled, this parameter can specify the effective version of the site, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + 'Enable' => [ + 'description' => 'Whether to enable image transformation. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.request.uri.path.file_name eq \\"jpg\\")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter does not need to be set when adding global configuration.', + 'type' => 'string', + 'example' => 'test', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\",\\n \\"ConfigId\\": 352816096987136,\\n \\"ConfigType\\": \\"global\\",\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 2,\\n \\"Enable\\": \\"on\\",\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.request.uri.path.file_name eq \\\\\\\\\\\\\\"jpg\\\\\\\\\\\\\\")\\",\\n \\"RuleName\\": \\"test\\"\\n}","type":"json"}]', + 'title' => 'Query Single Site Image Transformation Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetImageTransform', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetImageTransform', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetKv' => [ + 'summary' => 'Queries the value of a key in a key-value pair.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239214', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the namespace that you specify when you call the [CreateKvNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namespace', + 'title' => '', + ], + ], + [ + 'name' => 'Key', + 'in' => 'query', + 'schema' => [ + 'description' => 'The key name for the query.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_key', + 'title' => '', + ], + ], + [ + 'name' => 'Base64', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to decode the value by using Base 64. If you call the [PutKv](~~2850482~~) operation and set the Base64 parameter to true, set this parameter to true to read the original content.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The value of the key.'."\n", + 'type' => 'string', + 'example' => 'test_value', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + [ + 'errorCode' => 'InvalidParameters', + 'errorMessage' => 'The specified parameters are invalid.', + 'description' => 'Parameter is illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Value\\": \\"test_value\\",\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\"\\n}","type":"json"}]', + 'title' => 'GetKv', + 'changeSet' => [ + [ + 'createdAt' => '2024-11-26T03:43:35.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '50', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetKv', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetKv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetKvAccount' => [ + 'summary' => 'Queries the Edge KV usage in your Alibaba Cloud account, including the information about all namespaces.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239142', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'Indicates whether Edge KV is activated for the Alibaba Cloud account.'."\n" + ."\n" + .'* **online**'."\n" + .'* **offline**'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + 'title' => '', + ], + 'NamespaceUsed' => [ + 'description' => 'The number of created namespaces that store key-value data in the account.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'NamespaceQuota' => [ + 'description' => 'The maximum number of namespaces that can be created in the account.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'CapacityString' => [ + 'description' => 'The available capacity of all namespaces in the account.'."\n", + 'type' => 'string', + 'example' => '1 GB', + 'title' => '', + ], + 'CapacityUsedString' => [ + 'description' => 'The used capacity of all namespaces in the account.'."\n", + 'type' => 'string', + 'example' => '100 MB', + 'title' => '', + ], + 'Capacity' => [ + 'description' => 'The available capacity of all namespaces in the account. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1073741824', + 'title' => '', + ], + 'CapacityUsed' => [ + 'description' => 'The used capacity of all namespaces in the account. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10048576', + 'title' => '', + ], + 'NamespaceList' => [ + 'description' => 'The namespaces in the account.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the namespace. Valid values:'."\n" + ."\n" + .'* **online**: normal.'."\n" + .'* **delete**: pending deletion.'."\n" + .'* **deleting**: being deleted.'."\n" + .'* **deleted**: deleted.'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + 'Namespace' => [ + 'description' => 'The name of the namespace.'."\n", + 'type' => 'string', + 'example' => 'test_namespace', + 'title' => '', + ], + 'NamespaceId' => [ + 'description' => 'The ID of the namespace.'."\n", + 'type' => 'string', + 'example' => '643355322374688768', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The description of the namespace.'."\n", + 'type' => 'string', + 'example' => 'the first namespace', + 'title' => '', + ], + 'Capacity' => [ + 'description' => 'The available capacity of the namespace. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1073741824', + 'title' => '', + ], + 'CapacityUsed' => [ + 'description' => 'The used capacity of the namespace. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100048576', + 'title' => '', + ], + 'CapacityString' => [ + 'description' => 'The available capacity of the namespace.'."\n", + 'type' => 'string', + 'example' => '1 GB', + 'title' => '', + ], + 'CapacityUsedString' => [ + 'description' => 'The used capacity of the namespace.'."\n", + 'type' => 'string', + 'example' => '100 MB', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"online\\",\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"NamespaceUsed\\": 1,\\n \\"NamespaceQuota\\": 10,\\n \\"CapacityString\\": \\"1 GB\\",\\n \\"CapacityUsedString\\": \\"100 MB\\",\\n \\"Capacity\\": 1073741824,\\n \\"CapacityUsed\\": 10048576,\\n \\"NamespaceList\\": [\\n {\\n \\"Status\\": \\"online\\",\\n \\"Namespace\\": \\"test_namespace\\",\\n \\"NamespaceId\\": \\"643355322374688768\\",\\n \\"Description\\": \\"the first namespace\\",\\n \\"Capacity\\": 1073741824,\\n \\"CapacityUsed\\": 100048576,\\n \\"CapacityString\\": \\"1 GB\\",\\n \\"CapacityUsedString\\": \\"100 MB\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'GetKvAccount', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetKvAccount', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetKvAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetKvDetail' => [ + 'summary' => 'Queries the value and time to live (TTL) of a key.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239214', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the namespace that you specify when you call the [CreateKvNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'title' => '', + 'example' => 'test_namespace', + ], + ], + [ + 'name' => 'Key', + 'in' => 'query', + 'schema' => [ + 'description' => 'The key name for the query.'."\n", + 'type' => 'string', + 'required' => true, + 'title' => '', + 'example' => 'test_key', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => '', + 'description' => '', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The value of the key. The value of the root node.'."\n", + 'type' => 'string', + 'title' => '', + 'example' => 'test_value', + ], + 'RequestId' => [ + 'description' => 'The expiration time of the key. Unit: seconds.'."\n", + 'type' => 'string', + 'title' => '', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + ], + 'ExpirationTtl' => [ + 'description' => 'The expiration time of the key. Unit: seconds.'."\n", + 'type' => 'string', + 'title' => '', + 'example' => '3600', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + [ + 'errorCode' => 'InvalidParameters', + 'errorMessage' => 'The specified parameters are invalid.', + 'description' => 'Parameter is illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'GetKvDetail', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Value\\": \\"test_value\\",\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\",\\n \\"ExpirationTtl\\": \\"3600\\"\\n}","type":"json"}]', + ], + 'GetKvNamespace' => [ + 'summary' => 'Queries the information about a namespace in your Alibaba Cloud account.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239017', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the namespace that you specify when you call the [CreateKvNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namespace', + 'maxLength' => 64, + 'pattern' => '^[0-9a-zA-Z_-]+$', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the namespace. Valid values:'."\n" + ."\n" + .'* **online**: working as expected.'."\n" + .'* **delete**: pending deletion.'."\n" + .'* **deleting**: being deleted.'."\n" + .'* **deleted**: deleted.'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + 'Namespace' => [ + 'description' => 'The name of the namespace.'."\n", + 'type' => 'string', + 'example' => 'test_namespace', + 'title' => '', + ], + 'NamespaceId' => [ + 'description' => 'The ID of the namespace.'."\n", + 'type' => 'string', + 'example' => '643355322374688768', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The description of the namespace.'."\n", + 'type' => 'string', + 'example' => 'this is a test namespace.', + 'title' => '', + ], + 'CapacityString' => [ + 'description' => 'The available capacity of the namespace.'."\n", + 'type' => 'string', + 'example' => '1 GB', + 'title' => '', + ], + 'CapacityUsedString' => [ + 'description' => 'The used capacity of the namespace.'."\n", + 'type' => 'string', + 'example' => '100 MB', + 'title' => '', + ], + 'Capacity' => [ + 'description' => 'The available capacity of the namespace. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1073741824', + 'title' => '', + ], + 'CapacityUsed' => [ + 'description' => 'The used capacity of the namespace. Unit: bytes.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10048576', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Status\\": \\"online\\",\\n \\"Namespace\\": \\"test_namespace\\",\\n \\"NamespaceId\\": \\"643355322374688768\\",\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"Description\\": \\"this is a test namespace.\\",\\n \\"CapacityString\\": \\"1 GB\\",\\n \\"CapacityUsedString\\": \\"100 MB\\",\\n \\"Capacity\\": 1073741824,\\n \\"CapacityUsed\\": 10048576\\n}","type":"json"}]', + 'title' => 'GetKvNamespace', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-03T01:43:47.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-09-20T13:49:20.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetKvNamespace', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetKvNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetList' => [ + 'summary' => 'Queries the details of a custom list, such as the name, description, type, and content.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239602', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The ID of the custom list, which can be obtained by calling the [ListLists](~~2850217~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '40000001', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'UpdateTime' => [ + 'title' => '', + 'description' => 'The time when the custom list was last modified.'."\n", + 'type' => 'string', + 'example' => '2024-01-01T00:00:00Z', + ], + 'Id' => [ + 'title' => '', + 'description' => 'The ID of the custom list.[](~~2850217~~)'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '40000001', + 'pattern' => '', + 'default' => '', + ], + 'Name' => [ + 'title' => '', + 'description' => 'The name of the custom list.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example', + 'maxLength' => 128, + 'pattern' => '', + 'default' => '', + ], + 'Description' => [ + 'title' => '', + 'description' => 'The description of the custom list.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'a custom list', + 'maxLength' => 1024, + 'pattern' => '', + 'default' => '', + ], + 'Kind' => [ + 'title' => '', + 'description' => 'The type of the custom list.'."\n", + 'type' => 'string', + 'example' => 'ip', + ], + 'Items' => [ + 'title' => '', + 'description' => 'The items in the custom list, which are displayed as an array.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The item in the custom list.'."\n", + 'type' => 'string', + 'example' => '10.1.1.1', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"UpdateTime\\": \\"2024-01-01T00:00:00Z\\",\\n \\"Id\\": 40000001,\\n \\"Name\\": \\"example\\",\\n \\"Description\\": \\"a custom list\\",\\n \\"Kind\\": \\"ip\\",\\n \\"Items\\": [\\n \\"10.1.1.1\\"\\n ]\\n}","type":"json"}]', + 'title' => 'GetList', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:49.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T08:22:02.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetList', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetLoadBalancer' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238515', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'title' => '监视器id。', + 'description' => 'The ID of the load balancer, used to uniquely identify the load balancer to be queried. This ID is returned directly when the load balancer is created, or it can be obtained through the [ListLoadBalancers](~~2868897~~) interface for querying all load balancers under a site.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '99867648760****', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1159101787****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The data structure returned in a successful response, containing detailed configuration information of the load balancer.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + ], + 'Id' => [ + 'description' => 'The unique identifier ID of the load balancer.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '99867648760****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The name of the load balancer.', + 'type' => 'string', + 'example' => 'lb.example.com', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The site ID to which the load balancer belongs.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '11591017874****', + 'title' => '', + ], + 'Enabled' => [ + 'description' => 'Whether the load balancer is enabled.'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'Ttl' => [ + 'description' => 'TTL value, the time-to-live for DNS records, with a default of 30 seconds.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + 'SessionAffinity' => [ + 'description' => 'Session persistence, with values:'."\n" + .'- off: Not enabled.'."\n" + .'- ip: Session persistence by IP.'."\n" + .'- cookie: Session persistence by cookie.', + 'type' => 'string', + 'example' => 'ip', + 'title' => '', + ], + 'FallbackPool' => [ + 'description' => 'The fallback pool ID, to which traffic will be redirected if all other pools are unavailable.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '96228666776****', + 'title' => '', + ], + 'SteeringPolicy' => [ + 'description' => 'Load balancing policy.', + 'type' => 'string', + 'example' => 'order', + 'title' => '', + ], + 'Description' => [ + 'description' => 'Description of the load balancer.', + 'type' => 'string', + 'example' => 'test', + 'title' => '', + ], + 'AdaptiveRouting' => [ + 'description' => 'Cross-pool failover configuration.', + 'type' => 'object', + 'properties' => [ + 'FailoverAcrossPools' => [ + 'description' => 'Whether to fail over across pools.'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'DefaultPools' => [ + 'description' => 'List of default pool IDs.', + 'type' => 'array', + 'items' => [ + 'description' => 'Default pool.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '96228666776****', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RandomSteering' => [ + 'description' => 'Weighted round-robin configuration, used to control the traffic distribution weights among different pools.', + 'type' => 'object', + 'properties' => [ + 'DefaultWeight' => [ + 'description' => 'The default round-robin weight, used for all pools that do not have individually specified weights. The value range is 0-100.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + 'title' => '', + ], + 'PoolWeights' => [ + 'description' => 'Weight configurations for each backend server pool, where the key is the pool ID and the value is the weight coefficient. The weight coefficient represents the relative traffic distribution ratio.', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'integer', + 'format' => 'int32', + 'description' => 'The weight of a single origin pool, a number between 0-100, where 0 indicates no traffic should be directed to that pool.', + 'example' => '50', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Rules' => [ + 'description' => 'A list of rule configurations, used to define behavior under specific conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'Configuration of rules within the rule set.', + 'type' => 'object', + 'properties' => [ + 'FixedResponse' => [ + 'description' => 'Executes a specified response after matching the rule.', + 'type' => 'object', + 'properties' => [ + 'ContentType' => [ + 'description' => 'The Content-Type field in the HTTP Header.', + 'type' => 'string', + 'example' => 'application/json', + 'title' => '', + ], + 'Location' => [ + 'description' => 'The location field in the HTTP response.', + 'type' => 'string', + 'example' => 'http://www.example.com/index.html', + 'title' => '', + ], + 'MessageBody' => [ + 'description' => 'The body value of the response.', + 'type' => 'string', + 'example' => 'Hello World.', + 'title' => '', + ], + 'StatusCode' => [ + 'description' => 'Status code.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Overrides' => [ + 'description' => 'Modifies the load balancer configuration for the corresponding request after matching the rule. The fields in this configuration will override the corresponding fields in the load balancer\'s configuration.', + 'type' => 'any', + 'example' => '{'."\n" + .' "adaptive_routing": {'."\n" + .' "failover_across_pools": true'."\n" + .' },'."\n" + .' "sub_region_pools": {'."\n" + .' "GB": ['."\n" + .' 96228666776****'."\n" + .' ],'."\n" + .' "US": ['."\n" + .' 96228666776****'."\n" + .' ]'."\n" + .' },'."\n" + .' "default_pools": ['."\n" + .' 96228666776****,'."\n" + .' 96228666776****'."\n" + .' ],'."\n" + .' "fallback_pool": 96228666776****,'."\n" + .' "location_strategy": {'."\n" + .' "mode": "resolver_ip",'."\n" + .' "prefer_ecs": "always"'."\n" + .' },'."\n" + .' "random_steering": {'."\n" + .' "default_weight": 30,'."\n" + .' "pool_weights": {'."\n" + .' "96228666776****": 70,'."\n" + .' "96228666776****": 80'."\n" + .' }'."\n" + .' },'."\n" + .' "region_pools": {'."\n" + .' "ENAM": ['."\n" + .' 96228666776****,'."\n" + .' 92843536908****'."\n" + .' ],'."\n" + .' "WNAM": ['."\n" + .' 92843536908****'."\n" + .' ]'."\n" + .' },'."\n" + .' "session_affinity": "cookie",'."\n" + .' "session_affinity_attributes": {'."\n" + .' "drain_duration": 100,'."\n" + .' "headers": ["none"],'."\n" + .' "require_all_headers": false,'."\n" + .' "samesite": "Auto",'."\n" + .' "secure": "Auto",'."\n" + .' "zero_downtime_failover": "sticky"'."\n" + .' },'."\n" + .' "session_affinity_ttl": 1800,'."\n" + .' "steering_policy": "dynamic_latency",'."\n" + .' "ttl": 30'."\n" + .' }', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding global configurations. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => 'http.request.uri.path contains "/testing"', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding global configurations.', + 'type' => 'string', + 'example' => 'r2', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding global configurations. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'off', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The higher the number, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Terminates' => [ + 'description' => 'Whether to terminate the execution of subsequent rules.'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No, default value.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Monitor' => [ + 'description' => 'Monitor configuration.', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'Monitor protocol type, such as HTTP, used for health checks. When the value is `off`, it indicates that no check is performed.', + 'type' => 'string', + 'example' => 'HTTP', + 'title' => '', + ], + 'Method' => [ + 'description' => 'Health check method.', + 'type' => 'string', + 'example' => 'GET', + 'title' => '', + ], + 'Port' => [ + 'description' => 'Target port.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + 'title' => '', + ], + 'Path' => [ + 'description' => 'Path.', + 'type' => 'string', + 'example' => '/', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'Health check interval, in seconds.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + 'ExpectedCodes' => [ + 'description' => 'Expected status codes, such as 200, 202, for successful HTTP responses.', + 'type' => 'string', + 'example' => '200,202', + 'title' => '', + ], + 'FollowRedirects' => [ + 'description' => 'Whether to follow redirects.'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'ConsecutiveUp' => [ + 'description' => 'The number of consecutive successful probes required to consider the target as healthy, for example, `3`.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + 'title' => '', + ], + 'ConsecutiveDown' => [ + 'description' => 'The number of consecutive failed probes required to consider the target as unhealthy, for example, `5`.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + 'Header' => [ + 'description' => 'The HTTP headers to be included in the probe request.', + 'type' => 'any', + 'example' => '{'."\n" + .' "host": ['."\n" + .' "example1.com",'."\n" + .' "example2.com"'."\n" + .' ]'."\n" + .' }', + 'title' => '', + ], + 'Timeout' => [ + 'description' => 'The timeout for the health check, in seconds.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + 'MonitoringRegion' => [ + 'description' => 'The area where the detection point is located. The default value is Global.'."\n" + ."\n" + .'- Global: Global.'."\n" + .'- ChineseMainland: the Chinese mainland.'."\n" + .'- OutsideChineseMainland: Global (excluding the Chinese mainland).', + 'type' => 'string', + 'example' => 'Global', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Status' => [ + 'description' => 'The status of the load balancer.', + 'type' => 'string', + 'example' => 'healthy', + 'title' => '', + ], + 'SubRegionPools' => [ + 'description' => 'Address pools corresponding to secondary regions. When multiple secondary regions share a set of address pools, the keys can be concatenated with commas.', + 'type' => 'any', + 'example' => '{"AL,MO": [92298024898****],"CN-SH,CN-SX,CN-SC":[92304347804****,92843536908****]}', + 'title' => '', + ], + 'RegionPools' => [ + 'description' => 'Address pools corresponding to primary regions.', + 'type' => 'any', + 'example' => '{'."\n" + .' "ENAM": ['."\n" + .' 12345678****'."\n" + .' ],'."\n" + .' "WNAM": ['."\n" + .' 23456789****,'."\n" + .' 23456789****'."\n" + .' ]'."\n" + .'}', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'LoadBalancerNotExist', + 'errorMessage' => 'The specified load balancer name is invalid or load balancing is not enabled for your website.Make sure that you specify a valid load balancer name and load balancing is enabled. Then, try again.', + 'description' => 'The specified load balancer name is invalid or load balancing is not enabled for your website.Make sure that you specify a valid load balancer name and load balancing is enabled. Then, try again.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Query a Single Load Balancer', + 'summary' => 'Query a Specific Load Balancer', + 'description' => 'This API allows users to query the configuration details of a specific load balancer by providing necessary authentication information and resource identifiers, including but not limited to name, session persistence strategy, routing policy, etc.', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-16T02:25:11.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetLoadBalancer', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetLoadBalancer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"Id\\": 0,\\n \\"Name\\": \\"lb.example.com\\",\\n \\"SiteId\\": 0,\\n \\"Enabled\\": true,\\n \\"Ttl\\": 60,\\n \\"SessionAffinity\\": \\"ip\\",\\n \\"FallbackPool\\": 0,\\n \\"SteeringPolicy\\": \\"order\\",\\n \\"Description\\": \\"test\\",\\n \\"AdaptiveRouting\\": {\\n \\"FailoverAcrossPools\\": true\\n },\\n \\"DefaultPools\\": [\\n 0\\n ],\\n \\"RandomSteering\\": {\\n \\"DefaultWeight\\": 50,\\n \\"PoolWeights\\": {\\n \\"key\\": 50\\n }\\n },\\n \\"Rules\\": [\\n {\\n \\"FixedResponse\\": {\\n \\"ContentType\\": \\"application/json\\",\\n \\"Location\\": \\"http://www.example.com/index.html\\",\\n \\"MessageBody\\": \\"Hello World.\\",\\n \\"StatusCode\\": 200\\n },\\n \\"Overrides\\": \\"{\\\\n \\\\\\"adaptive_routing\\\\\\": {\\\\n \\\\\\"failover_across_pools\\\\\\": true\\\\n },\\\\n \\\\\\"sub_region_pools\\\\\\": {\\\\n \\\\\\"GB\\\\\\": [\\\\n 96228666776****\\\\n ],\\\\n \\\\\\"US\\\\\\": [\\\\n 96228666776****\\\\n ]\\\\n },\\\\n \\\\\\"default_pools\\\\\\": [\\\\n 96228666776****,\\\\n 96228666776****\\\\n ],\\\\n \\\\\\"fallback_pool\\\\\\": 96228666776****,\\\\n \\\\\\"location_strategy\\\\\\": {\\\\n \\\\\\"mode\\\\\\": \\\\\\"resolver_ip\\\\\\",\\\\n \\\\\\"prefer_ecs\\\\\\": \\\\\\"always\\\\\\"\\\\n },\\\\n \\\\\\"random_steering\\\\\\": {\\\\n \\\\\\"default_weight\\\\\\": 30,\\\\n \\\\\\"pool_weights\\\\\\": {\\\\n \\\\\\"96228666776****\\\\\\": 70,\\\\n \\\\\\"96228666776****\\\\\\": 80\\\\n }\\\\n },\\\\n \\\\\\"region_pools\\\\\\": {\\\\n \\\\\\"ENAM\\\\\\": [\\\\n 96228666776****,\\\\n 92843536908****\\\\n ],\\\\n \\\\\\"WNAM\\\\\\": [\\\\n 92843536908****\\\\n ]\\\\n },\\\\n \\\\\\"session_affinity\\\\\\": \\\\\\"cookie\\\\\\",\\\\n \\\\\\"session_affinity_attributes\\\\\\": {\\\\n \\\\\\"drain_duration\\\\\\": 100,\\\\n \\\\\\"headers\\\\\\": [\\\\\\"none\\\\\\"],\\\\n \\\\\\"require_all_headers\\\\\\": false,\\\\n \\\\\\"samesite\\\\\\": \\\\\\"Auto\\\\\\",\\\\n \\\\\\"secure\\\\\\": \\\\\\"Auto\\\\\\",\\\\n \\\\\\"zero_downtime_failover\\\\\\": \\\\\\"sticky\\\\\\"\\\\n },\\\\n \\\\\\"session_affinity_ttl\\\\\\": 1800,\\\\n \\\\\\"steering_policy\\\\\\": \\\\\\"dynamic_latency\\\\\\",\\\\n \\\\\\"ttl\\\\\\": 30\\\\n }\\",\\n \\"Rule\\": \\"http.request.uri.path contains \\\\\\"/testing\\\\\\"\\",\\n \\"RuleName\\": \\"r2\\",\\n \\"RuleEnable\\": \\"off\\",\\n \\"Sequence\\": 1,\\n \\"Terminates\\": true\\n }\\n ],\\n \\"Monitor\\": {\\n \\"Type\\": \\"HTTP\\",\\n \\"Method\\": \\"GET\\",\\n \\"Port\\": 80,\\n \\"Path\\": \\"/\\",\\n \\"Interval\\": 60,\\n \\"ExpectedCodes\\": \\"200,202\\",\\n \\"FollowRedirects\\": true,\\n \\"ConsecutiveUp\\": 3,\\n \\"ConsecutiveDown\\": 5,\\n \\"Header\\": \\"{\\\\n \\\\\\"host\\\\\\": [\\\\n \\\\\\"example1.com\\\\\\",\\\\n \\\\\\"example2.com\\\\\\"\\\\n ]\\\\n }\\",\\n \\"Timeout\\": 5,\\n \\"MonitoringRegion\\": \\"Global\\"\\n },\\n \\"Status\\": \\"healthy\\",\\n \\"SubRegionPools\\": \\"{\\\\\\"AL,MO\\\\\\": [92298024898****],\\\\\\"CN-SH,CN-SX,CN-SC\\\\\\":[92304347804****,92843536908****]}\\",\\n \\"RegionPools\\": \\"{\\\\n \\\\\\"ENAM\\\\\\": [\\\\n 12345678****\\\\n ],\\\\n \\\\\\"WNAM\\\\\\": [\\\\n 23456789****,\\\\n 23456789****\\\\n ]\\\\n}\\"\\n}","type":"json"}]', + ], + 'GetManagedTransform' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257447', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling [ListSites](~~2850189~~).', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the site. For sites with version management enabled, you can use this parameter to specify the effective version of the configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'AddClientGeolocationHeader' => [ + 'description' => 'Add visitor geolocation header. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + 'AddRealClientIpHeader' => [ + 'description' => 'Add the "ali-real-client-ip" header containing the real client IP. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the site. For sites with version management enabled, this parameter can be used to specify the site version for which the configuration takes effect, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'RealClientIpHeaderName' => [ + 'description' => 'The header name for the real client IP.', + 'type' => 'string', + 'example' => 'test_header', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Query Managed Transform Configuration', + 'summary' => 'Query Managed Transform Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-05-09T05:58:30.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetManagedTransform', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetManagedTransform', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"AddClientGeolocationHeader\\": \\"on\\",\\n \\"AddRealClientIpHeader\\": \\"on\\",\\n \\"SiteVersion\\": 0,\\n \\"RealClientIpHeaderName\\": \\"test_header\\"\\n}","type":"json"}]', + ], + 'GetNetworkOptimization' => [ + 'summary' => 'Query a single network optimization configuration', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257603', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '12312312213212', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ConfigId, which can be obtained by calling the [ListNetworkOptimizations](~~2869051~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type, which can be used to query global or rule configurations. Value range:'."\n" + ."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule configuration.', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Site configuration version number. For sites with version management enabled, this parameter can specify the effective site version, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'SmartRouting' => [ + 'description' => 'Whether to enable smart routing service, default is disabled. Value range:'."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Http2Origin' => [ + 'description' => 'Whether to enable HTTP2 origin, default is disabled. Value range:'."\n" + ."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Websocket' => [ + 'description' => 'Whether to enable Websocket, default is enabled. Value range:'."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Grpc' => [ + 'description' => 'Whether to enable GRPC, default is disabled. Value range:'."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'UploadMaxFilesize' => [ + 'description' => 'Maximum upload file size in MB, with a range from 100 to 500.', + 'type' => 'string', + 'example' => '500', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\",\\n \\"ConfigId\\": 0,\\n \\"ConfigType\\": \\"global\\",\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 2,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"SmartRouting\\": \\"on\\",\\n \\"Http2Origin\\": \\"on\\",\\n \\"Websocket\\": \\"on\\",\\n \\"Grpc\\": \\"on\\",\\n \\"UploadMaxFilesize\\": \\"500\\"\\n}","type":"json"}]', + 'title' => 'Query Site Network Optimization Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetNetworkOptimization', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetNetworkOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetOriginCaCertificate' => [ + 'summary' => 'Obtain the CA certificate information of the origin server.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261741', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'babaabcd****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the certificate.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The certificate content.'."\n", + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + 'Result' => [ + 'description' => 'The certificate information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the certificate.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type.'."\n", + 'type' => 'string', + 'example' => 'upload', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-03-31 02:08:00', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-03-31 02:08:00', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The Subject Alternative Name (SAN) of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubkeyAlgorithm' => [ + 'description' => 'The public-key algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the certificate was created.'."\n", + 'type' => 'string', + 'example' => '2024-03-05 18:24:04', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the certificate was updated.'."\n", + 'type' => 'string', + 'example' => '2024-03-05 18:24:04', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.'."\n", + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1d**', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '3558df77-8a7a-4060-a900-2d7949403836', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Obtain CA certificate information of the origin server', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginCaCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com\\",\\n \\"Status\\": \\"OK\\",\\n \\"Certificate\\": \\"-----BEGIN CERTIFICATE-----\\",\\n \\"Result\\": {\\n \\"Id\\": \\"babaabcd****\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Status\\": \\"OK\\",\\n \\"Type\\": \\"upload\\",\\n \\"CommonName\\": \\"www.example.com \\",\\n \\"NotBefore\\": \\"2023-03-31 02:08:00\\",\\n \\"NotAfter\\": \\"2024-03-31 02:08:00\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"PubkeyAlgorithm\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2024-03-05 18:24:04\\",\\n \\"UpdateTime\\": \\"2024-03-05 18:24:04\\",\\n \\"SerialNumber\\": \\"babaded901474b9693acf530e0fb1d**\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****\\"\\n },\\n \\"RequestId\\": \\"3558df77-8a7a-4060-a900-2d7949403836\\"\\n}","type":"json"}]', + ], + 'GetOriginClientCertificate' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261753', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'babaabcd****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com'."\n", + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the certificate.', + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The certificate content.'."\n", + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + 'Result' => [ + 'description' => 'The certificate information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the certificate.', + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type.'."\n", + 'type' => 'string', + 'example' => 'upload', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-03-31 02:08:00', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-03-31 02:08:00', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'DigiCert', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The Subject Alternative Name (SAN) of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubkeyAlgorithm' => [ + 'description' => 'The public-key algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the certificate was created.'."\n", + 'type' => 'string', + 'example' => '2020-05-12 02:00:53', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the certificate was updated.'."\n", + 'type' => 'string', + 'example' => '2024-03-05 18:24:04', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.'."\n", + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1d**', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****', + 'title' => '', + ], + 'Hostnames' => [ + 'description' => 'The domain names to associate.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'example' => '[\'www.example.com\', \'mail.example.com\']', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'title' => 'Obtain origin fetch client certificate information by domain name granularity ', + 'summary' => 'Obtain domain name granularity origin fetch client certificate information. ', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginClientCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com\\\\n\\",\\n \\"Status\\": \\"OK\\",\\n \\"Certificate\\": \\"-----BEGIN CERTIFICATE-----\\",\\n \\"Result\\": {\\n \\"Id\\": \\"babaabcd****\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Status\\": \\"OK\\",\\n \\"Type\\": \\"upload\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"NotBefore\\": \\"2023-03-31 02:08:00\\",\\n \\"NotAfter\\": \\"2024-03-31 02:08:00\\",\\n \\"Issuer\\": \\"DigiCert\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"PubkeyAlgorithm\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2020-05-12 02:00:53\\",\\n \\"UpdateTime\\": \\"2024-03-05 18:24:04\\",\\n \\"SerialNumber\\": \\"babaded901474b9693acf530e0fb1d**\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****\\",\\n \\"Hostnames\\": [\\n \\"[\'www.example.com\', \'mail.example.com\']\\"\\n ]\\n },\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\"\\n}","type":"json"}]', + ], + 'GetOriginClientCertificateHostnames' => [ + 'summary' => 'Obtain the list of domain names attached to a client certificate for origin fetch at domain name granularity.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261755', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the certificate.', + 'type' => 'string', + 'required' => true, + 'example' => 'babaabcd****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com ', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The ID of the client certificate.', + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'Hostnames' => [ + 'description' => 'The domain names to associate.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'title' => 'Obtain the list of domain names attached to a client certificate for origin fetch at domain name granularity', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginClientCertificateHostnames', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginClientCertificateHostnames', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com \\",\\n \\"Id\\": \\"babaabcd****\\",\\n \\"Hostnames\\": [\\n \\"www.example.com \\"\\n ],\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + ], + 'GetOriginPool' => [ + 'summary' => 'Query a specific origin pool', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238601', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'title' => '监视器id。', + 'description' => 'The ID of the origin pool, which can be obtained by calling the [ListOriginPools](~~2863947~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1038520525196928', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the site, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '216558609793952', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'Id' => [ + 'description' => 'Origin pool ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '103852052519****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'Name of the origin pool. The name is unique under a single site.', + 'type' => 'string', + 'example' => 'pool1', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'ID of the site to which the origin pool belongs.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '21655860979****', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'The domain name assigned to the origin pool, which can be used as the origin address for records under the site.', + 'type' => 'string', + 'example' => 'pool1.example.com', + 'title' => '', + ], + 'Enabled' => [ + 'description' => 'Whether the origin pool is enabled:'."\n" + ."\n" + .'- true: Enabled;'."\n" + .'- false: Disabled.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'References' => [ + 'description' => 'Reference information for the origin pool. The origin pool is considered referenced when it is configured in a load balancer or set as the origin for a record.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancers' => [ + 'description' => 'List of load balancers using this origin pool.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the load balancers using this origin pool.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'Name of the load balancer.', + 'type' => 'string', + 'example' => 'lb1.example.com', + 'title' => '', + ], + 'Id' => [ + 'description' => 'ID of the load balancer.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '99874066052****', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DnsRecords' => [ + 'description' => 'List of layer 7 records using this origin pool as the origin.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the layer 7 records using this origin pool as the origin.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'Record name.', + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'Id' => [ + 'description' => 'Record ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '104285288635****', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'IPARecords' => [ + 'description' => 'List of layer 4 records using this origin pool as the origin.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the layer 4 records using this origin pool as the origin.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'Record name.', + 'type' => 'string', + 'example' => 'ipa.example.com', + 'title' => '', + ], + 'Id' => [ + 'description' => '记录ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '104285288635****', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'ReferenceLBCount' => [ + 'description' => 'The number of load balancers that reference this origin pool.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + 'Origins' => [ + 'description' => 'Information about the origins added to the origin pool.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the origins added to the origin pool.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The ID of the origin.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '99750209487****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The name of the origin.', + 'type' => 'string', + 'example' => 'origin1', + 'title' => '', + ], + 'Address' => [ + 'description' => 'The address of the origin, e.g., www.example.com.', + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'Enabled' => [ + 'description' => 'Whether the origin is enabled:'."\n" + ."\n" + .'- true: Enabled;'."\n" + .'- false: Disabled.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'Weight' => [ + 'description' => 'The weight, an integer between 0 and 100.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of the origin:'."\n" + ."\n" + .'- ip_domain: IP or domain type origin;'."\n" + .'- OSS: OSS address origin;'."\n" + .'- S3: AWS S3 origin.', + 'type' => 'string', + 'example' => 'ip_domain', + 'title' => '', + ], + 'Header' => [ + 'description' => 'The request header to be included when fetching from the origin, only supports Host.', + 'type' => 'any', + 'example' => '{'."\n" + .' "Host": ['."\n" + .' "example.com"'."\n" + .' ]'."\n" + .' }', + 'title' => '', + ], + 'AuthConf' => [ + 'description' => 'Authentication information. When the origin is an OSS or S3, and authentication is required, you need to provide the relevant configuration information.', + 'type' => 'object', + 'properties' => [ + 'AuthType' => [ + 'description' => 'The type of authentication:'."\n" + ."\n" + .'- public: Public read/write, used when the origin is OSS or S3 and is publicly readable/writable;'."\n" + .'- private_same_account: Private same account, used when the origin is OSS and the authentication type is private within the same account;'."\n" + .'- private_cross_account: Private cross account, used when the origin is OSS and the authentication type is private across accounts;'."\n" + .'- private: Used when the origin is S3 and the authentication type is private.', + 'type' => 'string', + 'example' => 'public', + 'title' => '', + ], + 'AccessKey' => [ + 'description' => 'The AccessKey required when AuthType is set to private_cross_account or private.', + 'type' => 'string', + 'example' => 'yourAccessKeyID', + 'title' => '', + ], + 'SecretKey' => [ + 'description' => 'The SecretKey required when AuthType is set to private_cross_account or private.', + 'type' => 'string', + 'example' => 'yourAccessKeySecret', + 'title' => '', + ], + 'Version' => [ + 'description' => 'The signature version required when the origin is an AWS S3.', + 'type' => 'string', + 'example' => 'v4', + 'title' => '', + ], + 'Region' => [ + 'description' => 'The source Region to be passed when the origin is AWS S3.', + 'type' => 'string', + 'example' => 'us-east-1'."\n", + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'IpVersionPolicy' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'OriginPoolNotExist', + 'errorMessage' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + 'description' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'Query a Single Origin Pool', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginPool', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginPool', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Id\\": 0,\\n \\"Name\\": \\"pool1\\",\\n \\"SiteId\\": 0,\\n \\"RecordName\\": \\"pool1.example.com\\",\\n \\"Enabled\\": true,\\n \\"References\\": {\\n \\"LoadBalancers\\": [\\n {\\n \\"Name\\": \\"lb1.example.com\\",\\n \\"Id\\": 0\\n }\\n ],\\n \\"DnsRecords\\": [\\n {\\n \\"Name\\": \\"www.example.com\\",\\n \\"Id\\": 0\\n }\\n ],\\n \\"IPARecords\\": [\\n {\\n \\"Name\\": \\"ipa.example.com\\",\\n \\"Id\\": 0\\n }\\n ]\\n },\\n \\"ReferenceLBCount\\": 5,\\n \\"Origins\\": [\\n {\\n \\"Id\\": 0,\\n \\"Name\\": \\"origin1\\",\\n \\"Address\\": \\"www.example.com\\",\\n \\"Enabled\\": true,\\n \\"Weight\\": 50,\\n \\"Type\\": \\"ip_domain\\",\\n \\"Header\\": \\"{\\\\n \\\\\\"Host\\\\\\": [\\\\n \\\\\\"example.com\\\\\\"\\\\n ]\\\\n }\\",\\n \\"AuthConf\\": {\\n \\"AuthType\\": \\"public\\",\\n \\"AccessKey\\": \\"yourAccessKeyID\\",\\n \\"SecretKey\\": \\"yourAccessKeySecret\\",\\n \\"Version\\": \\"v4\\",\\n \\"Region\\": \\"us-east-1\\\\n\\"\\n },\\n \\"IpVersionPolicy\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'GetOriginProtection' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '250109', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4VDL9A', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + ], + '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' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + 'CurrentIPWhitelist' => [ + 'description' => 'The IP whitelist for origin protection used by the website.'."\n", + 'type' => 'object', + 'properties' => [ + 'IPv4' => [ + 'description' => 'The IP whitelist for origin protection used by the website, specified as IPv4 addresses or CIDR blocks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IPv4 address or CIDR block.'."\n", + 'type' => 'string', + 'example' => '101.66.250.0/25', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'IPv6' => [ + 'description' => 'The IP whitelist for origin protection used by the website, specified as IPv6 addresses or CIDR blocks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IPv6 address or CIDR block.'."\n", + 'type' => 'string', + 'example' => '2409:8c54:1841:200a::/64', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'LatestIPWhitelist' => [ + 'description' => 'The latest IP whitelist for origin protection.'."\n", + 'type' => 'object', + 'properties' => [ + 'IPv4' => [ + 'description' => 'The latest IP whitelist for origin protection, specified as IPv4 addresses or CIDR blocks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IPv4 address or CIDR block.'."\n", + 'type' => 'string', + 'example' => '101.66.250.0/25', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'IPv6' => [ + 'description' => 'The latest IP whitelist for origin protection, specified as IPv6 addresses or CIDR blocks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IPv6 address or CIDR block.'."\n", + 'type' => 'string', + 'example' => '2409:8c54:1841:200a::/64', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'DiffIPWhitelist' => [ + 'description' => 'The IP whitelist for origin protection that has been updated.'."\n", + 'type' => 'object', + 'properties' => [ + 'AddedIPWhitelist' => [ + 'description' => 'The new IP whitelist for origin protection.'."\n", + 'type' => 'object', + 'properties' => [ + 'IPv4' => [ + 'description' => 'The IP whitelist for origin protection, specified as IPv4 addresses or CIDR blocks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IPv4 address or CIDR block.'."\n", + 'type' => 'string', + 'example' => '101.66.250.0/25', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'IPv6' => [ + 'description' => 'The IP whitelist for origin protection, specified as IPv6 addresses or CIDR blocks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IPv6 address or CIDR block.'."\n", + 'type' => 'string', + 'example' => '2409:8c54:1841:200a::/64', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'NoChangeIpWhitelist' => [ + 'description' => 'The IP whitelist for origin protection that remains unchanged.'."\n", + 'type' => 'object', + 'properties' => [ + 'IPv4' => [ + 'description' => 'The IP whitelist for origin protection, specified as IPv4 addresses or CIDR blocks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IPv4 address or CIDR block.'."\n", + 'type' => 'string', + 'example' => '101.66.250.0/25', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'IPv6' => [ + 'description' => 'The IP whitelist for origin protection, specified as IPv6 addresses or CIDR blocks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IPv6 address or CIDR block.'."\n", + 'type' => 'string', + 'example' => '2409:8c54:1841:200a::/64', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'RemovedIPWhitelist' => [ + 'description' => 'The IP whitelist for origin protection that has been deleted.'."\n", + 'type' => 'object', + 'properties' => [ + 'IPv4' => [ + 'description' => 'The IP whitelist for origin protection, specified as IPv4 addresses or CIDR blocks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IPv4 address or CIDR block.'."\n", + 'type' => 'string', + 'example' => '101.66.250.0/25', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'IPv6' => [ + 'description' => 'The IP whitelist for origin protection, specified as IPv6 addresses or CIDR blocks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The IPv6 address or CIDR block.'."\n", + 'type' => 'string', + 'example' => '2409:8c54:1841:200a::/64', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'RegionalCurrentIPWhitelist' => [ + 'description' => 'The regional back-to-origin IP whitelist currently used by the site.', + 'title' => 'The regional back-to-origin IP whitelist currently used by the site.', + 'type' => 'object', + 'properties' => [ + 'RegionalIPv4' => [ + 'description' => 'The regional back-to-origin IP whitelist currently used by the site, including IPv4 CIDR blocks and areas.', + 'title' => 'The regional back-to-origin IP whitelist currently used by the site, including IPv4 CIDR blocks and areas.', + 'type' => 'array', + 'items' => [ + 'description' => 'An IPv4 CIDR block and an area.', + 'title' => 'An IPv4 CIDR block and an area.', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => 'An IPv4 CIDR block.', + 'title' => 'An IPv4 CIDR block.', + 'type' => 'string', + 'example' => '101.66.250.0/25', + ], + 'Region' => [ + 'description' => 'An IPv4 area.', + 'title' => 'An IPv4 area.', + 'type' => 'string', + 'example' => 'chinese_mainland', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + 'RegionalIPv6' => [ + 'description' => 'The regional back-to-origin IP whitelist currently used by the site, including IPv6 CIDR blocks and areas.', + 'title' => 'The regional back-to-origin IP whitelist currently used by the site, including IPv6 CIDR blocks and areas.', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6 CIDR block and area.', + 'title' => 'IPv6 CIDR block and area.', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => 'IPv6 CIDR block.', + 'title' => 'IPv6 CIDR block.', + 'type' => 'string', + 'example' => '101.66.250.0/25', + ], + 'Region' => [ + 'description' => 'IPv6 area.', + 'title' => 'IPv6 area.', + 'type' => 'string', + 'example' => 'chinese_mainland', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'RegionalLatestIPWhitelist' => [ + 'description' => 'The latest regional back-to-origin IP whitelist. ', + 'title' => 'The latest regional back-to-origin IP whitelist. ', + 'type' => 'object', + 'properties' => [ + 'RegionalIPv4' => [ + 'description' => 'The latest regional back-to-origin IP whitelist, including IPv4 CIDR blocks and areas. '."\n", + 'title' => 'The latest regional back-to-origin IP whitelist, including IPv4 CIDR blocks and areas. '."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'IPv4 CIDR block and area.', + 'title' => 'IPv4 CIDR block, area.', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => 'IPv4 CIDR block.', + 'title' => 'IPv4 CIDR block.', + 'type' => 'string', + 'example' => '101.66.250.0/25', + ], + 'Region' => [ + 'description' => 'IPv4 area.', + 'title' => 'IPv4 area.', + 'type' => 'string', + 'example' => 'chinese_mainland', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + 'RegionalIPv6' => [ + 'description' => 'The latest regional back-to-origin IP whitelist, including IPv6 CIDR blocks and areas.'."\n" + ."\n", + 'title' => 'The latest regional back-to-origin IP whitelist, including IPv6 CIDR blocks and areas.'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6 CIDR block, area.', + 'title' => 'IPv6 CIDR block, area.', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => 'IPv6 CIDR block.', + 'title' => 'IPv6 CIDR block.', + 'type' => 'string', + 'example' => '101.66.250.0/25', + ], + 'Region' => [ + 'description' => 'IPv6 area. ', + 'title' => 'IPv6 area. ', + 'type' => 'string', + 'example' => 'chinese_mainland', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'RegionalDiffIPWhitelist' => [ + 'description' => 'Regional back-to-origin IP whitelist with changes.', + 'title' => 'Regional back-to-origin IP whitelist with changes.', + 'type' => 'object', + 'properties' => [ + 'AddedIPRegionWhitelist' => [ + 'description' => 'Added regional back-to-origin IP whitelist.', + 'title' => 'Added regional back-to-origin IP whitelist.', + 'type' => 'object', + 'properties' => [ + 'RegionalIPv4' => [ + 'description' => 'Regional back-to-origin IP whitelist, including IPv4 CIDR blocks and areas.', + 'title' => 'Regional back-to-origin IP whitelist, including IPv4 CIDR blocks and areas.', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv4 CIDR block and area.', + 'title' => 'IPv4 CIDR block and area.', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => 'IPv4 CIDR block.', + 'title' => 'IPv4 CIDR block.', + 'type' => 'string', + 'example' => '101.66.250.0/25', + ], + 'Region' => [ + 'description' => 'IPv4 area.', + 'title' => 'IPv4 area.', + 'type' => 'string', + 'example' => 'chinese_mainland', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + 'RegionalIPv6' => [ + 'description' => 'Regional back-to-origin IP whitelist, including IPv6 CIDR blocks and areas.'."\n" + ."\n", + 'title' => 'Regional back-to-origin IP whitelist, including IPv6 CIDR blocks and areas.'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6 CIDR block and area.', + 'title' => 'IPv6 CIDR block and area.', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => 'IPv6 CIDR block.', + 'title' => 'IPv6 CIDR block.', + 'type' => 'string', + 'example' => '101.66.250.0/25', + ], + 'Region' => [ + 'description' => 'IPv6 area. ', + 'title' => 'IPv6 area. ', + 'type' => 'string', + 'example' => 'chinese_mainland', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'NoChangeIpWhitelist' => [ + 'description' => 'Regional back-to-origin IP whitelist with no changes. ', + 'title' => 'Regional back-to-origin IP whitelist with no changes. ', + 'type' => 'object', + 'properties' => [ + 'RegionalIPv4' => [ + 'description' => 'Regional back-to-origin IP whitelist, IPv4 CIDR block and area. ', + 'title' => 'Regional back-to-origin IP whitelist, IPv4 CIDR block and area. ', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv4 CIDR block and area. ', + 'title' => 'IPv4 CIDR block and area. ', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => 'IPv4 CIDR block. ', + 'title' => 'IPv4 CIDR block.', + 'type' => 'string', + 'example' => '101.66.250.0/25', + ], + 'Region' => [ + 'description' => 'IPv4 area.', + 'title' => 'IPv4 area.', + 'type' => 'string', + 'example' => 'chinese_mainland', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + 'RegionalIPv6' => [ + 'description' => 'Regional back-to-origin IP whitelist, IPv6 CIDR block and area.', + 'title' => 'Regional back-to-origin IP whitelist, IPv6 CIDR block and area.', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6 CIDR block and area.', + 'title' => 'IPv6 CIDR block and area.', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => 'IPv6 CIDR block.', + 'title' => 'IPv6 CIDR block.', + 'type' => 'string', + 'example' => '101.66.250.0/25', + ], + 'Region' => [ + 'description' => 'IPv6 area. ', + 'title' => 'IPv6 area. ', + 'type' => 'string', + 'example' => 'chinese_mainland', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'RemovedIPRegionWhitelist' => [ + 'description' => 'Deleted regional back-to-origin IP whitelist. ', + 'title' => 'Deleted regional back-to-origin IP whitelist. ', + 'type' => 'object', + 'properties' => [ + 'RegionalIPv4' => [ + 'description' => 'Regional back-to-origin IP whitelist, IPv4 CIDR block and area. ', + 'title' => 'Regional back-to-origin IP whitelist, IPv4 CIDR block and area. ', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv4 CIDR block and area. ', + 'title' => 'IPv4 CIDR block and area. ', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => 'IPv4 CIDR block. ', + 'title' => 'IPv4 CIDR block.', + 'type' => 'string', + 'example' => '101.66.250.0/25', + ], + 'Region' => [ + 'description' => 'IPv4 area.', + 'title' => 'IPv4 area.', + 'type' => 'string', + 'example' => 'chinese_mainland', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + 'RegionalIPv6' => [ + 'description' => 'Regional back-to-origin IP whitelist, including IPv6 CIDR blocks and areas.'."\n" + ."\n", + 'title' => 'Regional back-to-origin IP whitelist, including IPv6 CIDR blocks and areas.'."\n" + ."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6 CIDR block and area.', + 'title' => 'IPv6 CIDr block and area.', + 'type' => 'object', + 'properties' => [ + 'Cidr' => [ + 'description' => 'IPv6 CIDR block.', + 'title' => 'IPv6 CIDR block.', + 'type' => 'string', + 'example' => '101.66.250.0/25', + ], + 'Region' => [ + 'description' => 'IPv6 area. ', + 'title' => 'IPv6 area. ', + 'type' => 'string', + 'example' => 'chinese_mainland', + 'enum' => [ + 'chinese_mainland', + 'global_excluding_chinese_mainland', + ], + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'NeedUpdate' => [ + 'description' => 'Indicates whether the IP whitelist for origin protection needs to be updated. If the currently used IP whitelist is different from the latest IP whitelist, it needs to be updated, and the value is true.'."\n" + ."\n" + .'* true: The update is required.'."\n" + .'* false: No update is required.'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'OriginProtection' => [ + 'description' => 'Indicates whether origin protection is enabled.'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'OriginConverge' => [ + 'description' => 'Indicates whether IP convergence is enabled.'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****', + 'title' => '', + ], + 'AutoConfirmIPList' => [ + 'description' => 'Automatically enable the latest back-to-origin IP addresses list. ', + 'title' => 'Automatically enable the latest back-to-origin IP addresses list. ', + 'type' => 'string', + 'example' => 'off', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Obtain origin protection information', + 'summary' => 'Query the site\'s origin protection configuration, including the origin protection toggle, origin fetch convergence toggle, whether an update to the back-to-origin IP whitelist is required, and detailed information about the back-to-origin IP whitelist, including the currently used back-to-origin IP whitelist for the site, the latest back-to-origin IP whitelist, and the differences between the two.', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-24T01:42:33.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginProtection', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\",\\n \\"CurrentIPWhitelist\\": {\\n \\"IPv4\\": [\\n \\"101.66.250.0/25\\"\\n ],\\n \\"IPv6\\": [\\n \\"2409:8c54:1841:200a::/64\\"\\n ]\\n },\\n \\"LatestIPWhitelist\\": {\\n \\"IPv4\\": [\\n \\"101.66.250.0/25\\"\\n ],\\n \\"IPv6\\": [\\n \\"2409:8c54:1841:200a::/64\\"\\n ]\\n },\\n \\"DiffIPWhitelist\\": {\\n \\"AddedIPWhitelist\\": {\\n \\"IPv4\\": [\\n \\"101.66.250.0/25\\"\\n ],\\n \\"IPv6\\": [\\n \\"2409:8c54:1841:200a::/64\\"\\n ]\\n },\\n \\"NoChangeIpWhitelist\\": {\\n \\"IPv4\\": [\\n \\"101.66.250.0/25\\"\\n ],\\n \\"IPv6\\": [\\n \\"2409:8c54:1841:200a::/64\\"\\n ]\\n },\\n \\"RemovedIPWhitelist\\": {\\n \\"IPv4\\": [\\n \\"101.66.250.0/25\\"\\n ],\\n \\"IPv6\\": [\\n \\"2409:8c54:1841:200a::/64\\"\\n ]\\n }\\n },\\n \\"RegionalCurrentIPWhitelist\\": {\\n \\"RegionalIPv4\\": [\\n {\\n \\"Cidr\\": \\"101.66.250.0/25\\",\\n \\"Region\\": \\"chinese_mainland\\"\\n }\\n ],\\n \\"RegionalIPv6\\": [\\n {\\n \\"Cidr\\": \\"101.66.250.0/25\\",\\n \\"Region\\": \\"chinese_mainland\\"\\n }\\n ]\\n },\\n \\"RegionalLatestIPWhitelist\\": {\\n \\"RegionalIPv4\\": [\\n {\\n \\"Cidr\\": \\"101.66.250.0/25\\",\\n \\"Region\\": \\"chinese_mainland\\"\\n }\\n ],\\n \\"RegionalIPv6\\": [\\n {\\n \\"Cidr\\": \\"101.66.250.0/25\\",\\n \\"Region\\": \\"chinese_mainland\\"\\n }\\n ]\\n },\\n \\"RegionalDiffIPWhitelist\\": {\\n \\"AddedIPRegionWhitelist\\": {\\n \\"RegionalIPv4\\": [\\n {\\n \\"Cidr\\": \\"101.66.250.0/25\\",\\n \\"Region\\": \\"chinese_mainland\\"\\n }\\n ],\\n \\"RegionalIPv6\\": [\\n {\\n \\"Cidr\\": \\"101.66.250.0/25\\",\\n \\"Region\\": \\"chinese_mainland\\"\\n }\\n ]\\n },\\n \\"NoChangeIpWhitelist\\": {\\n \\"RegionalIPv4\\": [\\n {\\n \\"Cidr\\": \\"101.66.250.0/25\\",\\n \\"Region\\": \\"chinese_mainland\\"\\n }\\n ],\\n \\"RegionalIPv6\\": [\\n {\\n \\"Cidr\\": \\"101.66.250.0/25\\",\\n \\"Region\\": \\"chinese_mainland\\"\\n }\\n ]\\n },\\n \\"RemovedIPRegionWhitelist\\": {\\n \\"RegionalIPv4\\": [\\n {\\n \\"Cidr\\": \\"101.66.250.0/25\\",\\n \\"Region\\": \\"chinese_mainland\\"\\n }\\n ],\\n \\"RegionalIPv6\\": [\\n {\\n \\"Cidr\\": \\"101.66.250.0/25\\",\\n \\"Region\\": \\"chinese_mainland\\"\\n }\\n ]\\n }\\n },\\n \\"NeedUpdate\\": true,\\n \\"OriginProtection\\": \\"on\\",\\n \\"OriginConverge\\": \\"on\\",\\n \\"SiteId\\": 0,\\n \\"AutoConfirmIPList\\": \\"off\\"\\n}","type":"json"}]', + ], + 'GetOriginRule' => [ + 'summary' => 'Queries the configurations of a single origin rule.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257604', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3400350********', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the configuration. You can call the [ListSiteRoutes](~~2866989~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '33793140540****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816096987136', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The configuration type to query. Valid values:'."\n" + ."\n" + .'* global: global configurations.'."\n" + .'* rule: rule configurations.'."\n", + 'type' => 'string', + 'example' => 'rule', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The rule execution order. The smaller the value, the higher the priority.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Specifies whether to enable the rule. Valid values: You do not need to set this parameter when you add global configuration. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The content of the rule. A conditional expression is used to match a user request. You do not need to set this parameter when you add global configuration. Use cases:'."\n" + ."\n" + .'* true: Match all incoming requests.'."\n" + .'* Set the value to a custom expression, for example, (http.host eq "video.example.com"): Match the specified request.'."\n", + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'The rule name. You do not need to set this parameter when you add global configurations.'."\n", + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'OriginHost' => [ + 'description' => 'The Host header in origin requests.'."\n", + 'type' => 'string', + 'example' => 'origin.example.com'."\n", + 'title' => '', + ], + 'OriginScheme' => [ + 'description' => 'The protocol used for origin requests. Valid values:'."\n" + ."\n" + .'* http: HTTP.'."\n" + .'* https: HTTPS.'."\n" + .'* follow: follows the protocol used by the client.'."\n", + 'type' => 'string', + 'example' => 'http', + 'title' => '', + ], + 'OriginSni' => [ + 'description' => 'The SNI in origin requests.'."\n", + 'type' => 'string', + 'example' => 'origin.example.com'."\n", + 'title' => '', + ], + 'DnsRecord' => [ + 'description' => 'The hostname that overrides the resolved hostname of an incoming request.'."\n", + 'type' => 'string', + 'example' => 'test.example.com'."\n", + 'title' => '', + ], + 'OriginHttpPort' => [ + 'description' => 'The origin port that is accessed when the HTTP protocol is used to back to the origin.'."\n", + 'type' => 'string', + 'example' => '8080', + 'title' => '', + ], + 'OriginHttpsPort' => [ + 'description' => 'The origin port that is accessed when the HTTPS protocol is used to back to the origin.'."\n", + 'type' => 'string', + 'example' => '4433', + 'title' => '', + ], + 'Range' => [ + 'description' => 'Use range requests to download an object from the source. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n" + .'* force: enables range origin fetch by force.'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'OriginMtls' => [ + 'description' => 'The MTLS switch. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'OriginVerify' => [ + 'description' => 'The origin certificate verification switch. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'RangeChunkSize' => [ + 'description' => 'The size of the range part. Valid values:'."\n" + ."\n" + .'* 512KB'."\n" + .'* 1MB'."\n" + .'* 2MB'."\n" + .'* 4MB'."\n", + 'type' => 'string', + 'example' => '1MB', + 'title' => '', + ], + 'OriginReadTimeout' => [ + 'description' => 'The read timeout period (in seconds) on the origin.'."\n", + 'type' => 'string', + 'example' => '10', + 'title' => '', + ], + 'Follow302Enable' => [ + 'description' => '302 follow switch. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Follow302MaxTries' => [ + 'description' => 'The maximum number of 302 follow times. Valid values: 1 to 5.'."\n", + 'type' => 'string', + 'example' => '1', + 'title' => '', + ], + 'Follow302RetainArgs' => [ + 'description' => 'Retains the original request parameters switch. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Follow302RetainHeader' => [ + 'description' => 'Retain the original request header switch. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Follow302TargetHost' => [ + 'description' => 'Target Host'."\n", + 'type' => 'string', + 'example' => 'test.com', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'GetOriginRule', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-17T08:47:33.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2025-04-01T01:57:04.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2025-03-20T05:57:46.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2025-02-27T09:16:40.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"ConfigId\\": 352816096987136,\\n \\"ConfigType\\": \\"rule\\",\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"OriginHost\\": \\"origin.example.com\\\\n\\",\\n \\"OriginScheme\\": \\"http\\",\\n \\"OriginSni\\": \\"origin.example.com\\\\n\\",\\n \\"DnsRecord\\": \\"test.example.com\\\\n\\",\\n \\"OriginHttpPort\\": \\"8080\\",\\n \\"OriginHttpsPort\\": \\"4433\\",\\n \\"Range\\": \\"on\\",\\n \\"OriginMtls\\": \\"on\\",\\n \\"OriginVerify\\": \\"on\\",\\n \\"RangeChunkSize\\": \\"1MB\\",\\n \\"OriginReadTimeout\\": \\"10\\",\\n \\"Follow302Enable\\": \\"on\\",\\n \\"Follow302MaxTries\\": \\"1\\",\\n \\"Follow302RetainArgs\\": \\"on\\",\\n \\"Follow302RetainHeader\\": \\"on\\",\\n \\"Follow302TargetHost\\": \\"test.com\\"\\n}","type":"json"}]', + ], + 'GetPage' => [ + 'summary' => 'Queries the details of a custom error page based on the error page ID.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239604', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The ID of the custom error page, which can be obtained by calling the [ListPages](~~2850223~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50000001', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225 ', + ], + 'UpdateTime' => [ + 'title' => '', + 'description' => 'The time when the custom error page was last modified.'."\n", + 'type' => 'string', + 'example' => '2024-01-01T00:00:00Z', + ], + 'Id' => [ + 'title' => '', + 'description' => 'The ID of the custom error page.[](~~2850223~~)'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '50000001', + 'pattern' => '', + 'default' => '', + ], + 'Name' => [ + 'title' => '', + 'description' => 'The name of the custom response page.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example', + 'maxLength' => 128, + 'pattern' => '', + 'default' => '', + ], + 'Description' => [ + 'title' => '', + 'description' => 'The description of the custom error page.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'a custom deny page', + 'maxLength' => 1024, + 'pattern' => '', + 'default' => '', + ], + 'Kind' => [ + 'title' => '', + 'description' => 'The type of the custom response page.'."\n", + 'type' => 'string', + 'example' => 'custom', + ], + 'ContentType' => [ + 'title' => '', + 'description' => 'The Content-Type field in the HTTP header.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'text/html', + 'pattern' => '', + 'default' => '', + ], + 'Content' => [ + 'title' => '', + 'description' => 'The Base64-encoded content of the error page. The content type is specified by the Content-Type field.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'PGh0bWw+aGVsbG8gcGFnZTwvaHRtbD4=', + 'pattern' => '', + 'default' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameters', + 'errorMessage' => 'The specified parameters are invalid.', + 'description' => 'Parameter is illegal.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225 \\",\\n \\"UpdateTime\\": \\"2024-01-01T00:00:00Z\\",\\n \\"Id\\": 50000001,\\n \\"Name\\": \\"example\\",\\n \\"Description\\": \\"a custom deny page\\",\\n \\"Kind\\": \\"custom\\",\\n \\"ContentType\\": \\"text/html\\",\\n \\"Content\\": \\"PGh0bWw+aGVsbG8gcGFnZTwvaHRtbD4=\\"\\n}","type":"json"}]', + 'title' => 'GetPage', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:48.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetPage', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetPage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetPurgeQuota' => [ + 'summary' => 'Queries the quotas and quota usage for different cache purge options.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239209', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBCJPGN', + 'FEATUREdcdnELTTM1', + 'FEATUREdcdnA9FG2P', + 'FEATUREdcdnRELTJV', + 'FEATUREdcdnEWYS3A', + 'FEATUREdcdn4QVGXU', + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the purge task. Valid values:'."\n" + ."\n" + .'* **file** (default): purges the cache by file.'."\n" + .'* **cachetag**: purges the cache by cache tag.'."\n" + .'* **directory**: purges the cache by directory.'."\n" + .'* **ignoreParams**: purges the cache by URL with specific parameters ignored.'."\n" + .'* **hostname**: purges the cache by hostname.'."\n" + .'* **purgeall**: purges all cache.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'file', + 'enum' => [ + 'file', + 'cachetag', + 'directory', + 'ignoreparams', + 'hostname', + 'purgeall', + 'preload', + 'cachekey', + ], + 'title' => '', + ], + ], + ], + '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' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'Quota' => [ + 'description' => 'The total quota.'."\n", + 'type' => 'string', + 'example' => '100000', + 'title' => '', + ], + 'Usage' => [ + 'description' => 'The quota usage.'."\n", + 'type' => 'string', + 'example' => '10', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + 'description' => 'Please provide both a start time and an end time.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'DomainNameOverLimit', + 'errorMessage' => 'A maximum of 500 domains are supported for each request.', + 'description' => 'Only 500 domain names are supported at a time. Please reduce the number of domain names to request again.', + ], + [ + 'errorCode' => 'InvalidTime', + 'errorMessage' => 'The query time cannot exceed the last 3 days.', + 'description' => 'The query time cannot exceed the last 3 days.', + ], + [ + 'errorCode' => 'MissingParameter.ObjectType', + 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', + 'description' => 'Specify the ObjectType parameter.', + ], + [ + 'errorCode' => 'InvalidStationParameter', + 'errorMessage' => 'The specified Station is invalid.', + 'description' => 'The specified node parameter is invalid.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'errorCode' => 'InvalidTaskId.Malformed', + 'errorMessage' => 'The specified taskId is invalid.', + 'description' => 'The specified task ID is invalid.', + ], + [ + 'errorCode' => 'InvalidParameters.InvalidUrls', + 'errorMessage' => 'The specified urls are invalid.', + 'description' => 'The requested URL parameter is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"Quota\\": \\"100000\\",\\n \\"Usage\\": \\"10\\"\\n}","type":"json"}]', + 'title' => 'GetPurgeQuota', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-10T01:55:18.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetPurgeQuota', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetPurgeQuota', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'GetRealtimeDeliveryField' => [ + 'summary' => 'Queries the fields in real-time logs based on the log category.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239152', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'BusinessType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'* **dcdn_log_access_l1** (default): access logs.'."\n" + .'* **dcdn_log_er**: Edge Routine logs.'."\n" + .'* **dcdn_log_waf**: firewall logs.'."\n" + .'* **dcdn_log_ipa**: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'dcdn_log_er', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247B78', + ], + 'FieldContent' => [ + 'description' => 'The fields returned.'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'SortOrder' => [ + 'type' => 'integer', + 'format' => 'int64', + 'description' => 'The sequence number of the fields.'."\n", + 'example' => '1', + 'title' => '', + ], + 'FieldList' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'FieldName' => [ + 'type' => 'string', + 'example' => 'ClientIp', + 'description' => 'The field name.'."\n", + 'title' => '', + ], + 'Description' => [ + 'type' => 'string', + 'example' => 'IP address of the client.', + 'description' => 'The description of the field in English.'."\n", + 'title' => '', + ], + 'DescriptionCn' => [ + 'type' => 'string', + 'example' => '客户端的IP地址', + 'description' => 'The description of the field in Chinese.'."\n", + 'title' => '', + ], + 'Category' => [ + 'type' => 'string', + 'description' => 'The category of the field.'."\n", + 'example' => 'Client', + 'title' => '', + ], + 'DataType' => [ + 'type' => 'string', + 'example' => 'String', + 'description' => 'The data type of the field.'."\n", + 'title' => '', + ], + 'SortOrder' => [ + 'type' => 'integer', + 'format' => 'int64', + 'description' => 'The sequence number of the field.'."\n", + 'example' => '1', + 'title' => '', + ], + 'IsDefault' => [ + 'type' => 'boolean', + 'description' => 'Indicates whether the field is available by default.'."\n", + 'example' => 'true', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'The fields.'."\n", + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'The information about the returned fields.'."\n", + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247B78\\",\\n \\"FieldContent\\": {\\n \\"key\\": {\\n \\"SortOrder\\": 1,\\n \\"FieldList\\": [\\n {\\n \\"FieldName\\": \\"ClientIp\\",\\n \\"Description\\": \\"IP address of the client.\\",\\n \\"DescriptionCn\\": \\"客户端的IP地址\\",\\n \\"Category\\": \\"Client\\",\\n \\"DataType\\": \\"String\\",\\n \\"SortOrder\\": 1,\\n \\"IsDefault\\": true\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => 'GetRealtimeDeliveryField', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-27T05:57:03.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRealtimeDeliveryField', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetRealtimeDeliveryField', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'read', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetRecord' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239656', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVFT29S', + ], + ], + 'parameters' => [ + [ + 'name' => 'RecordId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the record, which can be obtained by calling [ListRecords](~~2850265~~). ', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => 'F32C57AA-7BF8-49AE-A2CC-9F42390F5A19', + ], + 'RecordModel' => [ + 'description' => 'The queried single record information.', + 'type' => 'object', + 'properties' => [ + 'BizName' => [ + 'description' => 'The business scenario for record acceleration. Valid values: '."\n" + ."\n" + .'- **image_video**: Image and video. '."\n" + .'- **api**: API. '."\n" + .'- **web**: Web page. ', + 'type' => 'string', + 'example' => 'image_video', + 'title' => '', + ], + 'Data' => [ + 'description' => 'The DNS information of the record. The content returned in this field varies depending on the record type.', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The record value or partial content. It has different meanings depending on the record type:'."\n" + ."\n" + .'- **A/AAAA**: The IP address to which the record points. When multiple IP addresses are specified, they must be separated by commas (","). At least one IPv4 address is required.'."\n" + .'- **CNAME**: The target domain name to which the record points.'."\n" + .'- **NS**: The name server designated for the domain.'."\n" + .'- **MX**: A valid domain name of the target mail server.'."\n" + .'- **TXT**: A valid text string.'."\n" + .'- **CAA**: A valid domain name of the certification authority.'."\n" + .'- **SRV**: A valid domain name of the target host.'."\n" + .'- **URI**: A valid URI string.', + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Priority' => [ + 'description' => 'The priority of the record. The range is **0~65535**. A smaller numeric value indicates a higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Flag' => [ + 'description' => 'The flag of the record. For CAA records, the flag indicates priority and processing behavior, with a range of **0~255**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '128', + 'title' => '', + ], + 'Tags' => [ + 'type' => 'object', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Weight' => [ + 'description' => 'The weight of the record, with a range of **0~65535**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Port' => [ + 'description' => 'The port of the record. The range is **0~65535**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8707', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type (for CERT records) or public key type (for SSHFP records).', + 'type' => 'integer', + 'format' => 'int32', + 'example' => 'RSA', + 'title' => '', + ], + 'KeyTag' => [ + 'description' => 'The public key identity of the record, with a range of **0~65535**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Algorithm' => [ + 'description' => 'The encryption algorithm used by the record. The range is **0~255**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The public key certificate information of the record.', + 'type' => 'string', + 'example' => 'dGVzdGFkYWxrcw==', + 'title' => '', + ], + 'Usage' => [ + 'description' => 'The usage identity of the record. The value range is **0~255**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Selector' => [ + 'description' => 'The type of certificate or public key used by the record. The range is **0~255**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'MatchingType' => [ + 'description' => 'The algorithm policy used by the record for matching or authenticating certificates. The range is **0~255**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Fingerprint' => [ + 'description' => 'The public key fingerprint value of the record.', + 'type' => 'string', + 'example' => 'abcdef1234567890', + 'title' => '', + ], + 'Tag' => [ + 'description' => 'The tag of the record. For CAA records, the tag indicates its specific type and purpose.', + 'type' => 'string', + 'example' => 'issue', + 'title' => '', + ], + ], + 'example' => '{"value":"1.1.1.1"}', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The creation time of the record, formatted according to ISO8601 notation in UTC, with the format yyyy-MM-ddTHH:mm:ssZ.', + 'type' => 'string', + 'example' => '2023-03-10T13:30:39Z', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The update time of the record, in ISO8601 notation and expressed in UTC, with the format yyyy-MM-ddTHH:mm:ssZ. ', + 'type' => 'string', + 'example' => '2023-01-27T02:26:22Z', + 'title' => '', + ], + 'Proxied' => [ + 'description' => 'Indicates whether proxy acceleration is enabled for the record. Only CNAME records and A/AAAA records support proxy acceleration. Valid values:'."\n" + ."\n" + .'- **true**: Proxy acceleration is enabled.'."\n" + .'- **false**: Proxy acceleration is disabled.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'RecordId' => [ + 'description' => 'The record ID. ', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'The record name.', + 'type' => 'string', + 'example' => 'a.example.com', + 'title' => '', + ], + 'RecordType' => [ + 'description' => 'The DNS record type, such as **A/AAAA, CNAME, TXT**, etc.', + 'type' => 'string', + 'example' => 'A/AAAA', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The site name.', + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Ttl' => [ + 'description' => 'The time-to-live (TTL) of the record, in seconds. When the value is 1, it indicates that the TTL is set automatically.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'RecordSourceType' => [ + 'description' => 'The origin type of the CNAME record. Valid values:'."\n" + ."\n" + .'- **OSS**: OSS origin.'."\n" + .'- **S3**: S3 origin.'."\n" + .'- **LB**: Server Load Balancer origin.'."\n" + .'- **OP**: Origin address pool.'."\n" + .'- **Domain**: Standard domain name origin.'."\n" + ."\n" + .'If this parameter is not specified or is empty, the default value is Domain, which indicates a standard domain name origin.', + 'type' => 'string', + 'example' => 'OSS ', + 'title' => '', + ], + 'RecordCname' => [ + 'description' => 'The canonical name (CNAME) of the record. ', + 'type' => 'string', + 'example' => 'a.example.com.cnamezone.com', + 'title' => '', + ], + 'Comment' => [ + 'description' => 'The comment for the record.', + 'type' => 'string', + 'example' => '这是一个备注信息', + 'title' => '', + ], + 'AuthConf' => [ + 'description' => 'The origin authentication information for the CNAME record. ', + 'type' => 'object', + 'properties' => [ + 'AuthType' => [ + 'description' => 'The authentication type of the origin. Valid values: '."\n" + .'- **public**: public-read. Select this value when the origin type is OSS or S3 and the origin is publicly readable. '."\n" + .'- **private**: private. Select this value when the origin type is S3 and the origin is privately readable. '."\n" + .'- **private_same_account**: private read within the same account. Select this value when the origin type is OSS, the origin is privately readable, and both the origin and the current service belong to the same Alibaba Cloud account. '."\n" + .'- **private_cross_account**: private read across accounts. Select this value when the origin type is OSS, the origin is privately readable, and the origin belongs to a different Alibaba Cloud account. ', + 'type' => 'string', + 'example' => 'public', + 'title' => '', + ], + 'SecretKey' => [ + 'description' => 'The AccessKey of the account to which the origin belongs. ', + 'type' => 'string', + 'example' => 'u0Nkg5gBK*******QF5wvKMM504JUHt', + 'title' => '', + ], + 'AccessKey' => [ + 'description' => 'The AccessKey of the Alibaba Cloud account to which the origin belongs. ', + 'type' => 'string', + 'example' => 'VIxuvJSA2S03f******kp208dy5w7', + 'title' => '', + ], + 'Version' => [ + 'description' => 'The signature algorithm version. The following versions are supported: '."\n" + .'- **v2** '."\n" + .'- **v4** '."\n" + ."\n" + .'If not specified, the default is v4. ', + 'type' => 'string', + 'example' => 'v2', + 'title' => '', + ], + 'Region' => [ + 'description' => 'The area to which the origin belongs. You can obtain the region information from the official S3 website. ', + 'type' => 'string', + 'example' => 'us-east-1', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'HostPolicy' => [ + 'description' => 'The origin fetch HOST policy. This takes effect only when the record type is CNAME and defines the policy for including the HOST header during origin fetch. Two modes are available: '."\n" + ."\n" + .'- **follow_hostname**: Follow the host record. '."\n" + .'- **follow_origin_domain**: Follow the Origin Domain Name. ', + 'type' => 'string', + 'example' => 'follow_origin_domain', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Record.NotFound', + 'errorMessage' => 'The record does not exist. Check your configurations and try again.', + 'description' => 'The record does not exist. Check your configurations and try again.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'Query DNS record details ', + 'summary' => 'Obtain the detailed configuration information of a single DNS record, including the record value, priority, origin fetch authentication configuration (exclusive to CNAME records), and more.', + 'changeSet' => [ + [ + 'createdAt' => '2025-08-21T09:39:51.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-09-23T08:53:22.000Z', + 'description' => 'Error codes changed, Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRecord', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F32C57AA-7BF8-49AE-A2CC-9F42390F5A19\\",\\n \\"RecordModel\\": {\\n \\"BizName\\": \\"image_video\\",\\n \\"Data\\": {\\n \\"Value\\": \\"example.com\\",\\n \\"Priority\\": 10,\\n \\"Flag\\": 128,\\n \\"Tags\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"Weight\\": 0,\\n \\"Port\\": 8707,\\n \\"Type\\": 0,\\n \\"KeyTag\\": 1,\\n \\"Algorithm\\": 1,\\n \\"Certificate\\": \\"dGVzdGFkYWxrcw==\\",\\n \\"Usage\\": 0,\\n \\"Selector\\": 1,\\n \\"MatchingType\\": 1,\\n \\"Fingerprint\\": \\"abcdef1234567890\\",\\n \\"Tag\\": \\"issue\\"\\n },\\n \\"CreateTime\\": \\"2023-03-10T13:30:39Z\\",\\n \\"UpdateTime\\": \\"2023-01-27T02:26:22Z\\",\\n \\"Proxied\\": true,\\n \\"RecordId\\": 1234567890123,\\n \\"RecordName\\": \\"a.example.com\\",\\n \\"RecordType\\": \\"A/AAAA\\",\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\",\\n \\"Ttl\\": 20,\\n \\"RecordSourceType\\": \\"OSS \\",\\n \\"RecordCname\\": \\"a.example.com.cnamezone.com\\",\\n \\"Comment\\": \\"这是一个备注信息\\",\\n \\"AuthConf\\": {\\n \\"AuthType\\": \\"public\\",\\n \\"SecretKey\\": \\"u0Nkg5gBK*******QF5wvKMM504JUHt\\",\\n \\"AccessKey\\": \\"VIxuvJSA2S03f******kp208dy5w7\\",\\n \\"Version\\": \\"v2\\",\\n \\"Region\\": \\"us-east-1\\"\\n },\\n \\"HostPolicy\\": \\"follow_origin_domain\\"\\n }\\n}","type":"json"}]', + ], + 'GetRedirectRule' => [ + 'summary' => 'Query Redirect Rule Details', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257659', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '34003500310****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID. It can be obtained by calling the [ListRedirectRules](~~ListRedirectRules~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type. Possible values:'."\n" + .'- global: Global configuration.'."\n" + .'- rule: Rule-based configuration.', + 'type' => 'string', + 'example' => 'rule', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the site configuration. For sites with version management enabled, this parameter can specify the effective version of the site, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, e.g., (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'Type' => [ + 'description' => 'Redirect type. Possible values:'."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.', + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + 'TargetUrl' => [ + 'description' => 'Target URL after redirection.', + 'type' => 'string', + 'example' => 'http://www.exapmle.com/index.html', + 'title' => '', + ], + 'StatusCode' => [ + 'description' => 'Response status code used by the node to respond to the client with the redirect address. Possible values:'."\n" + .'- 301'."\n" + .'- 302'."\n" + .'- 303'."\n" + .'- 307'."\n" + .'- 308', + 'type' => 'string', + 'example' => '301', + 'title' => '', + ], + 'ReserveQueryString' => [ + 'description' => 'Preserve query string. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"ConfigId\\": 0,\\n \\"ConfigType\\": \\"rule\\",\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"Type\\": \\"static\\",\\n \\"TargetUrl\\": \\"http://www.exapmle.com/index.html\\",\\n \\"StatusCode\\": \\"301\\",\\n \\"ReserveQueryString\\": \\"on\\"\\n}","type":"json"}]', + 'title' => 'Query Redirect Configuration Details', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRedirectRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetRedirectRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetRewriteUrlRule' => [ + 'summary' => 'Query details of the rewrite URL rule', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257643', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID, which can be obtained by calling the [ListRewriteUrlRules](~~2867480~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type. Possible values:'."\n" + .'- global: Global configuration;'."\n" + .'- rule: Rule-based configuration;', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the site, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority for execution.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter does not need to be set when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter does not need to be set when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, e.g., (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter does not need to be set when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'RewriteUriType' => [ + 'description' => 'URI rewrite type. Possible values:'."\n" + ."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.', + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + 'Uri' => [ + 'description' => 'The target URI after rewriting.', + 'type' => 'string', + 'example' => '/image/example.jpg', + 'title' => '', + ], + 'RewriteQueryStringType' => [ + 'description' => 'Query string rewrite type. Possible values:'."\n" + ."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.', + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + 'QueryString' => [ + 'description' => 'The rewritten query string.', + 'type' => 'string', + 'example' => 'example=123', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"ConfigId\\": 0,\\n \\"ConfigType\\": \\"global\\",\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"RewriteUriType\\": \\"static\\",\\n \\"Uri\\": \\"/image/example.jpg\\",\\n \\"RewriteQueryStringType\\": \\"static\\",\\n \\"QueryString\\": \\"example=123\\"\\n}","type":"json"}]', + 'title' => 'Query Rewrite URL Configuration', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRewriteUrlRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetRewriteUrlRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetRoutine' => [ + 'summary' => 'Query all configuration information of the Edge Routine, including the code version list, environment configuration list, associated domain configuration list, and associated Ingress configuration list.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239274', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'Envs' => [ + 'description' => 'The information about the environments.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the environment.'."\n", + 'type' => 'object', + 'properties' => [ + 'Env' => [ + 'description' => 'The environment type.'."\n", + 'type' => 'string', + 'example' => 'production', + 'title' => '', + ], + 'CodeDeploy' => [ + 'description' => 'Canary release version deployment information.', + 'type' => 'object', + 'properties' => [ + 'DeployId' => [ + 'description' => 'Deployment record ID.', + 'type' => 'string', + 'example' => '589267', + 'title' => '', + ], + 'CreationTime' => [ + 'description' => 'Deployment creation time.', + 'type' => 'string', + 'example' => '2023-05-11T09:21:36Z', + 'title' => '', + ], + 'Strategy' => [ + 'enumValueTitles' => [ + 'percentage' => 'percentage ', + ], + 'description' => 'Deployment policy. Default is percentage. ', + 'type' => 'string', + 'example' => 'percentage', + 'title' => '', + ], + 'CodeVersions' => [ + 'description' => 'List of deployed code version numbers.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information of a single deployed code version.', + 'type' => 'object', + 'properties' => [ + 'CodeVersion' => [ + 'description' => 'Version number of the code. ', + 'type' => 'string', + 'example' => '1746583193971399525', + 'title' => '', + ], + 'Percentage' => [ + 'description' => 'Grayscale deployment percentage of the code version. ', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + 'title' => '', + ], + 'Description' => [ + 'description' => 'Description of the code version. ', + 'type' => 'string', + 'example' => 'code version 1.', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'Creation Time of the code version. ', + 'type' => 'string', + 'example' => '2025-07-23T09:01:40Z', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the routine was created.'."\n", + 'type' => 'string', + 'example' => '2024-03-11T01:23:21Z'."\n", + 'title' => '', + ], + 'Description' => [ + 'description' => 'The description of the routine.'."\n", + 'type' => 'string', + 'example' => 'ZWRpdCByb3V0aW5lIGNvbmZpZyBkZXNjcmlwdGlvbg', + 'title' => '', + ], + 'DefaultRelatedRecord' => [ + 'description' => 'The default record name to access.'."\n", + 'type' => 'string', + 'example' => 'routine1.example.com', + 'title' => '', + ], + 'HasAssets' => [ + 'description' => 'Indicates whether the Routine has the Assets mark. ', + 'type' => 'boolean', + 'example' => 'false', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Parameter verification failed. Check your configurations and try again.', + 'description' => 'Parameter verification failed. Check your configurations and try again.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'Query Edge Routine configuration ', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-04T05:48:49.000Z', + 'description' => 'Request parameters changed, Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRoutine', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetRoutine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"Envs\\": [\\n {\\n \\"Env\\": \\"production\\",\\n \\"CodeDeploy\\": {\\n \\"DeployId\\": \\"589267\\",\\n \\"CreationTime\\": \\"2023-05-11T09:21:36Z\\",\\n \\"Strategy\\": \\"percentage\\",\\n \\"CodeVersions\\": [\\n {\\n \\"CodeVersion\\": \\"1746583193971399525\\",\\n \\"Percentage\\": 100,\\n \\"Description\\": \\"code version 1.\\",\\n \\"CreateTime\\": \\"2025-07-23T09:01:40Z\\"\\n }\\n ]\\n }\\n }\\n ],\\n \\"CreateTime\\": \\"2024-03-11T01:23:21Z\\\\n\\",\\n \\"Description\\": \\"ZWRpdCByb3V0aW5lIGNvbmZpZyBkZXNjcmlwdGlvbg\\",\\n \\"DefaultRelatedRecord\\": \\"routine1.example.com\\",\\n \\"HasAssets\\": false\\n}","type":"json"}]', + ], + 'GetRoutineCodeVersion' => [ + 'summary' => 'Queries information about a code version of a routine.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239164', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + [ + 'name' => 'CodeVersion', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The code version.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '1710120201067203242', + 'title' => '', + ], + ], + ], + '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' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'CodeDescription' => [ + 'description' => 'The description of the code version.'."\n", + 'type' => 'string', + 'example' => 'test ver code desc'."\n", + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the version was created.'."\n", + 'type' => 'string', + 'example' => '2024-03-11T01:23:21Z'."\n", + 'title' => '', + ], + 'RoutineCode' => [ + 'description' => 'The code content.'."\n", + 'type' => 'string', + 'example' => 'PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPEVycm9yPgogIDxDb2RlPk5vU3VjaEtleTwvQ29kZT4KICA8TWVzc2FnZT5UaGUgc3BlY2lmaWVkIGtleSBkb2VzIG5vdCBleGlzdC48L01lc3NhZ2U', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'CodeVersionNumberExceedQuotaLimit', + 'errorMessage' => 'The maximum number of code versions in your plan has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + 'description' => 'The maximum number of code versions in your plan has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + ], + [ + 'errorCode' => 'RoutineUserServiceStatusHalt', + 'errorMessage' => 'Failed to update the configurations because you have overdue payments.', + 'description' => 'Failed to update the configurations because you have overdue payments.', + ], + [ + 'errorCode' => 'ParameterNotExist', + 'errorMessage' => 'The specified parameter does not exist. Check your configurations and try again.', + 'description' => 'The specified parameter does not exist. Check your configurations and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"CodeDescription\\": \\"test ver code desc\\\\n\\",\\n \\"CreateTime\\": \\"2024-03-11T01:23:21Z\\\\n\\",\\n \\"RoutineCode\\": \\"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPEVycm9yPgogIDxDb2RlPk5vU3VjaEtleTwvQ29kZT4KICA8TWVzc2FnZT5UaGUgc3BlY2lmaWVkIGtleSBkb2VzIG5vdCBleGlzdC48L01lc3NhZ2U\\"\\n}","type":"json"}]', + 'title' => 'GetRoutineCodeVersion', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetRoutineCodeVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetRoutineRoute' => [ + 'summary' => 'Queries the route configurations of a single edge function.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '266193', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the configuration. You can call the [ListSiteRoutes](~~2879631~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + ], + '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' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '352816******', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The configuration type to query. Valid values:'."\n" + ."\n" + .'* global: global configurations.'."\n" + .'* rule: queries rule configurations.'."\n", + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the website.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The order in which the rule is executed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RouteEnable' => [ + 'description' => 'The routing switch. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The rule content.'."\n", + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RouteName' => [ + 'description' => 'The route name.'."\n", + 'type' => 'string', + 'example' => 'test_route', + 'title' => '', + ], + 'RoutineName' => [ + 'description' => 'The function name.'."\n", + 'type' => 'string', + 'example' => 'test-routine1', + 'title' => '', + ], + 'Bypass' => [ + 'description' => 'Bypass mode. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Mode' => [ + 'description' => 'The configuration mode. Valid values: Valid values:'."\n" + ."\n" + .'* simple'."\n" + .'* custom'."\n", + 'type' => 'string', + 'example' => 'simple', + 'title' => '', + ], + 'Fallback' => [ + 'description' => 'The exception origin fetch switch. After you turn on this switch, if a function exception occurs, such as CPU usage exceeding the upper limit, requests are sent back to the origin. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"ConfigId\\": 0,\\n \\"ConfigType\\": \\"global\\",\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RouteEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RouteName\\": \\"test_route\\",\\n \\"RoutineName\\": \\"test-routine1\\",\\n \\"Bypass\\": \\"on\\",\\n \\"Mode\\": \\"simple\\",\\n \\"Fallback\\": \\"on\\"\\n}","type":"json"}]', + 'title' => 'GetRoutineRoute', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-25T05:35:34.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRoutineRoute', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetRoutineRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'GetRoutineStagingCodeUploadInfo' => [ + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238993', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + [ + 'name' => 'CodeDescription', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The code description.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'the description of code', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'CodeVersion' => [ + 'description' => 'The code version.'."\n", + 'type' => 'string', + 'example' => '1710120201067203242', + 'title' => '', + ], + 'OssPostConfig' => [ + 'description' => 'The configuration information that can be used to upload to OSS.'."\n", + 'type' => 'object', + 'example' => '{'."\n" + .' "Url": "http://oss_fake_bucket_url",'."\n" + .' "OSSAccessKeyId": "xxx",'."\n" + .' "key": "site_er_js/hello.1418586423220543.unstable.js",'."\n" + .' "callback": "xxx==",'."\n" + .' "x:codeDescription": "xxx=",'."\n" + .' "policy": "xxx",'."\n" + .' "Signature": "xxx="'."\n" + .'}', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'CodeVersionNumberExceedQuotaLimit', + 'errorMessage' => 'The maximum number of code versions in your plan has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + 'description' => 'The maximum number of code versions in your plan has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + ], + [ + 'errorCode' => 'RoutineUserServiceStatusHalt', + 'errorMessage' => 'Failed to update the configurations because you have overdue payments.', + 'description' => 'Failed to update the configurations because you have overdue payments.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'GetRoutineStagingCodeUploadInfo', + 'summary' => 'Obtains the release information about the routine code that is released to the staging environment. This information can be used to upload the test code to Object Storage Service (OSS).', + 'description' => '* Every time the code of a routine is released to the staging environment, a version number is generated. Such code is for tests only.'."\n" + .'* A routine can retain a maximum of 10 code versions. If the number of versions reaches the limit, you must call the DeleteRoutineCodeRevision operation to delete unwanted versions.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-12-04T05:48:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetRoutineStagingCodeUploadInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"CodeVersion\\": \\"1710120201067203242\\",\\n \\"OssPostConfig\\": {\\n \\"Url\\": \\"http://oss_fake_bucket_url\\",\\n \\"OSSAccessKeyId\\": \\"xxx\\",\\n \\"key\\": \\"site_er_js/hello.1418586423220543.unstable.js\\",\\n \\"callback\\": \\"xxx==\\",\\n \\"x:codeDescription\\": \\"xxx=\\",\\n \\"policy\\": \\"xxx\\",\\n \\"Signature\\": \\"xxx=\\"\\n }\\n}","type":"json"}]', + 'operationType' => 'read', + ], + 'GetScheduledPreloadJob' => [ + 'summary' => 'Queries a specified scheduled prefetch task based on the task ID.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238950', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scheduled prefetch task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '665d3af3621bccf3fe29e1a4', + 'title' => '', + ], + ], + ], + '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' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'AliUid' => [ + 'title' => '', + 'description' => 'The ID of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '15685865xxx14622', + ], + 'CreatedAt' => [ + 'title' => '', + 'description' => 'The time when the task was created.'."\n", + 'type' => 'string', + 'example' => '2024-06-02T02:23:26Z', + ], + 'Domains' => [ + 'title' => '', + 'description' => 'The domain names to be prefetched.'."\n", + 'type' => 'string', + 'example' => 'testurl.com', + ], + 'ErrorInfo' => [ + 'title' => '', + 'description' => 'The error message that is returned.'."\n", + 'type' => 'string', + 'example' => 'invalid domain:test.com', + ], + 'FailedFileOss' => [ + 'title' => '', + 'description' => 'The URL of the OSS object that stores a list of URLs that failed the conditional check for prefetching.'."\n", + 'type' => 'string', + 'example' => 'https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7', + ], + 'FileId' => [ + 'title' => '', + 'description' => 'The ID of the URL list file, which can be used during downloads.'."\n", + 'type' => 'string', + 'example' => '665d3b48621bccf3fe29e1a7', + ], + 'Id' => [ + 'title' => '', + 'description' => 'The ID of the prefetch task.'."\n", + 'type' => 'string', + 'example' => '665d3af3621bccf3fe29e1a4', + ], + 'InsertWay' => [ + 'title' => '', + 'description' => 'The method to submit the URLs to be prefetched.'."\n", + 'type' => 'string', + 'example' => 'oss', + 'enum' => [ + 'file', + 'url', + ], + ], + 'Name' => [ + 'title' => '', + 'description' => 'The task name.'."\n", + 'type' => 'string', + 'example' => 'example', + ], + 'SiteId' => [ + 'title' => '', + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '190007158391808', + ], + 'TaskSubmitted' => [ + 'title' => '', + 'description' => 'The number of submitted prefetch tasks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TaskType' => [ + 'title' => '', + 'description' => 'The task type. Valid values: refresh and preload.'."\n", + 'type' => 'string', + 'example' => 'preload', + 'enum' => [ + 'preload', + 'refresh', + 'path', + ], + ], + 'UrlCount' => [ + 'title' => '', + 'description' => 'The total number of URLs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'UrlSubmitted' => [ + 'title' => '', + 'description' => 'The number of submitted URLs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidJob.JobCountOfSiteFull', + 'errorMessage' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectId', + 'errorMessage' => 'Invalid task ID or execution plan ID.', + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'errorCode' => 'MissingOssUrl', + 'errorMessage' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'errorCode' => 'MissingUrlList', + 'errorMessage' => 'Enter the URLs you want to prefetch.', + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUid.PermissionDenied', + 'errorMessage' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + ], + [ + [ + 'errorCode' => 'InvalidJob.NotFound', + 'errorMessage' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'errorCode' => 'LogNotFound', + 'errorMessage' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'errorCode' => 'InvalidExecution.NotFound', + 'errorMessage' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"AliUid\\": \\"15685865xxx14622\\",\\n \\"CreatedAt\\": \\"2024-06-02T02:23:26Z\\",\\n \\"Domains\\": \\"testurl.com\\",\\n \\"ErrorInfo\\": \\"invalid domain:test.com\\",\\n \\"FailedFileOss\\": \\"https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7\\",\\n \\"FileId\\": \\"665d3b48621bccf3fe29e1a7\\",\\n \\"Id\\": \\"665d3af3621bccf3fe29e1a4\\",\\n \\"InsertWay\\": \\"oss\\",\\n \\"Name\\": \\"example\\",\\n \\"SiteId\\": 190007158391808,\\n \\"TaskSubmitted\\": 1,\\n \\"TaskType\\": \\"preload\\",\\n \\"UrlCount\\": 2,\\n \\"UrlSubmitted\\": 1\\n}","type":"json"}]', + 'title' => 'GetScheduledPreloadJob', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetScheduledPreloadJob', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetScheduledPreloadJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetSeoBypass' => [ + 'summary' => 'Queries the configuration for search engine crawler of a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257451', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + ], + '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' => '15C66C7B-671A-4297-9187-2C4477247B78', + ], + 'Enable' => [ + 'description' => 'The status of the feature. Valid values:'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247B78\\",\\n \\"Enable\\": \\"on\\"\\n}","type":"json"}]', + 'title' => 'GetSeoBypass', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSeoBypass', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSeoBypass', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetSite' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239631', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', + ], + 'SiteModel' => [ + 'description' => 'The queried website information.'."\n", + 'type' => 'object', + 'properties' => [ + 'AccessType' => [ + 'description' => 'The DNS setup option for the website. Valid values:'."\n" + ."\n" + .'* **NS**'."\n" + .'* **CNAME**'."\n", + 'type' => 'string', + 'example' => 'NS', + 'title' => '', + ], + 'CnameZone' => [ + 'description' => 'The CNAME of the website domain. If you use CNAME setup when you add your website to ESA, the value is the CNAME that you configured then.'."\n", + 'type' => 'string', + 'example' => 'example.cname.com', + 'title' => '', + ], + 'Coverage' => [ + 'description' => 'The service location. Valid values:'."\n" + ."\n" + .'* **domestic**: the Chinese mainland.'."\n" + .'* **global**: global.'."\n" + .'* **overseas**: outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => 'domestic', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the WEBsite was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format and is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-12-24T02:01:11Z', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the WEBsite was updated. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format and is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-12-24T02:01:11Z', + 'title' => '', + ], + 'InstanceId' => [ + 'description' => 'The plan ID.'."\n", + 'type' => 'string', + 'example' => 'cas-merge-q6h0bv', + 'title' => '', + ], + 'NameServerList' => [ + 'description' => 'The nameservers assigned to the website domain. They are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => 'male1-1.ialicdn.com,female1-1.ialicdn.com', + 'title' => '', + ], + 'PlanName' => [ + 'description' => 'The plan name.'."\n", + 'type' => 'string', + 'example' => 'plan-168777532****', + 'title' => '', + ], + 'PlanSpecName' => [ + 'description' => 'The specification of the plan associated with the website.'."\n", + 'type' => 'string', + 'example' => 'normal', + 'title' => '', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of your Alibaba Cloud resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-aek26g6i6se****', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The website status. Valid values:'."\n" + ."\n" + .'* **pending**: The website is to be configured.'."\n" + .'* **active**: The website is active.'."\n" + .'* **offline**: The website is suspended.'."\n" + .'* **moved**: The website has been added and verified by another Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => 'pending', + 'title' => '', + ], + 'Tags' => [ + 'description' => 'The tags of the website.'."\n", + 'type' => 'object', + 'example' => '{"tag1":"value1"}', + 'title' => '', + ], + 'VerifyCode' => [ + 'description' => 'The code that is used to verify the website domain ownership. As part of the verification TXT record, this parameter is returned for websites that use CNAME setup.'."\n", + 'type' => 'string', + 'example' => 'verify_d516cb3740f81f0cef77d162edd1****', + 'title' => '', + ], + 'VanityNSList' => [ + 'description' => 'The information about custom nameservers of the website domain. The key is a custom nameserver name, and the value is the IP address of the custom nameserver. Multiple IP addresses are separated by commas (,).'."\n", + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'string', + 'example' => 'ns1.example.com', + 'description' => 'The custom nameserver name.'."\n", + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'VersionManagement' => [ + 'description' => 'The status of version management. If true is returned, version management is enabled for the website.'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'OfflineReason' => [ + 'description' => 'Reason for site deactivation. Valid values:'."\n" + ."\n" + .'- **expiration_arrears**: Subscription plan expired or account has an overdue payment.'."\n" + .'- **internally_disabled**: Disabled internally by the system.'."\n" + .'- **missing_icp**: Domain name lacks an ICP filing.'."\n" + .'- **content_violation**: Content violation.'."\n" + .'- **proactively_disabled**: You manually disabled the site or usage reached the cap you set.', + 'type' => 'string', + 'example' => 'expiration_ arrears', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => 'Response result of the request.', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Query information of a single site', + 'summary' => 'Query the information of a single site by site ID.', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-18T05:59:13.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-09-18T08:21:56.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSite', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSite', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\",\\n \\"SiteModel\\": {\\n \\"AccessType\\": \\"NS\\",\\n \\"CnameZone\\": \\"example.cname.com\\",\\n \\"Coverage\\": \\"domestic\\",\\n \\"CreateTime\\": \\"2023-12-24T02:01:11Z\\",\\n \\"UpdateTime\\": \\"2023-12-24T02:01:11Z\\",\\n \\"InstanceId\\": \\"cas-merge-q6h0bv\\",\\n \\"NameServerList\\": \\"male1-1.ialicdn.com,female1-1.ialicdn.com\\",\\n \\"PlanName\\": \\"plan-168777532****\\",\\n \\"PlanSpecName\\": \\"normal\\",\\n \\"ResourceGroupId\\": \\"rg-aek26g6i6se****\\",\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\",\\n \\"Status\\": \\"pending\\",\\n \\"Tags\\": {\\n \\"tag1\\": \\"value1\\"\\n },\\n \\"VerifyCode\\": \\"verify_d516cb3740f81f0cef77d162edd1****\\",\\n \\"VanityNSList\\": {\\n \\"key\\": \\"ns1.example.com\\"\\n },\\n \\"VersionManagement\\": true,\\n \\"OfflineReason\\": \\"expiration_ arrears\\"\\n }\\n}","type":"json"}]', + ], + 'GetSiteCurrentNS' => [ + 'summary' => 'Queries the nameservers configured for a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239622', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. It can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NSList' => [ + 'description' => 'The nameservers of the website.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The nameserver name.'."\n", + 'type' => 'string', + 'example' => 'ns1.example.com', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '2430E05E-1340-5773-B5E1-B743929F46F2', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.SiteName', + 'errorMessage' => 'Invalid website name. Specify a valid name that contains letters and digits and does not contain special characters.', + 'description' => 'Invalid website name. Specify a valid name that contains letters and digits and does not contain special characters.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NSList\\": [\\n \\"ns1.example.com\\"\\n ],\\n \\"RequestId\\": \\"2430E05E-1340-5773-B5E1-B743929F46F2\\"\\n}","type":"json"}]', + 'title' => 'GetSiteCurrentNS', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T08:21:56.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteCurrentNS', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSiteCurrentNS', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetSiteCustomLog' => [ + 'summary' => 'Queries the configuration of custom log fields for a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239137', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '11223***', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '6befa4aa-2a94-4f51-a245-295787192d2c', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '167026711***', + 'title' => '', + ], + 'ConfigId' => [ + 'description' => 'The ID of the custom log field configuration.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '6befa4aa-2a94-4f51-a245-295787192d2c', + 'title' => '', + ], + 'LogCustomField' => [ + 'description' => 'The custom fields.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestHeaders' => [ + 'description' => 'The request header fields.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The request header.'."\n", + 'type' => 'string', + 'example' => 'x-acs-request-id', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ResponseHeaders' => [ + 'description' => 'The response header fields.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The response header.'."\n", + 'type' => 'string', + 'example' => 'X_Swift_Error', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Cookies' => [ + 'description' => 'The cookie fields.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The cookie.'."\n", + 'type' => 'string', + 'example' => 'sessionId', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'IsExist' => [ + 'description' => 'Indicates whether the custom configuration exists.'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6befa4aa-2a94-4f51-a245-295787192d2c\\",\\n \\"SiteId\\": 0,\\n \\"ConfigId\\": 0,\\n \\"LogCustomField\\": {\\n \\"RequestHeaders\\": [\\n \\"x-acs-request-id\\"\\n ],\\n \\"ResponseHeaders\\": [\\n \\"X_Swift_Error\\"\\n ],\\n \\"Cookies\\": [\\n \\"sessionId\\"\\n ]\\n },\\n \\"IsExist\\": true\\n}","type":"json"}]', + 'title' => 'GetSiteCustomLog', + 'description' => '* **Description**: You can call this operation to query the configuration of custom log fields for a website, including custom fields in request headers, response headers, and cookies.'."\n" + .'* **Scenarios**: You can call this operation in scenarios where you need to obtain specific HTTP headers or cookie information for log analysis.'."\n" + .'* ****'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-09-27T05:57:03.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteCustomLog', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetSiteCustomLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetSiteDeliveryTask' => [ + 'summary' => 'Queries a real-time log delivery task.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239221', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'TaskName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cdn-test-task', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123456***', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + ], + 'TaskName' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'cdn-test-task', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'test.***.com', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****', + 'title' => '', + ], + 'DiscardRate' => [ + 'description' => 'The discard rate.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0.0', + 'title' => '', + ], + 'DataCenter' => [ + 'description' => 'The data center. Valid values:'."\n" + ."\n" + .'1. cn: the Chinese mainland.'."\n" + .'2. sg: outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => 'cn', + 'title' => '', + ], + 'BusinessType' => [ + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'* dcdn_log_access_l1 (default): access logs.'."\n" + .'* dcdn_log_er: Edge Routine logs.'."\n" + .'* dcdn_log_waf: firewall logs.'."\n" + .'* dcdn_log_ipa: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'example' => 'dcdn_log_access_l1', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the delivery task.'."\n" + ."\n" + .'* **online**'."\n" + .'* **offline**'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + 'DeliveryType' => [ + 'description' => 'The destination of the delivery. Valid values:'."\n" + ."\n" + .'1. sls: Alibaba Cloud Simple Log Service (SLS).'."\n" + .'2. http: HTTP server.'."\n" + .'3. aws3: Amazon Simple Storage Service (S3).'."\n" + .'4. oss: Alibaba Cloud Object Storage Service (OSS).'."\n" + .'5. kafka: Kafka.'."\n" + .'6. aws3cmpt: S3-compatible storage service.'."\n", + 'type' => 'string', + 'example' => 'sls', + 'title' => '', + ], + 'FieldList' => [ + 'description' => 'The log fields.'."\n", + 'type' => 'string', + 'example' => 'Client,UserAgent', + 'title' => '', + ], + 'FilterRules' => [ + 'description' => 'The filtering rules.'."\n", + 'type' => 'string', + 'example' => '[]', + 'title' => '', + ], + 'SinkConfig' => [ + 'description' => 'The delivery configuration.'."\n", + 'type' => 'any', + 'example' => '{\'Region\': \'cn-hangzhou\', \'Endpoint\': \'https://***.oss-cn-hangzhou.aliyuncs.com\', \'BucketPath\': \'hjy-test002/online-logs\'}', + 'title' => '', + ], + 'RawRule' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'FilterVer' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\",\\n \\"TaskName\\": \\"cdn-test-task\\",\\n \\"SiteName\\": \\"test.***.com\\",\\n \\"SiteId\\": 0,\\n \\"DiscardRate\\": 0,\\n \\"DataCenter\\": \\"cn\\",\\n \\"BusinessType\\": \\"dcdn_log_access_l1\\",\\n \\"Status\\": \\"online\\",\\n \\"DeliveryType\\": \\"sls\\",\\n \\"FieldList\\": \\"Client,UserAgent\\",\\n \\"FilterRules\\": \\"[]\\",\\n \\"SinkConfig\\": \\"{\'Region\': \'cn-hangzhou\', \'Endpoint\': \'https://***.oss-cn-hangzhou.aliyuncs.com\', \'BucketPath\': \'hjy-test002/online-logs\'}\\",\\n \\"RawRule\\": \\"\\",\\n \\"FilterVer\\": \\"\\"\\n}","type":"json"}]', + 'title' => 'GetSiteDeliveryTask', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-24T01:43:10.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-09-27T05:57:03.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteDeliveryTask', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetSiteDeliveryTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'GetSiteLogDeliveryQuota' => [ + 'summary' => 'Queries the remaining quota for delivering a specific category of real-time logs in a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239188', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'BusinessType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'1. dcdn_log_access_l1 (default): access logs.'."\n" + .'2. dcdn_log_er: Edge Routine logs.'."\n" + .'3. dcdn_log_waf: firewall logs.'."\n" + .'4. dcdn_log_ipa: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'dcdn_log_access_l1', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '4C14840EF0EAAB6D97CDE0C5F6554ACE', + ], + 'FreeQuota' => [ + 'description' => 'The remaining quota.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + 'title' => '', + ], + 'BusinessType' => [ + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'1. dcdn_log_access_l1 (default): access logs.'."\n" + .'2. dcdn_log_er: Edge Routine logs.'."\n" + .'3. dcdn_log_waf: firewall logs.'."\n" + .'4. dcdn_log_ipa: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'example' => 'dcdn_log_access_l1', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C14840EF0EAAB6D97CDE0C5F6554ACE\\",\\n \\"FreeQuota\\": 3,\\n \\"BusinessType\\": \\"dcdn_log_access_l1\\",\\n \\"SiteId\\": 0\\n}","type":"json"}]', + 'title' => 'GetSiteLogDeliveryQuota', + 'description' => 'You can call this operation to query the remaining quota for delivering a specific category of real-time logs in a website within an Alibaba Cloud account. This is essential for monitoring and managing your log delivery capacity to ensure that logs can be delivered to the destination and prevent data loss or latency caused by insufficient quota.'."\n" + ."\n" + .'**Take note of the following parameters:**'."\n" + ."\n" + .'* ``'."\n" + .'* `BusinessType` is required. You must specify a log category to obtain the corresponding quota information.'."\n" + .'* `SiteId` specifies the ID of a website, which must be a valid integer that corresponds to a website that you configured on Alibaba Cloud.'."\n" + ."\n" + .'**Response:**'."\n" + ."\n" + .'* If a request is successful, the system returns the remaining log delivery quota (`FreeQuota`), request ID (`RequestId`), website ID (`SiteId`), and log category (`BusinessType`). You can confirm and record the returned data.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-09-27T05:57:03.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteLogDeliveryQuota', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetSiteLogDeliveryQuota', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'read', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetSiteNameExclusive' => [ + 'summary' => 'Queries the site hold configuration of a website. After you enable site hold, other accounts cannot add your website domain or its subdomains to ESA.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257455', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + ], + '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' => '35C66C7B-671H-4297-9187-2C4477247A78', + ], + 'Enable' => [ + 'description' => 'Indicates whether site hold is enabled. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"35C66C7B-671H-4297-9187-2C4477247A78\\",\\n \\"Enable\\": \\"on\\"\\n}","type":"json"}]', + 'title' => 'GetSiteNameExclusive', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteNameExclusive', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSiteNameExclusive', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetSiteOriginClientCertificate' => [ + 'summary' => 'Obtain origin fetch client certificate information at the site granularity.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261746', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'babaabcd****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the certificate.', + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The certificate content.'."\n", + 'type' => 'string', + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + 'Result' => [ + 'description' => 'The certificate information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the certificate.', + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type.'."\n", + 'type' => 'string', + 'example' => 'upload', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-03-31 02:08:00', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-03-31 02:08:00', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'DigiCert', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The Subject Alternative Name (SAN) of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubkeyAlgorithm' => [ + 'description' => 'The public-key algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the certificate was created.'."\n", + 'type' => 'string', + 'example' => '2024-06-24 07:48:51', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the certificate was updated.'."\n", + 'type' => 'string', + 'example' => '2024-07-20 06:18:42', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.'."\n", + 'type' => 'string', + 'example' => 'babab022c5e9b27bf9c64d7f4b16****', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'title' => 'Obtain origin fetch client certificate information with site granularity', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteOriginClientCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSiteOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com\\",\\n \\"Status\\": \\"OK\\",\\n \\"Certificate\\": \\"-----BEGIN CERTIFICATE-----\\",\\n \\"Result\\": {\\n \\"Id\\": \\"babaabcd****\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Status\\": \\"OK\\",\\n \\"Type\\": \\"upload\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"NotBefore\\": \\"2023-03-31 02:08:00\\",\\n \\"NotAfter\\": \\"2024-03-31 02:08:00\\",\\n \\"Issuer\\": \\"DigiCert\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"PubkeyAlgorithm\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2024-06-24 07:48:51\\",\\n \\"UpdateTime\\": \\"2024-07-20 06:18:42\\",\\n \\"SerialNumber\\": \\"babab022c5e9b27bf9c64d7f4b16****\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****\\"\\n },\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\"\\n}","type":"json"}]', + ], + 'GetSitePause' => [ + 'summary' => 'Queries the ESA proxy configuration of a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257463', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + ], + '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' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F'."\n", + ], + 'Paused' => [ + 'description' => 'Indicates whether ESA is paused on the website. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'enumValueTitles' => [ + 'true' => 'true', + 'false' => 'false', + ], + 'example' => 'true', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\\\n\\",\\n \\"Paused\\": true\\n}","type":"json"}]', + 'title' => 'GetSitePause', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSitePause', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSitePause', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetSiteWafSettings' => [ + 'summary' => 'Get WAF Configuration for a Site', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239627', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4VDL9A', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Path', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies the configuration path. If not provided, all configurations will be retrieved.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'bot_management' => 'Simple Mode Bots', + 'add_security_headers' => 'Adding security response headers', + 'client_ip_identifier' => 'Client IP Definition', + 'add_bot_protection_headers' => 'Adding security request headers', + 'security_level' => 'Security Level', + ], + 'example' => 'bot_management', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Settings' => [ + 'title' => '站点WAF配置', + 'description' => 'Details of site WAF configuration.', + '$ref' => '#/components/schemas/WafSiteSettings', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Settings\\": {\\n \\"ClientIpIdentifier\\": {\\n \\"Headers\\": [\\n \\"X-Forwarded-For\\"\\n ],\\n \\"Mode\\": \\"headers\\"\\n },\\n \\"AddBotProtectionHeaders\\": {\\n \\"Enable\\": true\\n },\\n \\"AddSecurityHeaders\\": {\\n \\"Enable\\": true\\n },\\n \\"SecurityLevel\\": {\\n \\"Value\\": \\"low\\"\\n },\\n \\"BotManagement\\": {\\n \\"DefiniteBots\\": {\\n \\"Action\\": \\"captcha\\",\\n \\"Id\\": 20000001\\n },\\n \\"LikelyBots\\": {\\n \\"Action\\": \\"deny\\",\\n \\"Id\\": 20000002\\n },\\n \\"JSDetection\\": {\\n \\"Enable\\": true\\n },\\n \\"VerifiedBots\\": {\\n \\"Action\\": \\"bypass\\",\\n \\"Id\\": 20000003\\n },\\n \\"EffectOnStatic\\": {\\n \\"Enable\\": true\\n }\\n },\\n \\"BandwidthAbuseProtection\\": {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Id\\": 10000001\\n },\\n \\"DisableSecurityModule\\": {\\n \\"Status\\": \\"on\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => 'Get WAF Configuration for a Site', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-12T06:17:42.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-09-25T07:02:51.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T08:21:55.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteWafSettings', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetSiteWafSettings', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'GetTieredCache' => [ + 'summary' => 'Query Multi-level Cache Configuration for Site', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257309', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'CacheArchitectureMode' => [ + 'description' => 'Multi-level cache architecture mode. Possible values:'."\n" + .'- edge: Edge cache layer.'."\n" + .'- edge_smart: Edge cache layer + intelligent cache layer.'."\n" + .'- edge_regional: Edge cache layer + regional cache layer.'."\n" + .'- edge_regional_smart: Edge cache layer + regional cache layer + intelligent cache layer.', + 'type' => 'string', + 'enumValueTitles' => [ + 'edge_smart' => 'edge_smart', + 'edge' => 'edge', + 'edge_regional' => 'edge_regional', + 'edge_regional_smart' => 'edge_regional_smart', + ], + 'example' => 'edge', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"CacheArchitectureMode\\": \\"edge\\"\\n}","type":"json"}]', + 'title' => 'Query Multi-level Cache Configuration for Site', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetTieredCache', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetTieredCache', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'GetTransportLayerApplication' => [ + 'summary' => 'Query details of the transport layer application', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '245120', + 'abilityTreeNodes' => [ + 'FEATUREdcdn2E10XY', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Transport layer application ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ApplicationId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Number of forwarding rules contained in the transport layer acceleration application.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '170997271816****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'List of forwarding rules.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => 'EB635996-1FD6-5DFD-BA57-27A849599940', + ], + 'SiteId' => [ + 'description' => 'Details of the forwarding rule.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****', + 'title' => '', + ], + 'ApplicationId' => [ + 'description' => 'Specific value of the origin, which needs to match the type of the origin.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '17099311410****', + 'title' => '', + ], + 'RulesCount' => [ + 'description' => 'Forwarding rule protocol, with values:'."\n" + ."\n" + .'- TCP: TCP protocol.'."\n" + .'- UDP: UDP protocol.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Rules' => [ + 'description' => 'Edge port. Supports:'."\n" + ."\n" + .'- A single port, such as 80.'."\n" + .'- Port range, such as 81-85, representing ports 81, 82, 83, 84, 85.'."\n" + .'- Combination of ports and port ranges, separated by commas, for example 80,81-85,90, representing ports 80, 81, 82, 83, 84, 85, 90.', + 'type' => 'array', + 'items' => [ + 'description' => 'Origin type, supporting:'."\n" + .'- **ip**: IP.'."\n" + .'- **domain**: Domain name.'."\n" + .'- **OP**: Origin pool.'."\n" + .'- **LB**: Load balancer.', + 'type' => 'object', + 'properties' => [ + 'Source' => [ + 'description' => 'Origin port. Supports:'."\n" + ."\n" + .'- A single port, when the origin port is a single port, any valid edge port combination is supported.'."\n" + .'- Port range, only when the edge port is a port range, the origin port can be set as a port range and the size of the range must be consistent with the edge port. For example, if the edge port is 90-93, the origin port cannot be set to 81-85 because the origin port range is 5 and the edge port range is 3, which are inconsistent.', + 'type' => 'string', + 'example' => '1.1.1.1', + 'title' => '', + ], + 'Protocol' => [ + 'description' => 'Client IP pass-through protocol, supporting:'."\n" + .'- **off**: No pass-through.'."\n" + .'- **PPv1**: PROXY Protocol v1, supports client IP pass-through for TCP protocol.'."\n" + .'- **PPv2**: PROXY Protocol v2, supports client IP pass-through for TCP and UDP protocols.'."\n" + .'- **SPP**: Simple Proxy Protocol, supports client IP pass-through for UDP protocol.', + 'type' => 'string', + 'example' => 'TCP', + 'title' => '', + ], + 'EdgePort' => [ + 'description' => 'Comment information of the rule.', + 'type' => 'string', + 'example' => '80', + 'title' => '', + ], + 'SourceType' => [ + 'description' => 'Rule ID.', + 'type' => 'string', + 'example' => 'domain', + 'title' => '', + ], + 'SourcePort' => [ + 'description' => 'The CNAME domain corresponding to the transport layer acceleration application. This field is not empty only when the site is accessed via CNAME.', + 'type' => 'string', + 'example' => '80', + 'title' => '', + ], + 'ClientIPPassThroughMode' => [ + 'description' => 'The domain name of the transport layer application.', + 'type' => 'string', + 'example' => 'off', + 'title' => '', + ], + 'Comment' => [ + 'description' => 'Switch for IP access rules. When turned on, the IP access rules in WAF take effect on the transport layer application.'."\n" + ."\n" + .'- on: Turned on.'."\n" + .'- off: Turned off.', + 'type' => 'string', + 'example' => '测试', + 'title' => '', + ], + 'RuleId' => [ + 'description' => 'Status of the transport layer application'."\n" + ."\n" + .'- **deploying**: Deploying. In this state, modification and deletion are not allowed.'."\n" + .'- **active**: Active.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234323***', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Cname' => [ + 'description' => 'Whether to enable China mainland network access optimization, default is off. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'example.com.ialicdn.com', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'Query Transport Layer Acceleration Application', + 'type' => 'string', + 'example' => 'test.example.com', + 'title' => '', + ], + 'IpAccessRule' => [ + 'description' => '#/components/schemas/WafRuleMatch2', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Ipv6' => [ + 'description' => 'Ipv6 switch', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Status' => [ + 'enumValueTitles' => [ + 'deploying' => 'deploying', + 'active' => 'active', + ], + 'type' => 'string', + 'description' => 'Status of the Layer 4 application.'."\n" + ."\n" + .'- **deploying**: Deployment in progress. Modification and deletion are not allowed in this state.'."\n" + .'- **active**: In Effect. ', + 'example' => 'active', + 'title' => '', + ], + 'CrossBorderOptimization' => [ + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'type' => 'string', + 'description' => 'Whether to enable Network optimization for access from mainland China. The default value is off. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: shutdown.', + 'example' => 'on', + 'title' => '', + ], + 'StaticIp' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'StaticIpV4List' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Address' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Status' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'TransportLayerApplicationNotExist', + 'errorMessage' => 'The layer -4 accelerated application of the current operation does not exist. Modify it and try again.', + 'description' => 'The layer -4 accelerated application of the current operation does not exist. Modify it and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EB635996-1FD6-5DFD-BA57-27A849599940\\",\\n \\"SiteId\\": 0,\\n \\"ApplicationId\\": 0,\\n \\"RulesCount\\": 1,\\n \\"Rules\\": [\\n {\\n \\"Source\\": \\"1.1.1.1\\",\\n \\"Protocol\\": \\"TCP\\",\\n \\"EdgePort\\": \\"80\\",\\n \\"SourceType\\": \\"domain\\",\\n \\"SourcePort\\": \\"80\\",\\n \\"ClientIPPassThroughMode\\": \\"off\\",\\n \\"Comment\\": \\"测试\\",\\n \\"RuleId\\": 0\\n }\\n ],\\n \\"Cname\\": \\"example.com.ialicdn.com\\",\\n \\"RecordName\\": \\"test.example.com\\",\\n \\"IpAccessRule\\": \\"on\\",\\n \\"Ipv6\\": \\"on\\",\\n \\"Status\\": \\"active\\",\\n \\"CrossBorderOptimization\\": \\"on\\",\\n \\"StaticIp\\": \\"\\",\\n \\"StaticIpV4List\\": [\\n {\\n \\"Address\\": \\"\\",\\n \\"Status\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query Transport Layer Acceleration Application', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + ], + 'GetUploadTask' => [ + 'summary' => 'Queries the execution status and running information of a file upload task based on the task ID.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239277', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBCJPGN', + 'FEATUREdcdnRELTJV', + 'FEATUREdcdnEWYS3A', + 'FEATUREdcdn4TTNAL', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123456****'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'UploadId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the file upload task. This field is assigned after you call the [UploadFile](~~2850466~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '159253299357****', + 'title' => '', + ], + ], + ], + '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' => 'ET5BF670-09D5-4D0B-BEBY-D96A2A52****', + ], + 'Status' => [ + 'description' => 'The task status.'."\n" + ."\n" + .'* **INIT**: The task is being initialized.'."\n" + .'* **activacted**: The task is activated.'."\n" + .'* **running**: The task is running.'."\n" + .'* **success**: The task is successful.'."\n" + .'* **partial**: The task is partially successful.'."\n" + .'* **fail**: The task failed.'."\n", + 'type' => 'string', + 'example' => 'running', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The error message returned when the file upload task failed.'."\n", + 'type' => 'string', + 'example' => 'invalid url', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + 'description' => 'Please provide both a start time and an end time.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'DomainNameOverLimit', + 'errorMessage' => 'A maximum of 500 domains are supported for each request.', + 'description' => 'Only 500 domain names are supported at a time. Please reduce the number of domain names to request again.', + ], + [ + 'errorCode' => 'InvalidTime', + 'errorMessage' => 'The query time cannot exceed the last 3 days.', + 'description' => 'The query time cannot exceed the last 3 days.', + ], + [ + 'errorCode' => 'MissingParameter.ObjectType', + 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', + 'description' => 'Specify the ObjectType parameter.', + ], + [ + 'errorCode' => 'InvalidStationParameter', + 'errorMessage' => 'The specified Station is invalid.', + 'description' => 'The specified node parameter is invalid.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'errorCode' => 'InvalidTaskId.Malformed', + 'errorMessage' => 'The specified taskId is invalid.', + 'description' => 'The specified task ID is invalid.', + ], + [ + 'errorCode' => 'InvalidParameters.InvalidUrls', + 'errorMessage' => 'The specified urls are invalid.', + 'description' => 'The requested URL parameter is invalid.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ET5BF670-09D5-4D0B-BEBY-D96A2A52****\\",\\n \\"Status\\": \\"running\\",\\n \\"Description\\": \\"invalid url\\"\\n}","type":"json"}]', + 'title' => 'GetUploadTask', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetUploadTask', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetUploadTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'GetUserDeliveryTask' => [ + 'summary' => 'Queries the information about a log delivery task by account.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239202', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'TaskName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_project', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '7072132a-bd3c-46a6-9e81-aba3e0e3f861', + ], + 'TaskName' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'testoss11', + 'title' => '', + ], + 'DiscardRate' => [ + 'description' => 'The discard rate.'."\n", + 'type' => 'number', + 'format' => 'float', + 'example' => '0', + 'title' => '', + ], + 'DataCenter' => [ + 'description' => 'The data center. Valid values:'."\n" + ."\n" + .'* cn: the Chinese mainland.'."\n" + .'* sg: outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => 'cn', + 'title' => '', + ], + 'BusinessType' => [ + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'* **dcdn_log_access_l1** (default): access logs.'."\n" + .'* **dcdn_log_er**: Edge Routine logs.'."\n" + .'* **dcdn_log_waf**: firewall logs.'."\n" + .'* **dcdn_log_ipa**: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'example' => 'dcdn_log_er', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + 'DeliveryType' => [ + 'description' => 'The destination of the delivery. Valid values:'."\n" + ."\n" + .'* sls: Alibaba Cloud Simple Log Service (SLS).'."\n" + .'* http: HTTP server.'."\n" + .'* aws3: Amazon Simple Storage Service (S3).'."\n" + .'* oss: Alibaba Cloud Object Storage Service (OSS).'."\n" + .'* kafka: Kafka.'."\n" + .'* aws3cmpt: S3-compatible storage service.'."\n", + 'type' => 'string', + 'example' => 'oss', + 'title' => '', + ], + 'FieldList' => [ + 'description' => 'The fields.'."\n", + 'type' => 'string', + 'example' => 'ClientRequestID,ClientRequestHost', + 'title' => '', + ], + 'FilterRules' => [ + 'description' => 'The filtering rules.'."\n", + 'type' => 'string', + 'example' => '[{"ClientSSLProtocol": {"equals": ["TLSv1.3"]}}]', + 'title' => '', + ], + 'SinkConfig' => [ + 'description' => 'The delivery configuration.'."\n", + 'type' => 'any', + 'example' => '{\'Project\': \'er-online-hjy-pro\', \'Logstore\': \'er-online-hjy-log\', \'Region\': \'cn-hangzhou\', \'Endpoint\': \'cn-hangzhou.log.aliyuncs.com\', \'Aliuid\': \'1077912128805410\'}', + 'title' => '', + ], + 'Details' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'RawRule' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'FilterVer' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'EsaService.NotOpen', + 'errorMessage' => 'ESA service has not opend.', + 'description' => 'Edge Security Accelerator (ESA) is not turned on', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7072132a-bd3c-46a6-9e81-aba3e0e3f861\\",\\n \\"TaskName\\": \\"testoss11\\",\\n \\"DiscardRate\\": 0,\\n \\"DataCenter\\": \\"cn\\",\\n \\"BusinessType\\": \\"dcdn_log_er\\",\\n \\"Status\\": \\"online\\",\\n \\"DeliveryType\\": \\"oss\\",\\n \\"FieldList\\": \\"ClientRequestID,ClientRequestHost\\",\\n \\"FilterRules\\": \\"[{\\\\\\"ClientSSLProtocol\\\\\\": {\\\\\\"equals\\\\\\": [\\\\\\"TLSv1.3\\\\\\"]}}]\\",\\n \\"SinkConfig\\": \\"{\'Project\': \'er-online-hjy-pro\', \'Logstore\': \'er-online-hjy-log\', \'Region\': \'cn-hangzhou\', \'Endpoint\': \'cn-hangzhou.log.aliyuncs.com\', \'Aliuid\': \'1077912128805410\'}\\",\\n \\"Details\\": \\"\\",\\n \\"RawRule\\": \\"\\",\\n \\"FilterVer\\": \\"\\"\\n}","type":"json"}]', + 'title' => 'GetUserDeliveryTask', + 'description' => '* This API operation queries the details of a delivery task, including the task name, discard rate, region, log category, status, delivery destination, configuration, and filtering rules.****'."\n" + .'* You can call this operation to query detailed information about a log delivery task to analyze log processing efficiency or troubleshoot delivery problems.****'."\n" + .'* ****````'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2025-06-24T01:43:11.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-12-26T08:21:56.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-10-18T01:07:11.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-27T05:57:03.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetUserDeliveryTask', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetUserDeliveryTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetUserLogDeliveryQuota' => [ + 'summary' => 'Queries the remaining log delivery quota of each log category in your account.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239047', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'BusinessType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'* dcdn_log_access_l1 (default): access logs.'."\n" + .'* dcdn_log_er: Edge Routine logs.'."\n" + .'* dcdn_log_waf: firewall logs.'."\n" + .'* dcdn_log_ipa: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'dcdn_log_access_l1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + ], + 'FreeQuota' => [ + 'description' => 'The remaining quota.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + 'title' => '', + ], + 'BusinessType' => [ + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'* dcdn_log_access_l1 (default): access logs.'."\n" + .'* dcdn_log_er: Edge Routine logs.'."\n" + .'* dcdn_log_waf: firewall logs.'."\n" + .'* dcdn_log_ipa: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'example' => 'dcdn_log_access_l1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'ErService.NotOpen', + 'errorMessage' => 'Er service has not opend.', + 'description' => 'Er service has not opend.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\",\\n \\"FreeQuota\\": 3,\\n \\"BusinessType\\": \\"dcdn_log_access_l1\\"\\n}","type":"json"}]', + 'title' => 'GetUserLogDeliveryQuota', + 'description' => 'This operation allows you to query the remaining real-time log delivery quota of each log category in your Alibaba Cloud account. You must provide your Alibaba Cloud account ID (aliUid) and log category (BusinessType). The system then returns the remaining quota of the log category to help you track the usage.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-09-27T05:57:02.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetUserLogDeliveryQuota', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetUserLogDeliveryQuota', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'read', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'GetUserWafRuleset' => [ + 'summary' => 'Queries the details of a Web Application Firewall (WAF) ruleset for a specified instance.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239606', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + 'FEATUREdcdnBQ0J3E', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The instance ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'esa-xxxxxxx', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The WAF ruleset ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '10000001', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + 'title' => '', + ], + 'Ruleset' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The WAF ruleset ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000001', + 'title' => '', + ], + 'Position' => [ + 'description' => 'The position of the WAF ruleset.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The name of the WAF ruleset.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The description of the WAF ruleset.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the WAF ruleset.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Expression' => [ + 'description' => 'The expression for the WAF ruleset.', + 'type' => 'string', + 'example' => 'ip.src == 1.1.1.1', + 'title' => '', + ], + 'Phase' => [ + 'description' => 'The WAF phase.', + 'type' => 'string', + 'example' => 'http_custom', + 'title' => '', + ], + 'Shared' => [ + 'description' => 'The shared configuration of the WAF ruleset.', + '$ref' => '#/components/schemas/WafBatchRuleShared', + 'example' => '{}', + 'title' => '', + ], + 'Rules' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => [ + 'description' => 'The time when the WAF rule was last updated.', + 'type' => 'string', + 'example' => '2025-07-07T15:00:00Z', + 'title' => '', + ], + 'RulesetId' => [ + 'description' => 'The WAF ruleset ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000001', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The WAF rule ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000001', + 'title' => '', + ], + 'Position' => [ + 'description' => 'The position of the WAF rule.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'Phase' => [ + 'description' => 'The WAF phase.', + 'type' => 'string', + 'example' => 'http_custom', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of the WAF rule.', + 'type' => 'string', + 'example' => '● 频次控制规则 - http_ratelimit'."\n" + .'● 高频扫描封禁 - http_high_frequency'."\n" + .'● 目录遍历封禁 - http_directory_traversal', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The name of the WAF rule.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the WAF rule.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Fields' => [ + 'type' => 'array', + 'items' => [ + 'description' => 'A match field for the WAF rule.', + 'type' => 'string', + 'example' => 'ip.src', + 'title' => '', + ], + 'description' => 'A list of match fields for the WAF rule.', + 'example' => '["ip.src"]', + 'title' => '', + ], + 'CharacteristicsFields' => [ + 'type' => 'array', + 'items' => [ + 'description' => 'A statistical field for the WAF rule.', + 'type' => 'string', + 'example' => 'http.host', + 'title' => '', + ], + 'description' => 'A list of statistical fields for the WAF rule.', + 'example' => '["http.host"]', + 'title' => '', + ], + 'Action' => [ + 'description' => 'The action of the WAF rule.', + 'type' => 'string', + 'example' => 'deny', + 'title' => '', + ], + 'Skip' => [ + 'description' => 'The method for skipping the WAF rule.', + 'type' => 'string', + 'example' => 'all', + 'title' => '', + ], + 'Tags' => [ + 'type' => 'array', + 'items' => [ + 'description' => 'A phase to skip for the WAF rule.', + 'type' => 'string', + 'example' => 'http_custom', + 'title' => '', + ], + 'description' => 'A list of phases to skip for the WAF rule.', + 'example' => '["http_custom"]', + 'title' => '', + ], + 'Config' => [ + 'description' => 'The configuration of the WAF rule.', + '$ref' => '#/components/schemas/WafRuleConfig', + 'example' => '{'."\n" + .' "Id": 20000001,'."\n" + .' "Name": "rule1",'."\n" + .' "Expression": "ip.src eq 1.1.1.1",'."\n" + .' "Action": "deny"'."\n" + .'}', + 'title' => '', + ], + ], + 'description' => 'The configuration of a rule in the WAF ruleset.', + 'example' => '{}', + 'title' => '', + ], + 'description' => 'A list of rule configurations in the WAF ruleset.', + 'example' => '[{}]', + 'title' => '', + ], + ], + 'description' => 'The WAF ruleset.', + 'example' => '{}', + 'title' => '', + ], + ], + 'title' => '', + 'description' => 'The response schema.', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'GetUserWafRuleset', + 'description' => '##'."\n" + ."\n" + .'You can call the `GetUserWafRuleset` operation to retrieve information about a specific Web Application Firewall (WAF) ruleset. Provide the instance ID and ruleset ID. The operation returns details about the ruleset, such as its position, name, description, status, and the rules it contains. Provide all required parameters to prevent request failures.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetUserWafRuleset', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Ruleset\\": {\\n \\"Id\\": 10000001,\\n \\"Position\\": 1,\\n \\"Name\\": \\"example\\",\\n \\"Description\\": \\"example\\",\\n \\"Status\\": \\"on\\",\\n \\"Expression\\": \\"ip.src == 1.1.1.1\\",\\n \\"Phase\\": \\"http_custom\\",\\n \\"Shared\\": {\\n \\"Target\\": \\"web\\",\\n \\"Mode\\": \\"automatic\\",\\n \\"CrossSiteId\\": 10000001,\\n \\"Name\\": \\"example\\",\\n \\"Match\\": {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n },\\n \\"Action\\": \\"deny\\",\\n \\"Actions\\": {\\n \\"Response\\": {\\n \\"Id\\": 50000001,\\n \\"Code\\": 403\\n }\\n },\\n \\"Expression\\": \\"ip.src eq 1.1.1.1\\"\\n },\\n \\"Rules\\": [\\n {\\n \\"UpdateTime\\": \\"2025-07-07T15:00:00Z\\",\\n \\"RulesetId\\": 10000001,\\n \\"Id\\": 20000001,\\n \\"Position\\": 1,\\n \\"Phase\\": \\"http_custom\\",\\n \\"Type\\": \\"● 频次控制规则 - http_ratelimit\\\\n● 高频扫描封禁 - http_high_frequency\\\\n● 目录遍历封禁 - http_directory_traversal\\",\\n \\"Name\\": \\"example\\",\\n \\"Status\\": \\"on\\",\\n \\"Fields\\": [\\n \\"ip.src\\"\\n ],\\n \\"CharacteristicsFields\\": [\\n \\"http.host\\"\\n ],\\n \\"Action\\": \\"deny\\",\\n \\"Skip\\": \\"all\\",\\n \\"Tags\\": [\\n \\"http_custom\\"\\n ],\\n \\"Config\\": {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Actions\\": {\\n \\"Response\\": {\\n \\"Id\\": 50000001,\\n \\"Code\\": 403\\n },\\n \\"Bypass\\": {\\n \\"Skip\\": \\"part\\",\\n \\"RegularRules\\": [\\n 100001\\n ],\\n \\"CustomRules\\": [\\n 20000001\\n ],\\n \\"RegularTypes\\": [\\n \\"sqli\\"\\n ],\\n \\"Tags\\": [\\n \\"http_custom\\"\\n ]\\n }\\n },\\n \\"ManagedList\\": \\"intelligence_crawler\\",\\n \\"ManagedRulesets\\": [\\n {\\n \\"ProtectionLevel\\": 4,\\n \\"Action\\": \\"deny\\",\\n \\"ManagedRules\\": [\\n {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Id\\": 100001\\n }\\n ],\\n \\"AttackType\\": 11,\\n \\"NumberTotal\\": 100,\\n \\"NumberEnabled\\": 50\\n }\\n ],\\n \\"Sigchl\\": [\\n \\"sig\\"\\n ],\\n \\"Name\\": \\"example\\",\\n \\"AppSdk\\": {\\n \\"CustomSign\\": {\\n \\"Value\\": \\"examplesignvalue\\",\\n \\"Key\\": \\"sign\\"\\n },\\n \\"CustomSignStatus\\": \\"on\\",\\n \\"FeatureAbnormal\\": [\\n \\"wxbb_invalid_sign\\"\\n ]\\n },\\n \\"RateLimit\\": {\\n \\"Characteristics\\": {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n },\\n \\"OnHit\\": true,\\n \\"TTL\\": 10,\\n \\"Threshold\\": {\\n \\"ManagedRulesBlocked\\": 10,\\n \\"DistinctManagedRules\\": 10,\\n \\"ResponseStatus\\": {\\n \\"Ratio\\": 10,\\n \\"Count\\": 10,\\n \\"Code\\": 404\\n },\\n \\"Traffic\\": \\"10Gb\\",\\n \\"Request\\": 10\\n },\\n \\"Interval\\": 10\\n },\\n \\"Type\\": \\"http_custom\\",\\n \\"AppPackage\\": {\\n \\"PackageSigns\\": [\\n {\\n \\"Sign\\": \\"sign\\",\\n \\"Name\\": \\"name\\"\\n }\\n ]\\n },\\n \\"ManagedGroupId\\": 30000001,\\n \\"Timer\\": {\\n \\"Scopes\\": \\"permanent\\",\\n \\"Zone\\": 8,\\n \\"Periods\\": [\\n {\\n \\"Start\\": \\"2025-01-01T00:00:00Z\\",\\n \\"End\\": \\"2025-01-01T01:00:00Z\\"\\n }\\n ],\\n \\"WeeklyPeriods\\": [\\n {\\n \\"Days\\": \\"1\\",\\n \\"DailyPeriods\\": [\\n {\\n \\"Start\\": \\"00:00:00\\",\\n \\"End\\": \\"01:00:00\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"Expression\\": \\"ip.src eq 1.1.1.1\\",\\n \\"SecurityLevel\\": {\\n \\"Value\\": \\"low\\"\\n },\\n \\"Value\\": \\"10.0.0.1\\",\\n \\"Id\\": 20000001,\\n \\"Notes\\": \\"example notes\\"\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetVideoProcessing' => [ + 'summary' => 'Queries the video processing configuration details of a site.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257665', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '23282348***', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID. You can call the [ListVideoProcessings](~~ListVideoProcessings~~) operation to obtain the configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '23321557***', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE'."\n", + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The type of the configuration. Valid values:'."\n" + ."\n" + .'* global: global configuration.'."\n" + .'* rule: rule configuration.'."\n", + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the website configurations.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The order in which the rule is executed. A smaller value gives priority to the rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Indicates whether the rule is enabled. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The rule content.'."\n", + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'The name of the scaling rule.'."\n", + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'VideoSeekEnable' => [ + 'description' => 'Video seeking. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'FlvVideoSeekMode' => [ + 'description' => 'FLV Seeking Valid values:'."\n" + ."\n" + .'* by_byte: Seek by byte.'."\n" + .'* by_time: Seek by time.'."\n", + 'type' => 'string', + 'example' => 'by_byte', + 'title' => '', + ], + 'Mp4SeekStart' => [ + 'description' => 'Customize the mp4 start parameter.'."\n", + 'type' => 'string', + 'example' => 'start', + 'title' => '', + ], + 'Mp4SeekEnd' => [ + 'description' => 'Customize the mp4 end parameter.'."\n", + 'type' => 'string', + 'example' => 'end', + 'title' => '', + ], + 'FlvSeekStart' => [ + 'description' => 'The custom start parameter for FLV files.'."\n", + 'type' => 'string', + 'example' => 'start', + 'title' => '', + ], + 'FlvSeekEnd' => [ + 'description' => 'The custom end parameter for FLV files.'."\n", + 'type' => 'string', + 'example' => 'end', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\\\n\\",\\n \\"ConfigId\\": 0,\\n \\"ConfigType\\": \\"global\\",\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"VideoSeekEnable\\": \\"on\\",\\n \\"FlvVideoSeekMode\\": \\"by_byte\\",\\n \\"Mp4SeekStart\\": \\"start\\",\\n \\"Mp4SeekEnd\\": \\"end\\",\\n \\"FlvSeekStart\\": \\"start\\",\\n \\"FlvSeekEnd\\": \\"end\\"\\n}","type":"json"}]', + 'title' => 'GetVideoProcessing', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetVideoProcessing', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'GetWafBotAppKey' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239630', + 'abilityTreeNodes' => [ + 'FEATUREdcdn1OLUH8', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求ID', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'AppKey' => [ + 'title' => 'APP key', + 'description' => 'Application key.', + 'type' => 'string', + 'example' => 'example_appkey', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"AppKey\\": \\"example_appkey\\"\\n}","type":"json"}]', + 'title' => 'Get the APP key in the BOT phase of WAF', + 'summary' => 'This interface is used to obtain the application key (AppKey) for the BOT behavior detection feature in the site\'s Web Application Firewall (WAF). The key is typically used for authentication and data exchange with the WAF service.', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:51.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:56:38.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetWafBotAppKey', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetWafBotAppKey', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'GetWafFilter' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239605', + 'abilityTreeNodes' => [ + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + 'FEATUREdcdnBQ0J3E', + 'FEATUREdcdn1OLUH8', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The WAF rule category to which the filter conditions to query belong.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http_bot', + ], + ], + [ + 'name' => 'Target', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The condition for matching incoming requests.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'characteristics', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The rule type.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http_custom_cc', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Filter' => [ + 'title' => '', + 'description' => 'The returned match conditions.'."\n", + 'type' => 'object', + 'properties' => [ + 'Phase' => [ + 'title' => '', + 'description' => 'The WAF rule category.'."\n", + 'type' => 'string', + 'example' => 'http_bot', + ], + 'Target' => [ + 'title' => '', + 'description' => 'The condition for matching incoming requests.'."\n", + 'type' => 'string', + 'example' => 'characteristics', + ], + 'Type' => [ + 'title' => '', + 'description' => 'The rule type.'."\n", + 'type' => 'string', + 'example' => 'http_custom_cc', + ], + 'Fields' => [ + 'title' => '', + 'description' => 'The matched objects and related properties.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The properties of the matched object.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'description' => 'Indicates whether the current plan supports this matching object.', + 'type' => 'boolean', + 'example' => 'false', + 'title' => '', + ], + 'MinPlan' => [ + 'description' => 'If the current plan does not support this matching item, display the minimum plan that supports it. ', + 'type' => 'string', + 'example' => 'high', + 'title' => '', + ], + 'Label' => [ + 'title' => '', + 'description' => 'The label of the matched object.'."\n", + 'type' => 'string', + 'example' => 'Header', + ], + 'Key' => [ + 'title' => '', + 'description' => 'The field for matched objects in the system.'."\n", + 'type' => 'string', + 'example' => 'http.request.headers', + ], + 'Sub' => [ + 'title' => '', + 'description' => 'Indicates whether the matched object contains a subfield.'."\n", + 'type' => 'boolean', + 'example' => 'true', + ], + 'SubTip' => [ + 'title' => '', + 'description' => 'The tip on how to enter a subfield.'."\n", + 'type' => 'string', + 'example' => 'e.g. Content-Type', + ], + 'Selector' => [ + 'title' => '', + 'description' => 'The selector, which defines how to select a matched object.'."\n", + 'type' => 'object', + 'properties' => [ + 'Kind' => [ + 'title' => '', + 'description' => 'The type of selector. Valid values: data and others.'."\n", + 'type' => 'string', + 'example' => 'data', + ], + 'Data' => [ + 'title' => '', + 'description' => 'The data. This parameter is available only when the value of the Kind parameter is data.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The data. This parameter is available only when the value of the Kind parameter is data.'."\n", + 'type' => 'object', + 'properties' => [ + 'Label' => [ + 'title' => '', + 'description' => 'The label of the data.'."\n", + 'type' => 'string', + 'example' => 'China', + ], + 'Value' => [ + 'title' => '', + 'description' => 'The value of the data.'."\n", + 'type' => 'string', + 'example' => 'CN', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'Logics' => [ + 'title' => '', + 'description' => 'The logical conditions.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The properties of the logical operator applicable to the matched object.'."\n", + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'description' => 'Indicates whether the current plan supports this matching symbol.', + 'type' => 'boolean', + 'example' => 'false', + 'title' => '', + ], + 'MinPlan' => [ + 'description' => 'If the current plan does not support this operator, display the minimum plan that supports it. ', + 'type' => 'string', + 'example' => 'high', + 'title' => '', + ], + 'Symbol' => [ + 'title' => '', + 'description' => 'The matching characters in the system.'."\n", + 'type' => 'string', + 'example' => 'eq', + ], + 'Operator' => [ + 'title' => '', + 'description' => 'The displayed matching characters.'."\n", + 'type' => 'string', + 'example' => 'Does not equal', + ], + 'Negative' => [ + 'title' => '', + 'description' => 'Indicates whether the match result is inverted.'."\n", + 'type' => 'boolean', + 'example' => '', + ], + 'Type' => [ + 'title' => '', + 'description' => 'The type of the value. Valid values:'."\n" + ."\n" + .'* integer'."\n" + .'* integer_slice'."\n" + .'* string'."\n" + .'* string_slice'."\n", + 'type' => 'string', + 'example' => 'string', + ], + 'Kind' => [ + 'title' => '', + 'description' => 'The type of the value input box. Valid values:'."\n" + ."\n" + .'* select:single'."\n" + .'* select:multi'."\n" + .'* input:single'."\n" + .'* input:multi'."\n", + 'type' => 'string', + 'example' => 'input:single', + ], + 'Attributes' => [ + 'title' => '', + 'description' => 'A custom attribute. For example, this parameter can specify whether the value is case-sensitive.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'Tip' => [ + 'title' => '', + 'description' => 'The tip on how to enter a valid value that is required by the rules.'."\n", + 'type' => 'string', + 'example' => 'e.g. image/jpeg', + ], + 'Validator' => [ + 'title' => '', + 'description' => 'The validator, which defines the validation rules for a value.'."\n", + 'type' => 'object', + 'properties' => [ + 'Length' => [ + 'title' => '', + 'description' => 'The length of the value.'."\n", + '$ref' => '#/components/schemas/WafQuotaInteger', + 'example' => '', + ], + 'Pattern' => [ + 'title' => '', + 'description' => 'The regular expression pattern of the value, which is used to validate strings.'."\n", + 'type' => 'string', + 'example' => '^example$', + ], + 'Range' => [ + 'title' => '', + 'description' => 'The range of the value, which is used to validate numbers.'."\n", + '$ref' => '#/components/schemas/WafQuotaInteger', + 'example' => '', + ], + 'ErrMsg' => [ + 'title' => '', + 'description' => 'The error message when the validation fails.'."\n", + 'type' => 'string', + 'example' => 'Enter a valid expression', + ], + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Obtain WAF matching engine information ', + 'summary' => 'Obtain the matching engine information for a specified site at a specific WAF phase. This information defines how the WAF detects and processes different types of network requests. ', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-27T08:44:24.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-09-25T07:02:51.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:56:36.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetWafFilter', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetWafFilter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Filter\\": {\\n \\"Phase\\": \\"http_bot\\",\\n \\"Target\\": \\"characteristics\\",\\n \\"Type\\": \\"http_custom_cc\\",\\n \\"Fields\\": [\\n {\\n \\"Enable\\": false,\\n \\"MinPlan\\": \\"high\\",\\n \\"Label\\": \\"Header\\",\\n \\"Key\\": \\"http.request.headers\\",\\n \\"Sub\\": true,\\n \\"SubTip\\": \\"e.g. Content-Type\\",\\n \\"Selector\\": {\\n \\"Kind\\": \\"data\\",\\n \\"Data\\": [\\n {\\n \\"Label\\": \\"China\\",\\n \\"Value\\": \\"CN\\"\\n }\\n ]\\n },\\n \\"Logics\\": [\\n {\\n \\"Enable\\": false,\\n \\"MinPlan\\": \\"high\\",\\n \\"Symbol\\": \\"eq\\",\\n \\"Operator\\": \\"Does not equal\\",\\n \\"Negative\\": false,\\n \\"Type\\": \\"string\\",\\n \\"Kind\\": \\"input:single\\",\\n \\"Attributes\\": 1,\\n \\"Tip\\": \\"e.g. image/jpeg\\",\\n \\"Validator\\": {\\n \\"Length\\": {\\n \\"Equal\\": 1,\\n \\"GreaterThan\\": 1,\\n \\"GreaterThanOrEqual\\": 1,\\n \\"LessThan\\": 1,\\n \\"LessThanOrEqual\\": 1\\n },\\n \\"Pattern\\": \\"^example$\\",\\n \\"Range\\": {\\n \\"Equal\\": 1,\\n \\"GreaterThan\\": 1,\\n \\"GreaterThanOrEqual\\": 1,\\n \\"LessThan\\": 1,\\n \\"LessThanOrEqual\\": 1\\n },\\n \\"ErrMsg\\": \\"Enter a valid expression\\"\\n }\\n }\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetWafQuota' => [ + 'summary' => 'Get WAF Quota Details', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239612', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'Paths', + 'in' => 'query', + 'schema' => [ + 'title' => 'WAF配额的路径,例:managed_rules_group、list、page、scene_policy', + 'description' => 'The path of the WAF quota, for example:'."\n" + .'* managed_rules_group: represents the quota for the WAF managed rules group'."\n" + .'* list: represents the quota for custom lists'."\n" + .'* page: represents the quota for custom response pages'."\n" + .'* scene_policy: represents the quota for scenario protection', + 'type' => 'string', + 'required' => false, + 'example' => 'page', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Quota' => [ + 'title' => 'WAF配额', + 'description' => 'Returned quota information.', + 'type' => 'object', + 'properties' => [ + 'ManagedRulesGroup' => [ + 'title' => '托管规则组相关配额', + 'description' => 'Quota information related to the WAF managed rules group.', + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'title' => '托管规则组开关', + 'description' => 'Indicates whether the WAF managed rules group is enabled.', + 'type' => 'boolean', + 'example' => '', + ], + 'NumberTotal' => [ + 'title' => '托管规则组数量配额', + 'description' => 'The total number quota allowed for the WAF managed rules group.', + '$ref' => '#/components/schemas/WafQuotaInteger', + 'example' => '', + ], + ], + 'example' => '', + ], + 'List' => [ + 'title' => '自定义列表相关配额', + 'description' => 'Quota information related to custom lists.', + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'title' => '自定义列表开关', + 'description' => 'Indicates whether the custom list is enabled.', + 'type' => 'boolean', + 'example' => '', + ], + 'NumberTotal' => [ + 'title' => '自定义列表数量配额', + 'description' => 'The total number quota allowed for custom lists.', + '$ref' => '#/components/schemas/WafQuotaInteger', + 'example' => '', + ], + 'NumberItemsTotal' => [ + 'title' => '自定义列表中全部项目数量配额', + 'description' => 'The total number quota allowed for items in all custom lists.', + '$ref' => '#/components/schemas/WafQuotaInteger', + 'example' => '', + ], + 'NumberItemsPerList' => [ + 'title' => '每个自定义列表中项目数量配额', + 'description' => 'The number quota allowed per custom list.', + '$ref' => '#/components/schemas/WafQuotaInteger', + 'example' => '', + ], + 'Items' => [ + 'title' => '自定义列表中项目类型相关配额', + 'description' => 'An object containing quota information for each type of item in the custom list.', + 'type' => 'object', + 'additionalProperties' => [ + 'title' => '自定义列表中项目配额结构', + 'description' => 'An object containing quota information for items in the custom list.', + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'title' => '对应自定义列表项目类型的开关', + 'description' => 'The switch for the type of item in the custom list.', + 'type' => 'boolean', + 'example' => '', + ], + 'Value' => [ + 'title' => '对应自定义列表中项目类型的格式限制', + 'description' => 'Format restrictions for the type of item in the custom list.', + '$ref' => '#/components/schemas/WafQuotaString', + 'example' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'Page' => [ + 'title' => '自定义响应页面相关配额', + 'description' => 'Quota information related to custom response pages.', + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'title' => '自定义响应页面开关', + 'description' => 'Indicates whether the custom response page is enabled.', + 'type' => 'boolean', + 'example' => '', + ], + 'NumberTotal' => [ + 'title' => '自定义响应页面数量配额', + 'description' => 'The total number quota allowed for custom response pages.', + '$ref' => '#/components/schemas/WafQuotaInteger', + 'example' => '', + ], + 'ContentTypes' => [ + 'title' => '自定义响应页面Content-Type相关配额', + 'description' => 'An object containing quota information for each Content-Type in custom response pages.', + 'type' => 'object', + 'additionalProperties' => [ + 'title' => '自定义响应页面中ContentType对应类型配额结构', + 'description' => 'An object of quota information for the Content-Type in custom response pages.', + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'title' => '对应自定义响应页面Content-Type类型开关', + 'description' => 'The switch for the Content-Type type in custom response pages.', + 'type' => 'boolean', + 'example' => '', + ], + 'ContentLength' => [ + 'title' => '对应自定义响应页面Content-Type的内容长度配额', + 'description' => 'The content length quota for the Content-Type in custom response pages.', + '$ref' => '#/components/schemas/WafQuotaInteger', + 'example' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'ScenePolicy' => [ + 'title' => '场景防护相关配额', + 'description' => 'Quota information related to scene protection.', + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'title' => '场景防护开关', + 'description' => 'Indicates whether the scene protection feature is enabled.', + 'type' => 'boolean', + 'example' => '', + ], + 'NumberTotal' => [ + 'title' => '场景防护规则数量配额', + 'description' => 'The total number quota for scene protection rules.', + '$ref' => '#/components/schemas/WafQuotaInteger', + 'example' => '', + ], + ], + 'example' => '', + ], + 'Captcha' => [ + 'description' => 'Quota information related to verification code rules. ', + 'type' => 'object', + 'properties' => [ + 'Enable' => [ + 'description' => 'Indicates whether the verification code rule is enabled. ', + 'type' => 'boolean', + 'title' => '', + 'example' => '', + ], + 'NumberTotal' => [ + 'description' => 'The total quota for the number of allowed verification code rules. ', + '$ref' => '#/components/schemas/WafQuotaInteger', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'Get WAF Resource Related Quotas', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:51.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:56:36.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetWafQuota', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetWafQuota', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Quota\\": {\\n \\"ManagedRulesGroup\\": {\\n \\"Enable\\": false,\\n \\"NumberTotal\\": {\\n \\"Equal\\": 1,\\n \\"GreaterThan\\": 1,\\n \\"GreaterThanOrEqual\\": 1,\\n \\"LessThan\\": 1,\\n \\"LessThanOrEqual\\": 1\\n }\\n },\\n \\"List\\": {\\n \\"Enable\\": false,\\n \\"NumberTotal\\": {\\n \\"Equal\\": 1,\\n \\"GreaterThan\\": 1,\\n \\"GreaterThanOrEqual\\": 1,\\n \\"LessThan\\": 1,\\n \\"LessThanOrEqual\\": 1\\n },\\n \\"NumberItemsTotal\\": {\\n \\"Equal\\": 1,\\n \\"GreaterThan\\": 1,\\n \\"GreaterThanOrEqual\\": 1,\\n \\"LessThan\\": 1,\\n \\"LessThanOrEqual\\": 1\\n },\\n \\"Items\\": {\\n \\"key\\": {\\n \\"Enable\\": false,\\n \\"Value\\": {\\n \\"Regexp\\": \\"^\\\\\\\\d+$\\"\\n }\\n }\\n }\\n },\\n \\"Page\\": {\\n \\"Enable\\": false,\\n \\"ContentTypes\\": {\\n \\"key\\": {\\n \\"Enable\\": false\\n }\\n }\\n },\\n \\"ScenePolicy\\": {\\n \\"Enable\\": false\\n },\\n \\"Captcha\\": {\\n \\"Enable\\": false\\n }\\n }\\n}","type":"json"}]', + ], + 'GetWafRule' => [ + 'summary' => 'Get Details of a Single WAF Rule', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239626', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'title' => '规则ID', + 'description' => 'The ID of the WAF rule, which can be obtained by calling the [ListWafRules](~~2878257~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '20000001', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'The site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'UpdateTime' => [ + 'title' => '修改时间', + 'description' => 'The last modified time of the rule.', + 'type' => 'string', + 'example' => '2024-01-01T00:00:00Z', + ], + 'Id' => [ + 'title' => '规则ID', + 'description' => 'The ID of the WAF rule, which can be obtained by calling the [ListWafRules](~~2878257~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '2000001', + 'pattern' => '', + 'default' => '', + ], + 'Position' => [ + 'title' => '规则在规则集中所处的位置顺序', + 'description' => 'The position of the rule in the rule set.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'Name' => [ + 'title' => '规则名称', + 'description' => 'Rule name.', + 'type' => 'string', + 'required' => true, + 'example' => 'example', + 'maxLength' => 128, + 'pattern' => '', + 'default' => '', + ], + 'Status' => [ + 'title' => '规则状态', + 'description' => 'Rule status.', + 'type' => 'string', + 'example' => 'on', + ], + 'Phase' => [ + 'title' => 'WAF阶段', + 'description' => 'WAF operation phase.', + 'type' => 'string', + 'required' => true, + 'example' => 'http_custom', + 'pattern' => '', + 'default' => '', + ], + 'Config' => [ + 'title' => '规则配置', + 'description' => 'Rule configuration.', + '$ref' => '#/components/schemas/WafRuleConfig', + 'example' => '', + ], + 'RulesetId' => [ + 'type' => 'integer', + 'format' => 'int64', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Get Details of a Single WAF Rule', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-17T07:08:14.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-09-25T07:02:50.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetWafRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetWafRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"UpdateTime\\": \\"2024-01-01T00:00:00Z\\",\\n \\"Id\\": 2000001,\\n \\"Position\\": 1,\\n \\"Name\\": \\"example\\",\\n \\"Status\\": \\"on\\",\\n \\"Phase\\": \\"http_custom\\",\\n \\"Config\\": {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Actions\\": {\\n \\"Response\\": {\\n \\"Id\\": 50000001,\\n \\"Code\\": 403\\n },\\n \\"Bypass\\": {\\n \\"Skip\\": \\"part\\",\\n \\"RegularRules\\": [\\n 100001\\n ],\\n \\"CustomRules\\": [\\n 20000001\\n ],\\n \\"RegularTypes\\": [\\n \\"sqli\\"\\n ],\\n \\"Tags\\": [\\n \\"http_custom\\"\\n ]\\n }\\n },\\n \\"ManagedList\\": \\"intelligence_crawler\\",\\n \\"ManagedRulesets\\": [\\n {\\n \\"ProtectionLevel\\": 4,\\n \\"Action\\": \\"deny\\",\\n \\"ManagedRules\\": [\\n {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Id\\": 100001\\n }\\n ],\\n \\"AttackType\\": 11,\\n \\"NumberTotal\\": 100,\\n \\"NumberEnabled\\": 50\\n }\\n ],\\n \\"Sigchl\\": [\\n \\"sig\\"\\n ],\\n \\"Name\\": \\"example\\",\\n \\"AppSdk\\": {\\n \\"CustomSign\\": {\\n \\"Value\\": \\"examplesignvalue\\",\\n \\"Key\\": \\"sign\\"\\n },\\n \\"CustomSignStatus\\": \\"on\\",\\n \\"FeatureAbnormal\\": [\\n \\"wxbb_invalid_sign\\"\\n ]\\n },\\n \\"RateLimit\\": {\\n \\"Characteristics\\": {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n },\\n \\"OnHit\\": true,\\n \\"TTL\\": 10,\\n \\"Threshold\\": {\\n \\"ManagedRulesBlocked\\": 10,\\n \\"DistinctManagedRules\\": 10,\\n \\"ResponseStatus\\": {\\n \\"Ratio\\": 10,\\n \\"Count\\": 10,\\n \\"Code\\": 404\\n },\\n \\"Traffic\\": \\"10Gb\\",\\n \\"Request\\": 10\\n },\\n \\"Interval\\": 10\\n },\\n \\"Type\\": \\"http_custom\\",\\n \\"AppPackage\\": {\\n \\"PackageSigns\\": [\\n {\\n \\"Sign\\": \\"sign\\",\\n \\"Name\\": \\"name\\"\\n }\\n ]\\n },\\n \\"ManagedGroupId\\": 30000001,\\n \\"Timer\\": {\\n \\"Scopes\\": \\"permanent\\",\\n \\"Zone\\": 8,\\n \\"Periods\\": [\\n {\\n \\"Start\\": \\"2025-01-01T00:00:00Z\\",\\n \\"End\\": \\"2025-01-01T01:00:00Z\\"\\n }\\n ],\\n \\"WeeklyPeriods\\": [\\n {\\n \\"Days\\": \\"1\\",\\n \\"DailyPeriods\\": [\\n {\\n \\"Start\\": \\"00:00:00\\",\\n \\"End\\": \\"01:00:00\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"Expression\\": \\"ip.src eq 1.1.1.1\\",\\n \\"SecurityLevel\\": {\\n \\"Value\\": \\"low\\"\\n },\\n \\"Value\\": \\"10.0.0.1\\",\\n \\"Id\\": 20000001,\\n \\"Notes\\": \\"example notes\\"\\n },\\n \\"RulesetId\\": 0\\n}","type":"json"}]', + ], + 'GetWafRuleset' => [ + 'summary' => 'Get WAF Ruleset Details', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239606', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBQ0J3E', + 'FEATUREdcdn1OLUH8', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'title' => '规则集ID', + 'description' => 'The ID of the WAF ruleset, which can be obtained by calling the ListWafRulesets interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10000001', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'The site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'query', + 'schema' => [ + 'title' => 'WAF阶段', + 'description' => 'The WAF operation phase, specifying the phase of the ruleset to query.', + 'type' => 'string', + 'required' => false, + 'example' => 'http_bot', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'UpdateTime' => [ + 'title' => '修改时间', + 'description' => 'The last modified time of the ruleset.', + 'type' => 'string', + 'example' => '2024-01-01T00:00:00Z', + ], + 'Id' => [ + 'title' => '规则集ID', + 'description' => 'Ruleset ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10000001', + 'pattern' => '', + 'default' => '', + ], + 'Name' => [ + 'title' => '规则集名称', + 'description' => 'Ruleset name.', + 'type' => 'string', + 'required' => true, + 'example' => 'example', + 'maxLength' => 128, + 'pattern' => '', + 'default' => '', + ], + 'Status' => [ + 'title' => '规则集状态', + 'description' => 'Ruleset status.', + 'type' => 'string', + 'example' => 'on', + ], + 'Phase' => [ + 'title' => 'WAF阶段', + 'description' => 'The WAF operation phase applicable to the ruleset.', + 'type' => 'string', + 'required' => true, + 'example' => 'http_bot', + 'pattern' => '', + 'default' => '', + ], + 'Shared' => [ + 'title' => '规则集中的规则所共享的配置', + 'description' => 'Shared configurations for the rules in the ruleset.', + '$ref' => '#/components/schemas/WafBatchRuleShared', + 'example' => '', + ], + 'Rules' => [ + 'title' => '规则集中的规则配置列表', + 'description' => 'List of rule configurations in the ruleset.', + 'type' => 'array', + 'items' => [ + 'title' => '规则集中的规则配置', + 'description' => 'Rule configuration within the rule set.', + '$ref' => '#/components/schemas/WafRuleConfig', + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Get Details of a Single WAF Ruleset', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:50.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:56:35.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetWafRuleset', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetWafRuleset', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"UpdateTime\\": \\"2024-01-01T00:00:00Z\\",\\n \\"Id\\": 10000001,\\n \\"Name\\": \\"example\\",\\n \\"Status\\": \\"on\\",\\n \\"Phase\\": \\"http_bot\\",\\n \\"Shared\\": {\\n \\"Target\\": \\"web\\",\\n \\"Mode\\": \\"automatic\\",\\n \\"CrossSiteId\\": 10000001,\\n \\"Name\\": \\"example\\",\\n \\"Match\\": {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n },\\n \\"Action\\": \\"deny\\",\\n \\"Actions\\": {\\n \\"Response\\": {\\n \\"Id\\": 50000001,\\n \\"Code\\": 403\\n }\\n },\\n \\"Expression\\": \\"ip.src eq 1.1.1.1\\"\\n },\\n \\"Rules\\": [\\n {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Actions\\": {\\n \\"Response\\": {\\n \\"Id\\": 50000001,\\n \\"Code\\": 403\\n },\\n \\"Bypass\\": {\\n \\"Skip\\": \\"part\\",\\n \\"RegularRules\\": [\\n 100001\\n ],\\n \\"CustomRules\\": [\\n 20000001\\n ],\\n \\"RegularTypes\\": [\\n \\"sqli\\"\\n ],\\n \\"Tags\\": [\\n \\"http_custom\\"\\n ]\\n }\\n },\\n \\"ManagedList\\": \\"intelligence_crawler\\",\\n \\"ManagedRulesets\\": [\\n {\\n \\"ProtectionLevel\\": 4,\\n \\"Action\\": \\"deny\\",\\n \\"ManagedRules\\": [\\n {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Id\\": 100001\\n }\\n ],\\n \\"AttackType\\": 11,\\n \\"NumberTotal\\": 100,\\n \\"NumberEnabled\\": 50\\n }\\n ],\\n \\"Sigchl\\": [\\n \\"sig\\"\\n ],\\n \\"Name\\": \\"example\\",\\n \\"AppSdk\\": {\\n \\"CustomSign\\": {\\n \\"Value\\": \\"examplesignvalue\\",\\n \\"Key\\": \\"sign\\"\\n },\\n \\"CustomSignStatus\\": \\"on\\",\\n \\"FeatureAbnormal\\": [\\n \\"wxbb_invalid_sign\\"\\n ]\\n },\\n \\"RateLimit\\": {\\n \\"Characteristics\\": {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n },\\n \\"OnHit\\": true,\\n \\"TTL\\": 10,\\n \\"Threshold\\": {\\n \\"ManagedRulesBlocked\\": 10,\\n \\"DistinctManagedRules\\": 10,\\n \\"ResponseStatus\\": {\\n \\"Ratio\\": 10,\\n \\"Count\\": 10,\\n \\"Code\\": 404\\n },\\n \\"Traffic\\": \\"10Gb\\",\\n \\"Request\\": 10\\n },\\n \\"Interval\\": 10\\n },\\n \\"Type\\": \\"http_custom\\",\\n \\"AppPackage\\": {\\n \\"PackageSigns\\": [\\n {\\n \\"Sign\\": \\"sign\\",\\n \\"Name\\": \\"name\\"\\n }\\n ]\\n },\\n \\"ManagedGroupId\\": 30000001,\\n \\"Timer\\": {\\n \\"Scopes\\": \\"permanent\\",\\n \\"Zone\\": 8,\\n \\"Periods\\": [\\n {\\n \\"Start\\": \\"2025-01-01T00:00:00Z\\",\\n \\"End\\": \\"2025-01-01T01:00:00Z\\"\\n }\\n ],\\n \\"WeeklyPeriods\\": [\\n {\\n \\"Days\\": \\"1\\",\\n \\"DailyPeriods\\": [\\n {\\n \\"Start\\": \\"00:00:00\\",\\n \\"End\\": \\"01:00:00\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"Expression\\": \\"ip.src eq 1.1.1.1\\",\\n \\"SecurityLevel\\": {\\n \\"Value\\": \\"low\\"\\n },\\n \\"Value\\": \\"10.0.0.1\\",\\n \\"Id\\": 20000001,\\n \\"Notes\\": \\"example notes\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListCacheReserveInstances' => [ + 'summary' => 'Query Cache Reserve Instance List', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238745', + 'abilityTreeNodes' => [ + 'FEATUREdcdn51XOHW', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Status', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The status of the cache reserve instance. Valid values:'."\n" + ."\n" + .'* **online**: The instance is in service.'."\n" + .'* **offline**: The instance has expired within an allowable period. In this state, it is unavailable.'."\n" + .'* **disable**: The instance has been released.'."\n" + .'* **overdue**: The instance has been stopped due to overdue payments.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'online', + 'enum' => [ + 'online', + 'offline', + 'disable', + 'all', + 'overdue', + ], + 'title' => '', + ], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The criterion by which you want to sort the queried instances. Valid values:'."\n" + ."\n" + .'* **ExpireTime**'."\n" + .'* **CreateTime**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ExpireTime', + 'enum' => [ + 'ExpireTime', + 'CreateTime', + 'default', + ], + 'title' => '', + ], + ], + [ + 'name' => 'SortOrder', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The order by which you want to sort the queried instances. Valid values:'."\n" + ."\n" + .'* **asc**'."\n" + .'* **desc**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'desc', + 'enum' => [ + 'asc', + 'desc', + ], + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'Page number.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'Page size. Range: **1~500**, default is **500**.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Instance ID.', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-xcdn-96wblslz****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Details of the cache reserve instances.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '65C66B7B-671A-8297-9187-2R5477247B76', + ], + 'InstanceInfo' => [ + 'description' => 'The cache reserve instances.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the cache reserve instance.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => 'Instance ID.', + 'type' => 'string', + 'example' => 'sp-xcdn-96wblslz****', + 'title' => '', + ], + 'ExpireTime' => [ + 'description' => 'Instance expiration time.', + 'type' => 'string', + 'example' => '2024-10-05T16:00:00Z', + 'title' => '', + ], + 'Duration' => [ + 'description' => 'Duration of the instance purchase, unit: months.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'Instance purchase time.', + 'type' => 'string', + 'example' => '2024-04-12T05:41:51Z', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the cache reserve instance. Valid values:'."\n" + ."\n" + .'* **online**: The instance is in service.'."\n" + .'* **offline**: The instance has expired within an allowable period. In this state, it is unavailable.'."\n" + .'* **disable**: The instance has been released.'."\n" + .'* **overdue**: The instance has been stopped due to overdue payments.'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + 'CacheReserveRegion' => [ + 'description' => 'Cache reserve usage region.', + 'type' => 'string', + 'example' => 'HK', + 'title' => '', + ], + 'CacheReserveCapacity' => [ + 'description' => 'Cache reserve capacity. Unit: GB.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '512000', + 'title' => '', + ], + 'ChargeType' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Page number. Default value: **1**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size, default **500**, range: **1~500**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '500', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total count.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '16', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"65C66B7B-671A-8297-9187-2R5477247B76\\",\\n \\"InstanceInfo\\": [\\n {\\n \\"InstanceId\\": \\"sp-xcdn-96wblslz****\\",\\n \\"ExpireTime\\": \\"2024-10-05T16:00:00Z\\",\\n \\"Duration\\": 3,\\n \\"CreateTime\\": \\"2024-04-12T05:41:51Z\\",\\n \\"Status\\": \\"online\\",\\n \\"CacheReserveRegion\\": \\"HK\\",\\n \\"CacheReserveCapacity\\": 512000,\\n \\"ChargeType\\": \\"\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 500,\\n \\"TotalCount\\": 16,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + 'title' => 'ListCacheReserveInstances', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-21T03:25:57.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCacheReserveInstances', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListCacheReserveInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListCacheRules' => [ + 'summary' => 'Query multiple cache configurations', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257498', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '配置类型,可以根据此参数查全局配置或者功能配置,只有传了functionName才生效', + 'description' => 'Configuration type, which can be used to query global or rule-based configurations. Possible values:'."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule-based configuration.'."\n" + ."\n" + .'This parameter is optional; if not provided, it will not distinguish between global and rule-based configurations.', + 'type' => 'string', + 'required' => false, + 'example' => 'global', + 'enum' => [ + 'global', + 'rule', + ], + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效', + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '第几页,不传时默认为1', + 'description' => 'Page number, defaulting to 1 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页几条,最大500,不传时默认500', + 'description' => 'Number of items per page, with a maximum of 500. Defaults to 500 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version number. For sites with version management enabled, this parameter can specify the site version for which the configuration takes effect, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Configs' => [ + 'description' => 'Response body configuration.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '395386449776640', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Site configuration version number. For sites with version management enabled, this parameter can specify the site version for which the configuration takes effect, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, e.g., (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type, which can be used to query global or rule-based configurations. Possible values:'."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule-based configuration.', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'BypassCache' => [ + 'description' => 'Set bypass cache mode. Possible values:'."\n" + .'- cache_all: Cache all requests.'."\n" + .'- bypass_all: Bypass cache for all requests.', + 'type' => 'string', + 'example' => 'cache_all', + 'title' => '', + ], + 'BrowserCacheMode' => [ + 'description' => 'Browser cache mode. Possible values:'."\n" + .'- no_cache: Do not cache.'."\n" + .'- follow_origin: Follow origin cache policy.'."\n" + .'- override_origin: Override origin cache policy.', + 'type' => 'string', + 'example' => 'no_cache', + 'title' => '', + ], + 'BrowserCacheTtl' => [ + 'description' => 'Browser cache expiration time, in seconds.', + 'type' => 'string', + 'example' => '300', + 'title' => '', + ], + 'EdgeCacheMode' => [ + 'description' => 'Edge cache mode. The value range is as follows:'."\n" + .'- follow_origin: Follow the origin server\'s cache policy (if it exists), otherwise use the default cache policy.'."\n" + .'- no_cache: Do not cache.'."\n" + .'- override_origin: Override the origin server\'s cache policy.'."\n" + .'- follow_origin_bypass: Follow the origin server\'s cache policy (if it exists), otherwise do not cache.', + 'type' => 'string', + 'example' => 'follow_origin', + 'title' => '', + ], + 'EdgeCacheTtl' => [ + 'description' => 'Edge cache expiration time, in seconds.', + 'type' => 'string', + 'example' => '300', + 'title' => '', + ], + 'EdgeStatusCodeCacheTtl' => [ + 'description' => 'Edge cache expiration time, in seconds.', + 'type' => 'string', + 'example' => '4xx=10', + 'title' => '', + ], + 'SortQueryStringForCache' => [ + 'description' => 'Query string sorting. The value range is as follows:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'QueryStringMode' => [ + 'description' => 'The processing mode for query strings when generating the cache key. The value range is as follows:'."\n" + .'- ignore_all: Ignore all query strings.'."\n" + .'- exclude_query_string: Exclude specified query strings.'."\n" + .'- reserve_all: Default, reserve all query strings.'."\n" + .'- include_query_string: Include specified query strings.', + 'type' => 'string', + 'example' => 'ignore_all', + 'title' => '', + ], + 'QueryString' => [ + 'description' => 'The query strings to be reserved or excluded. Multiple values are supported, separated by spaces.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + ], + 'IncludeHeader' => [ + 'description' => 'Include the specified header names and their values when generating the cache key. Multiple values are supported, separated by spaces.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + ], + 'IncludeCookie' => [ + 'description' => 'Include the specified cookie names and their values when generating the cache key. Multiple values are supported, separated by spaces.', + 'type' => 'string', + 'example' => 'cookie_exapmle', + 'title' => '', + ], + 'CacheReserveEligibility' => [ + 'description' => 'Cache reserve eligibility. This is used to control whether user requests bypass the cache reserve node when returning to the origin. The value range is as follows:'."\n" + .'- bypass_cache_reserve: Requests bypass the cache reserve.'."\n" + .'- eligible_for_cache_reserve: Eligible for cache reserve.', + 'type' => 'string', + 'example' => 'bypass_cache_reserve', + 'title' => '', + ], + 'CheckPresenceHeader' => [ + 'description' => 'When generating the cache key, check if the header exists. If it does, add the header name (case-insensitive) to the cache key. Multiple header names are supported, separated by spaces.', + 'type' => 'string', + 'example' => 'headername', + 'title' => '', + ], + 'CheckPresenceCookie' => [ + 'description' => 'When generating the cache key, check if the cookie exists. If it does, add the cookie name (case-insensitive) to the cache key. Multiple cookie names are supported, separated by spaces.', + 'type' => 'string', + 'example' => 'cookiename', + 'title' => '', + ], + 'UserDeviceType' => [ + 'description' => 'Include the client device type when generating the cache key. The value range is as follows:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'UserGeo' => [ + 'description' => 'Include the client\'s geographic location when generating the cache key. The value range is as follows:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'UserLanguage' => [ + 'description' => 'Include the client\'s language type when generating the cache key. The value range is as follows:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'ServeStale' => [ + 'description' => 'Serve stale cache. When enabled, the node can still respond to user requests with expired cached files even when the origin server is unavailable. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'AdditionalCacheablePorts' => [ + 'description' => 'Enable caching on specified ports. Value range: 8880, 2052, 2082, 2086, 2095, 2053, 2083, 2087, 2096.', + 'type' => 'string', + 'example' => '2082', + 'title' => '', + ], + 'CacheDeceptionArmor' => [ + 'description' => 'Cache deception defense. Used to defend against web cache deception attacks; only verified cache content will be cached. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'PostCache' => [ + 'description' => 'Toggle for the Post caching feature. ', + 'title' => 'Toggle for the Post caching feature. ', + 'type' => 'string', + 'example' => 'on', + ], + 'PostBodyCacheKey' => [ + 'description' => 'Processing pattern for the cache key. ', + 'title' => 'Processing pattern for the cache key. ', + 'type' => 'string', + 'example' => 'ignore', + ], + 'PostBodySizeLimit' => [ + 'description' => 'Body size limit. The value is a numeric value in KB. Body sizes from 1 KB to 8 KB are supported. When the value is empty, it defaults to 8 KB.', + 'type' => 'string', + 'example' => '1', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of records.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 395386449776640,\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"global\\",\\n \\"BypassCache\\": \\"cache_all\\",\\n \\"BrowserCacheMode\\": \\"no_cache\\",\\n \\"BrowserCacheTtl\\": \\"300\\",\\n \\"EdgeCacheMode\\": \\"follow_origin\\",\\n \\"EdgeCacheTtl\\": \\"300\\",\\n \\"EdgeStatusCodeCacheTtl\\": \\"4xx=10\\",\\n \\"SortQueryStringForCache\\": \\"on\\",\\n \\"QueryStringMode\\": \\"ignore_all\\",\\n \\"QueryString\\": \\"example\\",\\n \\"IncludeHeader\\": \\"example\\",\\n \\"IncludeCookie\\": \\"cookie_exapmle\\",\\n \\"CacheReserveEligibility\\": \\"bypass_cache_reserve\\",\\n \\"CheckPresenceHeader\\": \\"headername\\",\\n \\"CheckPresenceCookie\\": \\"cookiename\\",\\n \\"UserDeviceType\\": \\"on\\",\\n \\"UserGeo\\": \\"on\\",\\n \\"UserLanguage\\": \\"on\\",\\n \\"ServeStale\\": \\"on\\",\\n \\"AdditionalCacheablePorts\\": \\"2082\\",\\n \\"CacheDeceptionArmor\\": \\"on\\",\\n \\"PostCache\\": \\"on\\",\\n \\"PostBodyCacheKey\\": \\"ignore\\",\\n \\"PostBodySizeLimit\\": \\"1\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 20,\\n \\"TotalPage\\": 2\\n}","type":"json"}]', + 'title' => 'List Site Cache Configurations', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCacheRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListCacheRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'ListCertificates' => [ + 'summary' => 'List certificates under a site', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238842', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Keyword', + 'in' => 'query', + 'schema' => [ + 'description' => 'The keyword that is used for the search.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example', + 'title' => '', + ], + ], + [ + 'name' => 'ValidOnly', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to return only valid certificates.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com ', + 'title' => '', + ], + 'Result' => [ + 'description' => 'The queried certificates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the certificates.'."\n", + 'type' => 'object', + 'properties' => [ + 'CasId' => [ + 'description' => 'The certificate ID on Certificate Management Service.'."\n", + 'type' => 'string', + 'example' => '30000569', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID on ESA.'."\n", + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838e****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Region' => [ + 'description' => 'The region where the certificate is stored.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The certificate status.'."\n" + ."\n" + .'* OK'."\n" + .'* Expired'."\n" + .'* Expiring'."\n" + .'* Issued'."\n" + .'* Applying'."\n" + .'* ApplyFailed'."\n" + .'* Canceled'."\n", + 'type' => 'string', + 'example' => 'OK', + 'enumValueTitles' => [ + 'Expiring' => '证书即将过期(30 天内)', + 'Issued' => '免费证书-已签发', + 'Expired' => '证书已过期', + 'Applying' => '免费证书-申请中', + 'OK' => '正常', + ], + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type.'."\n" + ."\n" + .'* cas: certificate that is purchased by using Certificate Management Service'."\n" + .'* upload: custom certificate that you upload'."\n" + .'* free: free certificate'."\n", + 'type' => 'string', + 'example' => 'free', + 'enumValueTitles' => [ + 'cas' => '云盾证书', + 'upload' => '自定义上传证书', + 'keyless' => 'Keyless证书', + 'free' => '免费证书', + ], + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-03-31 02:08:00', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-03-31 02:08:00', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'IssuerCN' => [ + 'description' => 'The Common Name of the certificate issuer.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign Organization Validation CA - SHA256 - G3', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The Subject Alternative Name (SAN) of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SigAlg' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubAlg' => [ + 'description' => 'The public key algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the certificate was created.'."\n", + 'type' => 'string', + 'example' => '2022-06-24 07:48:51', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the certificate was updated.'."\n", + 'type' => 'string', + 'example' => '2023-04-20 06:18:42', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.'."\n", + 'type' => 'string', + 'example' => 'babab022c5e9b27bf9c64d7f4b16****', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****', + 'title' => '', + ], + 'DCV' => [ + 'description' => 'The Domain Control Validation (DCV) information.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The DCV information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The DCV ID.'."\n", + 'type' => 'string', + 'example' => 'bababf7cdd1546a2ad04c0def1f4****', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The DCV type. Valid values: DNS and HTTP.'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'DNS' => 'DNS', + 'HTTP' => 'HTTP', + ], + 'example' => 'HTTP', + 'title' => '', + ], + 'Key' => [ + 'description' => 'The DCV name. It is a TXT record name if Type is DNS or URL if Type is HTTP.'."\n", + 'type' => 'string', + 'example' => 'http://www.example.com/.well-known/acme-challenge/pH20CqwS5L3ZnvkhI436DCzadKFuG7QcUcvB_4KsAow', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The DCV content.'."\n", + 'type' => 'string', + 'example' => 'pH20CqwS5L3ZnvkhI436DCzadKFuG7QcUcvB_4KsAow.KfzYo4LH3EgOt7a73G-RqZkbR0eYtLfEUmtmqGmr4FQ', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The verification status.'."\n", + 'type' => 'string', + 'example' => 'pending', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ApplyCode' => [ + 'description' => 'The error code returned for certificate application.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '2', + 'title' => '', + ], + 'ApplyMessage' => [ + 'description' => 'The error message returned for certificate application.'."\n", + 'type' => 'string', + 'example' => 'canceled', + 'title' => '', + ], + 'KeyServerId' => [ + 'description' => 'Keyless server ID. Valid only when Type is keyless.', + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838e****'."\n", + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"TotalCount\\": 10,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com \\",\\n \\"Result\\": [\\n {\\n \\"CasId\\": \\"30000569\\",\\n \\"Id\\": \\"baba39055622c008b90285a8838e****\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"Status\\": \\"OK\\",\\n \\"Type\\": \\"free\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"NotBefore\\": \\"2023-03-31 02:08:00\\",\\n \\"NotAfter\\": \\"2024-03-31 02:08:00\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"IssuerCN\\": \\"GlobalSign Organization Validation CA - SHA256 - G3\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SigAlg\\": \\"SHA256-RSA\\",\\n \\"PubAlg\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2022-06-24 07:48:51\\",\\n \\"UpdateTime\\": \\"2023-04-20 06:18:42\\",\\n \\"SerialNumber\\": \\"babab022c5e9b27bf9c64d7f4b16****\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****\\",\\n \\"DCV\\": [\\n {\\n \\"Id\\": \\"bababf7cdd1546a2ad04c0def1f4****\\",\\n \\"Type\\": \\"HTTP\\",\\n \\"Key\\": \\"http://www.example.com/.well-known/acme-challenge/pH20CqwS5L3ZnvkhI436DCzadKFuG7QcUcvB_4KsAow\\",\\n \\"Value\\": \\"pH20CqwS5L3ZnvkhI436DCzadKFuG7QcUcvB_4KsAow.KfzYo4LH3EgOt7a73G-RqZkbR0eYtLfEUmtmqGmr4FQ\\",\\n \\"Status\\": \\"pending\\"\\n }\\n ],\\n \\"ApplyCode\\": 2,\\n \\"ApplyMessage\\": \\"canceled\\",\\n \\"KeyServerId\\": \\"baba39055622c008b90285a8838e****\\\\n\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'List Site Certificates', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCertificates', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'translator' => 'machine', + ], + 'ListCertificatesByRecord' => [ + 'summary' => 'Lists certificates that match specified records for a website. You can specify multiple records at a time.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239262', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The record name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'www.example.com ', + 'title' => '', + ], + ], + [ + 'name' => 'ValidOnly', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to return only valid certificates. 0 indicates that all matched certificates are returned. 1 indicates that only valid certificates are returned.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'Detail', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to return the certificate details. 0 indicates that the certificate details are not returned. 1 indicates that the certificate details are returned.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '65C66B7B-671A-8297-9187-2R5477247B76', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of records that you specified.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '12', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID,'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com ', + 'title' => '', + ], + 'Result' => [ + 'description' => 'The queried certificates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the certificates.'."\n", + 'type' => 'object', + 'properties' => [ + 'RecordName' => [ + 'description' => 'The name of the record.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'Count' => [ + 'description' => 'The number of certificates that match the specified records.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + 'title' => '', + ], + 'Certificates' => [ + 'description' => 'The certificates that match the specified records.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The queried certificate.'."\n", + 'type' => 'object', + 'properties' => [ + 'CasId' => [ + 'description' => 'The certificate ID on Certificate Management Service.'."\n", + 'type' => 'string', + 'example' => '30000137', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The ID of the certificate.'."\n", + 'type' => 'string', + 'example' => 'babab022c5e9b27bf9c64d7f4b1667f4', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Region' => [ + 'description' => 'The region where the certificate is stored.'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the certificate.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of the SSL certificate. Valid values:'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'cas' => '云盾证书', + 'upload' => '自定义上传证书', + 'keyless' => 'Keyless证书', + 'free' => '免费证书', + ], + 'example' => 'free', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-02-28 06:17:11', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-02-28 06:17:11', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'IssuerCN' => [ + 'description' => 'The Common Name of the certificate issuer.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign Organization Validation CA - SHA256 - G3', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The Subject Alternative Name (SAN) of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SigAlg' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubAlg' => [ + 'description' => 'The public key algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The creation time.'."\n", + 'type' => 'string', + 'example' => '2023-02-28 06:17:11', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The update time.'."\n", + 'type' => 'string', + 'example' => '2023-02-28 06:17:11', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.'."\n", + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66', + 'title' => '', + ], + 'KeyServerId' => [ + 'description' => 'Keyless server ID. Valid when Type is keyless.', + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838e****'."\n", + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ApplylingCount' => [ + 'description' => 'The number of certificates that are being requested.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'Status' => [ + 'description' => 'Certificate configuration status. Possible values: none; configured; applying; failed.'."\n", + 'type' => 'string', + 'enumValueTitles' => [ + 'configured' => 'configured', + 'applying' => 'applying', + 'none' => 'none', + 'failed' => 'failed', + ], + 'example' => 'none', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'Required parameter RecordName missing. Specify RecordName and try again.', + 'description' => 'Required parameter RecordName missing. Specify RecordName and try again.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"65C66B7B-671A-8297-9187-2R5477247B76\\",\\n \\"TotalCount\\": 12,\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com \\",\\n \\"Result\\": [\\n {\\n \\"RecordName\\": \\"www.example.com \\",\\n \\"Count\\": 3,\\n \\"Certificates\\": [\\n {\\n \\"CasId\\": \\"30000137\\",\\n \\"Id\\": \\"babab022c5e9b27bf9c64d7f4b1667f4\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Region\\": \\"cn-hangzhou\\",\\n \\"Status\\": \\"OK\\",\\n \\"Type\\": \\"free\\",\\n \\"CommonName\\": \\"www.example.com \\",\\n \\"NotBefore\\": \\"2023-02-28 06:17:11\\",\\n \\"NotAfter\\": \\"2024-02-28 06:17:11\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"IssuerCN\\": \\"GlobalSign Organization Validation CA - SHA256 - G3\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SigAlg\\": \\"SHA256-RSA\\",\\n \\"PubAlg\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2023-02-28 06:17:11\\",\\n \\"UpdateTime\\": \\"2023-02-28 06:17:11\\",\\n \\"SerialNumber\\": \\"baba39055622c008b90285a8838ed09a\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66\\",\\n \\"KeyServerId\\": \\"baba39055622c008b90285a8838e****\\\\n\\"\\n }\\n ],\\n \\"ApplylingCount\\": 1,\\n \\"Status\\": \\"none\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListCertificatesByRecord', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCertificatesByRecord', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListCertificatesByRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'translator' => 'machine', + ], + 'ListCiphers' => [ + 'summary' => 'Query TLS Cipher Suite List', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239324', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'CiphersGroup', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the cipher suite group, which can be: all, strict, custom.', + 'type' => 'string', + 'required' => true, + 'example' => 'strict', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of cipher suites.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '16', + 'title' => '', + ], + 'CiphersGroup' => [ + 'description' => 'Name of the cipher suite group.', + 'type' => 'string', + 'example' => 'all', + 'title' => '', + ], + 'Result' => [ + 'description' => 'Returned result.', + 'type' => 'array', + 'items' => [ + 'description' => 'Cipher suite name', + 'type' => 'string', + 'example' => 'ECDHE-ECDSA-AES256-GCM-SHA384', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"TotalCount\\": 16,\\n \\"CiphersGroup\\": \\"all\\",\\n \\"Result\\": [\\n \\"ECDHE-ECDSA-AES256-GCM-SHA384\\"\\n ]\\n}","type":"json"}]', + 'title' => 'ListCiphers', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCiphers', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListCiphers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListClientCaCertificates' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239292', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Valid values: 1 to 500.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: 20. Valid values: 1 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '16', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Result' => [ + 'description' => 'The queried client CA certificates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The certificate information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babab9db65ee5efcca9f3d41d4b5****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The certificate status.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type.'."\n", + 'type' => 'string', + 'example' => 'upload', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-03-31 02:08:00', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-03-31 02:08:00', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The CA that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The Subject Alternative Name (SAN) of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubkeyAlgorithm' => [ + 'description' => 'The public-key algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the certificate was created.'."\n", + 'type' => 'string', + 'example' => '2024-06-24 07:48:51', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the certificate was updated.'."\n", + 'type' => 'string', + 'example' => '2024-07-20 06:18:42', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The certificate serial number.', + 'type' => 'string', + 'example' => 'babab022c5e9b27bf9c64d7f4b16****', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'Certificate SHA256 fingerprint. ', + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Obtain the client CA certificate list', + 'summary' => 'Retrieve the list of client CA certificates under the specified site. ', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-12T03:30:13.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListClientCaCertificates', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListClientCaCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\",\\n \\"TotalCount\\": 16,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\",\\n \\"Result\\": [\\n {\\n \\"Id\\": \\"babab9db65ee5efcca9f3d41d4b5****\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Status\\": \\"OK\\",\\n \\"Type\\": \\"upload\\",\\n \\"CommonName\\": \\"www.example.com \\",\\n \\"NotBefore\\": \\"2023-03-31 02:08:00\\",\\n \\"NotAfter\\": \\"2024-03-31 02:08:00\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"PubkeyAlgorithm\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2024-06-24 07:48:51\\",\\n \\"UpdateTime\\": \\"2024-07-20 06:18:42\\",\\n \\"SerialNumber\\": \\"babab022c5e9b27bf9c64d7f4b16****\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListClientCertificates' => [ + 'summary' => 'Queries client certificates configured for a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239148', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Result' => [ + 'description' => 'The client certificates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The queried certificate.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babab9db65ee5efcca9f3d41d4b50d66', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The certificate status.'."\n", + 'type' => 'string', + 'example' => 'active', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type.'."\n", + 'type' => 'string', + 'example' => 'dcdn', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-03-31 02:08:00', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-03-31 02:08:00', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The Subject Alternative Name (SAN) of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubkeyAlgorithm' => [ + 'description' => 'The public key algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the certificate was created.'."\n", + 'type' => 'string', + 'example' => '2024-06-24 07:48:51', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the certificate was updated.'."\n", + 'type' => 'string', + 'example' => '2024-07-20 06:18:42', + 'title' => '', + ], + 'CACertificateId' => [ + 'description' => 'The ID of the CA certificate.'."\n", + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + 'SerialNumber' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'FingerprintSha256' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"TotalCount\\": 5,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\",\\n \\"Result\\": [\\n {\\n \\"Id\\": \\"babab9db65ee5efcca9f3d41d4b50d66\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Status\\": \\"active\\",\\n \\"Type\\": \\"dcdn\\",\\n \\"CommonName\\": \\"www.example.com \\",\\n \\"NotBefore\\": \\"2023-03-31 02:08:00\\",\\n \\"NotAfter\\": \\"2024-03-31 02:08:00\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"PubkeyAlgorithm\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2024-06-24 07:48:51\\",\\n \\"UpdateTime\\": \\"2024-07-20 06:18:42\\",\\n \\"CACertificateId\\": \\"baba39055622c008b90285a8838ed09a\\",\\n \\"SerialNumber\\": \\"\\",\\n \\"FingerprintSha256\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListClientCertificates', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-12T03:30:13.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListClientCertificates', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListClientCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'ListCompressionRules' => [ + 'summary' => 'Query the list of compression rules', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257666', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '34003500310****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID, which can be obtained by calling the [ListRedirectRules](~~2867474~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '配置类型,可以根据此参数查全局配置或者功能配置,只有传了functionName才生效', + 'description' => 'Configuration type. Possible values:'."\n" + .'- global: Global configuration.'."\n" + .'- rule: Rule-based configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule', + 'enum' => [ + 'global', + 'rule', + ], + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效', + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '第几页,不传时默认为1', + 'description' => 'Page number.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页几条,最大500,不传时默认500', + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the site configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F'."\n", + ], + 'Configs' => [ + 'description' => 'List of compression rule configurations.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the compression rule configuration.', + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****'."\n", + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the site configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type. Possible values:'."\n" + .'- global: Global configuration.'."\n" + .'- rule: Rule-based configuration.', + 'type' => 'string', + 'example' => 'rule', + 'title' => '', + ], + 'Gzip' => [ + 'description' => 'Gzip compression. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Brotli' => [ + 'description' => 'Brotli compression. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Zstd' => [ + 'description' => 'Zstd compression. Value range: - on: Enable. - off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of items.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '16', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\\\n\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 0,\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"rule\\",\\n \\"Gzip\\": \\"on\\",\\n \\"Brotli\\": \\"on\\",\\n \\"Zstd\\": \\"on\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 16,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + 'title' => 'List Compression Rule Configurations', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-12T02:25:41.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCompressionRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListCompressionRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'ListCustomHostnames' => [ + 'summary' => 'Queries the Software as a Service (SaaS) domain names for a site. This operation returns the ID, status, and domain validation information for each SaaS domain name. You can filter the results by the SaaS domain name, site ID, or the ID of the attached record.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239634', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4DMKZ4', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID. Obtain this ID by calling the [ListSites](~~2850189~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'title' => '', + 'example' => '744571165985008', + ], + ], + [ + 'name' => 'RecordId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the attached record. Obtain this ID by calling the [ListRecords](~~2850265~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'title' => '', + 'example' => '1234567890123', + ], + ], + [ + 'name' => 'Hostname', + 'in' => 'query', + 'schema' => [ + 'description' => 'The SaaS domain name.', + 'type' => 'string', + 'title' => '', + 'required' => false, + 'example' => 'custom.site.com', + ], + ], + [ + 'name' => 'NameMatchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The match pattern for searching SaaS domain names. The default value is \\`exact\\`.'."\n" + ."\n" + .'- **prefix**: Prefix match.'."\n" + ."\n" + .'- **suffix**: Suffix match.'."\n" + ."\n" + .'- **exact**: Exact match.'."\n" + ."\n" + .'- **fuzzy**: Fuzzy match.', + 'type' => 'string', + 'enum' => [ + 'prefix', + 'suffix', + 'exact', + 'fuzzy', + ], + 'title' => '', + 'required' => false, + 'example' => 'exact', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'The status of the SaaS domain name.'."\n" + ."\n" + .'- **pending**: Pending validation.'."\n" + ."\n" + .'- **active**: Active.'."\n" + ."\n" + .'- **conflicted**: Conflicted.'."\n" + ."\n" + .'- **offline**: Offline.', + 'type' => 'string', + 'enum' => [ + 'pending', + 'active', + 'conflicted', + 'offline', + ], + 'title' => '', + 'required' => false, + 'example' => 'active', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Pages start from 1. The default value is 1.', + 'type' => 'integer', + 'format' => 'int32', + 'title' => '', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. The default value is 100. The maximum value is 500.', + 'type' => 'integer', + 'format' => 'int32', + 'title' => '', + 'required' => false, + 'example' => '100', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The unique ID of the request.', + 'type' => 'string', + 'title' => '', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'PageNumber' => [ + 'description' => 'The page number.', + 'type' => 'integer', + 'format' => 'int32', + 'title' => '', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.', + 'type' => 'integer', + 'format' => 'int32', + 'title' => '', + 'example' => '100', + ], + 'TotalCount' => [ + 'description' => 'The total number of SaaS domain names.', + 'type' => 'integer', + 'format' => 'int32', + 'title' => '', + 'example' => '10', + ], + 'Hostnames' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'HostnameId' => [ + 'description' => 'The ID of the SaaS domain name.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'example' => '1234567890123', + ], + 'Hostname' => [ + 'description' => 'The SaaS domain name.', + 'type' => 'string', + 'title' => '', + 'example' => 'custom.site.com', + ], + 'SiteId' => [ + 'description' => 'The site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'example' => '890601022130656', + ], + 'SiteName' => [ + 'description' => 'The site name.', + 'type' => 'string', + 'title' => '', + 'example' => 'example.com', + ], + 'RecordId' => [ + 'description' => 'The record ID.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'example' => '3386032455886912', + ], + 'RecordName' => [ + 'description' => 'The record name.', + 'type' => 'string', + 'title' => '', + 'example' => 'origin.example.com', + ], + 'Status' => [ + 'description' => 'The status of the SaaS domain name.'."\n" + ."\n" + .'- **pending**: Pending validation.'."\n" + ."\n" + .'- **active**: Active.'."\n" + ."\n" + .'- **conflicted**: Conflicted.'."\n" + ."\n" + .'- **offline**: Offline.', + 'type' => 'string', + 'enum' => [ + 'pending', + 'active', + 'conflicted', + 'offline', + ], + 'title' => '', + 'example' => 'active', + ], + 'SslFlag' => [ + 'description' => 'The SSL switch.'."\n" + ."\n" + .'- **on**: SSL is enabled.'."\n" + ."\n" + .'- **off**: SSL is disabled.', + 'type' => 'string', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + 'example' => 'on', + ], + 'CertType' => [ + 'description' => 'The certificate type.'."\n" + ."\n" + .'- **free**: Free certificate.'."\n" + ."\n" + .'- **upload**: Uploaded certificate.'."\n" + ."\n" + .'- **cas**: Alibaba Cloud Security certificate.', + 'type' => 'string', + 'enum' => [ + 'free', + 'upload', + 'cas', + ], + 'title' => '', + 'example' => 'free', + ], + 'CertHttpKey' => [ + 'description' => 'The HTTP URL for certificate validation.', + 'type' => 'string', + 'title' => '', + 'example' => 'http://custom.site.com/.well-known/acme-challenge/jLmMHlEaZ3jb352Qo3ciaSoAC8KZ5Hk0F-4_1xLQtgc', + ], + 'CertHttpValue' => [ + 'description' => 'The HTTP content for certificate validation.', + 'type' => 'string', + 'title' => '', + 'example' => 'jLmMHlEaZ3jb352Qo3ciaSoAC8KZ5Hk0F-4_1xLQtgc.GridYdfJJB5PgFEL-t89XfaFvMPB4f2-I9fwLpKl6e0', + ], + 'CertTxtKey' => [ + 'description' => 'The TXT name for certificate validation.', + 'type' => 'string', + 'title' => '', + 'example' => ' '."\n" + .'_acme-challenge.custom.site.com'."\n", + ], + 'CertTxtValue' => [ + 'description' => 'The TXT content for certificate validation.', + 'type' => 'string', + 'title' => '', + 'example' => ' '."\n" + .'lcKYad3UQXgrZLvMm_6TBUYKK4xTkGmninV0Mzx4gjM'."\n", + ], + 'VerifyHost' => [ + 'description' => 'The TXT name for domain validation.', + 'type' => 'string', + 'title' => '', + 'example' => '_esa_custom_hostname.custom.site.com'."\n", + ], + 'VerifyCode' => [ + 'description' => 'The TXT content for domain validation.', + 'type' => 'string', + 'title' => '', + 'example' => 'verify_16ab7f4d389d4dff6655f995c6a997bd'."\n", + ], + 'CertStatus' => [ + 'description' => 'The certificate status.'."\n" + ."\n" + .'- **OK**: Normal.'."\n" + ."\n" + .'- **Applying**: Applying.'."\n" + ."\n" + .'- **ApplyFailed**: Application failed.'."\n" + ."\n" + .'- **Expiring**: Expiring soon.'."\n" + ."\n" + .'- **Expired**: Expired.', + 'type' => 'string', + 'enum' => [ + 'OK', + 'Expired', + 'Expiring', + 'Applying', + 'ApplyFailed', + ], + 'title' => '', + 'example' => 'OK', + ], + 'CertNotAfter' => [ + 'description' => 'The expiration time of the certificate. The date is in the ISO 8601 format and uses UTC. The format is \\`yyyy-MM-ddTHH:mm:ssZ\\`.', + 'type' => 'string', + 'title' => '', + 'example' => '2026-04-19T11:15:20Z'."\n", + ], + 'CertApplyMessage' => [ + 'description' => 'The error description for the free certificate application.', + 'type' => 'string', + 'title' => '', + 'example' => 'canceled', + ], + 'CertApplyCode' => [ + 'description' => 'The error code for the free certificate application.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'example' => '2'."\n", + ], + 'OfflineReason' => [ + 'description' => 'The reason why the SaaS domain name was taken offline.'."\n" + ."\n" + .'- **expiration\\_arrears**: The subscription plan expired or the account has an overdue payment.'."\n" + ."\n" + .'- **internally\\_disabled**: Disabled by the system.'."\n" + ."\n" + .'- **missing\\_icp**: The domain name lacks an ICP filing.'."\n" + ."\n" + .'- **content\\_violation**: Content violation.'."\n" + ."\n" + .'- **proactively\\_disabled**: Disabled by you or because the usage cap was reached.', + 'type' => 'string', + 'enum' => [ + 'proactively_disabled', + 'content_violation', + 'internally_disabled', + 'missing_icp', + 'expiration_arrears', + ], + 'title' => '', + 'example' => 'missing_icp', + ], + 'ConflictWith' => [ + 'description' => 'The reason why the SaaS domain name is conflicted.'."\n" + ."\n" + .'- **existing\\_custom\\_hostname**: Conflicts with an existing SaaS domain name.'."\n" + ."\n" + .'- **existing\\_record**: Conflicts with an existing site record.'."\n" + ."\n" + .'- **existing\\_load\\_balancer**: Conflicts with an existing load balancer.'."\n" + ."\n" + .'- **existing\\_origin\\_pool**: Conflicts with an existing origin pool.', + 'type' => 'string', + 'enum' => [ + 'existing_custom_hostname', + 'existing_site', + 'existing_record', + 'existing_load_balancer', + 'existing_origin_pool', + ], + 'title' => '', + 'example' => 'existing_custom_hostname', + ], + 'CreateTime' => [ + 'description' => 'The creation time of the SaaS domain name. The date is in the ISO 8601 format and uses UTC. The format is \\`yyyy-MM-ddTHH:mm:ssZ\\`.', + 'type' => 'string', + 'title' => '', + 'example' => '2026-04-19T11:15:20Z', + ], + 'UpdateTime' => [ + 'description' => 'The update time of the SaaS domain name. The date is in the ISO 8601 format and uses UTC. The format is \\`yyyy-MM-ddTHH:mm:ssZ\\`.', + 'type' => 'string', + 'title' => '', + 'example' => '2026-04-19T11:15:20Z', + ], + ], + 'description' => 'The information about a single SaaS domain name.', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'description' => 'The list of SaaS domain names.', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'CustomHostname.NotFound', + 'errorMessage' => 'The custom hostname does not exist. Modify it and try again.', + 'description' => 'The custom hostname does not exist. Modify it and try again.', + ], + [ + 'errorCode' => 'CustomHostname.ApplyCertFailed', + 'errorMessage' => 'Fail to apply a free cert for custom hostname. Please try again later.', + 'description' => '', + ], + [ + 'errorCode' => 'CustomHostname.SetCertFailed', + 'errorMessage' => 'Fail to deploy a cert for custom hostname. Please try again later.', + 'description' => '', + ], + ], + ], + 'title' => 'ListCustomHostnames', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 100,\\n \\"TotalCount\\": 10,\\n \\"Hostnames\\": [\\n {\\n \\"HostnameId\\": 1234567890123,\\n \\"Hostname\\": \\"custom.site.com\\",\\n \\"SiteId\\": 890601022130656,\\n \\"SiteName\\": \\"example.com\\",\\n \\"RecordId\\": 3386032455886912,\\n \\"RecordName\\": \\"origin.example.com\\",\\n \\"Status\\": \\"active\\",\\n \\"SslFlag\\": \\"on\\",\\n \\"CertType\\": \\"free\\",\\n \\"CertHttpKey\\": \\"http://custom.site.com/.well-known/acme-challenge/jLmMHlEaZ3jb352Qo3ciaSoAC8KZ5Hk0F-4_1xLQtgc\\",\\n \\"CertHttpValue\\": \\"jLmMHlEaZ3jb352Qo3ciaSoAC8KZ5Hk0F-4_1xLQtgc.GridYdfJJB5PgFEL-t89XfaFvMPB4f2-I9fwLpKl6e0\\",\\n \\"CertTxtKey\\": \\"\\\\t\\\\n_acme-challenge.custom.site.com\\\\n\\",\\n \\"CertTxtValue\\": \\"\\\\t\\\\nlcKYad3UQXgrZLvMm_6TBUYKK4xTkGmninV0Mzx4gjM\\\\n\\",\\n \\"VerifyHost\\": \\"_esa_custom_hostname.custom.site.com\\\\n\\",\\n \\"VerifyCode\\": \\"verify_16ab7f4d389d4dff6655f995c6a997bd\\\\n\\",\\n \\"CertStatus\\": \\"OK\\",\\n \\"CertNotAfter\\": \\"2026-04-19T11:15:20Z\\\\n\\",\\n \\"CertApplyMessage\\": \\"canceled\\",\\n \\"CertApplyCode\\": 2,\\n \\"OfflineReason\\": \\"missing_icp\\",\\n \\"ConflictWith\\": \\"existing_custom_hostname\\",\\n \\"CreateTime\\": \\"2026-04-19T11:15:20Z\\",\\n \\"UpdateTime\\": \\"2026-04-19T11:15:20Z\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListCustomResponseCodeRules' => [ + 'summary' => 'List the custom response code configurations for the site.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257649', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID. For more information, see [ListSites](~~2850189~~).', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '340035003106221', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '436490043994112', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration type. Use this parameter to query global or rule configurations. Valid values:'."\n" + ."\n" + .'- global: Queries global configurations.'."\n" + ."\n" + .'- rule: Queries rule configurations.', + 'type' => 'string', + 'enum' => [ + 'global', + 'rule', + ], + 'title' => '', + 'required' => false, + 'example' => 'global', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule name.', + 'type' => 'string', + 'title' => '', + 'required' => false, + 'example' => 'rule_example'."\n", + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the site configuration. For sites with configuration version control enabled, specify the site version for which the configuration takes effect using this parameter. The default value is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. The default value is 1 if you do not specify this parameter.', + 'type' => 'integer', + 'format' => 'int32', + 'title' => '', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. The maximum value is 500. The default value is 500 if you do not specify this parameter.', + 'type' => 'integer', + 'format' => 'int32', + 'title' => '', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The request response.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Configs' => [ + 'description' => 'You can modify the response code configuration list.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the custom response code configuration.', + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'The configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '395386449776640', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the site configuration. For sites with configuration version control enabled, this parameter specifies the site version for which the configuration takes effect. The default value is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The rule execution order. A smaller value indicates higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The rule content. Use a conditional expression to match user requests. Do not set this parameter when adding a global configuration. There are two scenarios:'."\n" + ."\n" + .'- Match all incoming requests: Set the value to true.'."\n" + ."\n" + .'- Match specific requests: Set the value to a custom expression, such as (http.host eq "video.example.com").', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'The rule switch. Do not set this parameter when adding a global configuration. Valid values:'."\n" + ."\n" + .'- on: Enabled.'."\n" + ."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'The rule name. Do not set this parameter when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The configuration type. Valid values:'."\n" + ."\n" + .'- global: Global configuration.'."\n" + ."\n" + .'- rule: Rule configuration.', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'ReturnCode' => [ + 'description' => 'The response code.', + 'type' => 'string', + 'example' => '200', + 'title' => '', + ], + 'PageId' => [ + 'description' => 'The response page.', + 'type' => 'string', + 'example' => '0', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number. Default value: **1**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The page size. Default value: 500. Valid values: 1 to 500.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'The total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'title' => 'ListCustomResponseCodeRules', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 395386449776640,\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleEnable\\": \\"on\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"global\\",\\n \\"ReturnCode\\": \\"200\\",\\n \\"PageId\\": \\"0\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 10,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + ], + 'ListESAIPInfo' => [ + 'summary' => 'Batch query whether the IP address is included in the ESA resolution result.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '243691', + 'abilityTreeNodes' => [ + 'FEATUREdcdnWQK30N', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'VipInfo', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'You can enter IPv4 or IPv6 addresses. Separate multiple IP addresses with commas (,). You can enter up to 20 IP addresses at a time.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '192.0.0.24,2408:8740:41FF:2:23::7FE,0.0.0.0,abcd', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n" + ."\n" + .'Example D03F9502-6653-127C-8A5F-0647197\\*\\*\\*\\*\\*'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + 'title' => '', + ], + 'Content' => [ + 'description' => 'The objects that are returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'Ip' => [ + 'description' => 'The IP addresses.'."\n", + 'type' => 'string', + 'example' => '27.129.167.239', + 'title' => '', + ], + 'CdnIp' => [ + 'description' => 'Whether the IP address in the parameter belongs to ESA POPs.'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'string', + 'example' => 'true', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Content\\": [\\n {\\n \\"Ip\\": \\"27.129.167.239\\",\\n \\"CdnIp\\": \\"true\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListESAIPInfo', + 'description' => '此接口用检测参数vipInfo集合中的vs_addr是否为vip。', + 'requestParamsDescription' => '参数为必传,不可为空。', + 'responseParamsDescription' => 'Ip为vipInfo中的vs_addr地址,CdnIp为判断结果', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '50', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListESAIPInfo', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListESAIPInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ListEdgeContainerAppImageSecrets' => [ + 'summary' => 'Retrieve the list of image secrets for edge container applications', + 'path' => '', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Application ID, which can be obtained using the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) interface.', + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '3558df77-8a7a-4060-a900-2d7949403836', + ], + 'ImageSecretList' => [ + 'description' => 'List of image secrets.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'Name of the image secret.', + 'type' => 'string', + 'example' => 'reg-123****', + 'title' => '', + ], + 'Registry' => [ + 'description' => 'Registry address.', + 'type' => 'string', + 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com', + 'title' => '', + ], + 'Username' => [ + 'description' => 'Username for the image repository', + 'type' => 'string', + 'example' => 'admin', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InvalidParameter.Appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the input application ID is incorrect. You can use the ListEdgeContainerApps API to obtain the application ID.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Get Edge Container Application Image Secrets List', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListEdgeContainerAppImageSecrets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3558df77-8a7a-4060-a900-2d7949403836\\",\\n \\"ImageSecretList\\": [\\n {\\n \\"Name\\": \\"reg-123****\\",\\n \\"Registry\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com\\",\\n \\"Username\\": \\"admin\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListEdgeContainerAppRecords' => [ + 'summary' => 'Lists domain names that are associated with a containerized application.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239590', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'maxLength' => 64, + 'minLength' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Valid values: **1** to **100000**. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: 20. Valid values: 1 to 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + ], + [ + 'name' => 'OrderKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sorting field. Valid values:'."\n" + ."\n" + .'* CreateTime: the time when the domain name was associated.'."\n" + .'* CreateTime: the time when the domain name was last modified.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CreateTime', + 'default' => 'CreateTime', + 'title' => '', + ], + ], + [ + 'name' => 'OrderType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The order in which you want to sort the query results. Valid values:'."\n" + ."\n" + .'* ASC: in ascending order.'."\n" + .'* DESC: in descending order.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'DESC', + 'default' => 'Desc', + 'title' => '', + ], + ], + [ + 'name' => 'SearchKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'The keyword that is used for the search.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ver-1006157458290860032', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The number of domain names that are associated with the specified application.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + 'Records' => [ + 'description' => 'The details about the associated domain names.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppId' => [ + 'description' => 'The application ID.'."\n", + 'type' => 'string', + 'example' => 'app-88068867578379****', + 'title' => '', + ], + 'Cname' => [ + 'description' => 'The CNAME of the associated domain name.'."\n", + 'type' => 'string', + 'example' => 'kdxceo****.yun****.com', + 'title' => '', + ], + 'ConfigId' => [ + 'description' => 'The configuration ID of the associated domain name.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '27522948436****', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the domain name was added. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-12-24T02:01:11Z', + 'title' => '', + ], + 'RecordId' => [ + 'description' => 'The record ID of the associated domain name.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '266****', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'The associated domain name.'."\n", + 'type' => 'string', + 'example' => 'a.example.com', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the scheduling domain ID or CNAME was last modified. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2021-12-22T08:32:02Z', + 'title' => '', + ], + 'SchemdId' => [ + 'description' => 'The scheduling domain ID of the associated domain name.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '123456', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5407498413****', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 2,\\n \\"Records\\": [\\n {\\n \\"AppId\\": \\"app-88068867578379****\\",\\n \\"Cname\\": \\"kdxceo****.yun****.com\\",\\n \\"ConfigId\\": 0,\\n \\"CreateTime\\": \\"2023-12-24T02:01:11Z\\",\\n \\"RecordId\\": 0,\\n \\"RecordName\\": \\"a.example.com\\",\\n \\"UpdateTime\\": \\"2021-12-22T08:32:02Z\\",\\n \\"SchemdId\\": 123456,\\n \\"SiteId\\": 0\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListEdgeContainerAppRecords', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T06:56:38.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeContainerAppRecords', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListEdgeContainerAppRecords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListEdgeContainerAppVersions' => [ + 'summary' => 'Lists versions of all containerized applications.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239225', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'maxLength' => 64, + 'minLength' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: 1 to 100.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + ], + [ + 'name' => 'OrderKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sorting field. Valid values:'."\n" + ."\n" + .'* Name: the version name.'."\n" + .'* CreateTime: the time when the version was created.'."\n" + .'* UpdateTime: the time when the version was last modified.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Name', + 'default' => 'CreateTime', + 'title' => '', + ], + ], + [ + 'name' => 'OrderType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The order in which you want to sort the query results. Valid values:'."\n" + ."\n" + .'* ASC: in ascending order.'."\n" + .'* DESC: in descending order.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Desc', + 'default' => 'Desc', + 'title' => '', + ], + ], + [ + 'name' => 'SearchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The parameter used for fuzzy search. Valid values: VersionId and Name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'VersionId', + 'title' => '', + ], + ], + [ + 'name' => 'SearchKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'The keyword used for the search.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ver-100568263967926****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'F61CDR30-E83C-4FDA-BF73-9A94CDD44229', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'Versions' => [ + 'description' => 'The versions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the version.'."\n", + 'type' => 'object', + 'properties' => [ + 'LastPublishTime' => [ + 'description' => 'The time when the version was last released. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-02-10T02:48:36Z'."\n", + 'title' => '', + ], + 'PublishTime' => [ + 'description' => 'The time when the version was released. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-02-10T02:48:36Z', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the current version. Valid values:'."\n" + ."\n" + .'* **created**'."\n" + .'* **failed**'."\n" + .'* **creating**'."\n", + 'type' => 'string', + 'example' => 'created', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the version was created. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2022-11-10T02:53:16Z', + 'title' => '', + ], + 'AppId' => [ + 'description' => 'The application ID.'."\n", + 'type' => 'string', + 'example' => 'app-88068867578379****', + 'title' => '', + ], + 'VersionId' => [ + 'description' => 'The version ID.'."\n", + 'type' => 'string', + 'example' => 'ver-87962637161651****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The version name.'."\n", + 'type' => 'string', + 'example' => 'version01', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the version was last modified. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-04-16 10:51:00', + 'title' => '', + ], + 'Remarks' => [ + 'description' => 'The remarks.'."\n", + 'type' => 'string', + 'example' => 'test version', + 'title' => '', + ], + 'Containers' => [ + 'description' => 'The containers in the version.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The container in the version.'."\n", + 'type' => 'object', + 'properties' => [ + 'EnvVariables' => [ + 'description' => 'The environment variables of the container.'."\n", + 'type' => 'string', + 'example' => 'ENV=prod', + 'title' => '', + ], + 'Args' => [ + 'description' => 'The arguments that are passed to the container startup command.'."\n", + 'type' => 'string', + 'example' => '-c a=1', + 'title' => '', + ], + 'Spec' => [ + 'description' => 'The compute specification of the container.'."\n", + 'type' => 'string', + 'example' => '1C2G', + 'title' => '', + ], + 'Image' => [ + 'description' => 'The address of the container image.'."\n", + 'type' => 'string', + 'example' => 'nginx', + 'title' => '', + ], + 'Command' => [ + 'description' => 'The command that is used to start the container.'."\n", + 'type' => 'string', + 'example' => 'openresty -g \\"daemon off;\\"', + 'title' => '', + ], + 'ProbeType' => [ + 'description' => 'The probe type of the container.'."\n", + 'type' => 'string', + 'example' => 'httpGet', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The container name.'."\n", + 'type' => 'string', + 'example' => 'container1', + 'title' => '', + ], + 'PreStop' => [ + 'description' => 'The command that is run before the container is stopped.'."\n", + 'type' => 'string', + 'example' => 'sh prestop.sh "echo hello world" ', + 'title' => '', + ], + 'PostStart' => [ + 'description' => 'The command that is run before the container is started. Format: `{"exec":{"command":\\["cat","/etc/group"\\]}}`.'."\n" + ."\n" + .'If you want to cancel this configuration, set the parameter value to `""` or `{}`. If you do not specify this parameter, this configuration is ignored.'."\n", + 'type' => 'string', + 'example' => 'sh poststart.sh "echo hello world" ', + 'title' => '', + ], + 'ProbeContent' => [ + 'description' => 'The container probe content.'."\n", + 'type' => 'object', + 'properties' => [ + 'SuccessThreshold' => [ + 'description' => 'The number of consecutive successful health checks required for a container to be considered as healthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Host' => [ + 'description' => 'The domain name that is used for health checks.'."\n", + 'type' => 'string', + 'example' => 'test.com', + 'title' => '', + ], + 'HttpHeaders' => [ + 'description' => 'The request headers that are included in the container health check request.'."\n", + 'type' => 'string', + 'example' => '{\\"Content-Type\\":\\"application/json\\"}', + 'title' => '', + ], + 'Scheme' => [ + 'description' => 'The protocol that the container health check request uses.'."\n", + 'type' => 'string', + 'example' => 'http', + 'title' => '', + ], + 'InitialDelaySeconds' => [ + 'description' => 'The latency for container probe initialization.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Command' => [ + 'description' => 'The probe command.'."\n", + 'type' => 'string', + 'example' => 'openresty -g "daemon off;', + 'title' => '', + ], + 'FailureThreshold' => [ + 'description' => 'The number of consecutive failed health checks required for a container to be considered as unhealthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + 'title' => '', + ], + 'TimeoutSeconds' => [ + 'description' => 'The timeout period of the container health check.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + 'title' => '', + ], + 'Path' => [ + 'description' => 'The path of the container health check.'."\n", + 'type' => 'string', + 'example' => '/health_check', + 'title' => '', + ], + 'Port' => [ + 'description' => 'The port of the container health check.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + 'title' => '', + ], + 'PeriodSeconds' => [ + 'description' => 'The interval between container health checks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.OrderType', + 'errorMessage' => 'The specified OrderType is invalid. Please check the OrderType parameter. You may not have set it to either Asc or Desc. Please make the necessary changes and call the interface again.', + 'description' => 'The OrderType parameter is invalid. Please check the OrderType parameter. You may not have set it to Asc or Desc. Please modify it and call the interface again.', + ], + [ + 'errorCode' => 'InvalidParameter.OrderKey', + 'errorMessage' => 'The specified OrderKey is invalid. Please check the OrderKey parameter.', + 'description' => 'The OrderKey parameter is invalid. Please check the OrderKey parameter, as it cannot be assigned illegal characters such as @, #, % etc. Please make the necessary modifications and call the interface again.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidPageSize.ValueNotSupported', + 'errorMessage' => 'The PageSize value is invalid. The default value is set to 20. The acceptable range is between 1 and 500.', + 'description' => 'The request PageSize value is invalid. The default value is 20 and the value range is 1-500.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F61CDR30-E83C-4FDA-BF73-9A94CDD44229\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 20,\\n \\"Versions\\": [\\n {\\n \\"LastPublishTime\\": \\"2023-02-10T02:48:36Z\\\\n\\",\\n \\"PublishTime\\": \\"2023-02-10T02:48:36Z\\",\\n \\"Status\\": \\"created\\",\\n \\"CreateTime\\": \\"2022-11-10T02:53:16Z\\",\\n \\"AppId\\": \\"app-88068867578379****\\",\\n \\"VersionId\\": \\"ver-87962637161651****\\",\\n \\"Name\\": \\"version01\\",\\n \\"UpdateTime\\": \\"2023-04-16 10:51:00\\",\\n \\"Remarks\\": \\"test version\\",\\n \\"Containers\\": [\\n {\\n \\"EnvVariables\\": \\"ENV=prod\\",\\n \\"Args\\": \\"-c a=1\\",\\n \\"Spec\\": \\"1C2G\\",\\n \\"Image\\": \\"nginx\\",\\n \\"Command\\": \\"openresty -g \\\\\\\\\\\\\\"daemon off;\\\\\\\\\\\\\\"\\",\\n \\"ProbeType\\": \\"httpGet\\",\\n \\"Name\\": \\"container1\\",\\n \\"PreStop\\": \\"sh prestop.sh \\\\\\"echo hello world\\\\\\" \\",\\n \\"PostStart\\": \\"sh poststart.sh \\\\\\"echo hello world\\\\\\" \\",\\n \\"ProbeContent\\": {\\n \\"SuccessThreshold\\": 1,\\n \\"Host\\": \\"test.com\\",\\n \\"HttpHeaders\\": \\"{\\\\\\\\\\\\\\"Content-Type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"application/json\\\\\\\\\\\\\\"}\\",\\n \\"Scheme\\": \\"http\\",\\n \\"InitialDelaySeconds\\": 10,\\n \\"Command\\": \\"openresty -g \\\\\\"daemon off;\\",\\n \\"FailureThreshold\\": 3,\\n \\"TimeoutSeconds\\": 30,\\n \\"Path\\": \\"/health_check\\",\\n \\"Port\\": 80,\\n \\"PeriodSeconds\\": 5\\n }\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListEdgeContainerAppVersions', + 'changeSet' => [ + [ + 'createdAt' => '2024-11-12T02:06:26.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeContainerAppVersions', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListEdgeContainerAppVersions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListEdgeContainerApps' => [ + 'summary' => 'Queries all containerized applications in your Alibaba Cloud account.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239248', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: **20**. Valid values: 1 to 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'OrderKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sorting field. This parameter is left empty by default. Valid values:'."\n" + ."\n" + .'* Name: the version name.'."\n" + .'* CreateTime: the time when the version was created.'."\n" + .'* UpdateTime: the time when the version was last modified.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CreateTime', + 'default' => 'CreateTime', + 'title' => '', + ], + ], + [ + 'name' => 'OrderType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The order in which you want to sort the query results. This parameter is left empty by default. Valid values:'."\n" + ."\n" + .'* ASC: in ascending order.'."\n" + .'* DESC: in descending order.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'Asc'."\n", + 'default' => 'Desc', + 'title' => '', + ], + ], + [ + 'name' => 'SearchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The search criterion based on which you want to perform fuzzy search. Valid values:'."\n" + ."\n" + .'* Appid: the application ID.'."\n" + .'* Name: the application name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AppId', + 'title' => '', + ], + ], + [ + 'name' => 'SearchKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'The search keyword.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ver-1005682639679266816', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '2430E05E-1340-5773-B5E1-B743929F46F2', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number. Default value: **1**. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page. Valid values: 1 to 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Apps' => [ + 'description' => 'The queried applications.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The queried application.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => 'The status of the application. Valid values:'."\n" + ."\n" + .'* creating: The application is being created.'."\n" + .'* failed: The application failed to be created.'."\n" + .'* created: The application is created.'."\n", + 'type' => 'string', + 'example' => 'created', + 'title' => '', + ], + 'GatewayType' => [ + 'description' => 'The type of the gateway. Valid values:'."\n" + ."\n" + .'* l7: Layer 7 gateway.'."\n" + .'* l4: Layer 4 gateway.'."\n", + 'type' => 'string', + 'example' => 'l7', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the version was created.'."\n", + 'type' => 'string', + 'example' => '2022-12-01T16:16:27.418298794+08:00', + 'title' => '', + ], + 'VersionCount' => [ + 'description' => 'The number of versions of the application.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'DomainName' => [ + 'description' => 'The domain name associated with the application.'."\n", + 'type' => 'string', + 'example' => 'test.com', + 'title' => '', + ], + 'Remarks' => [ + 'description' => 'The remarks.'."\n", + 'type' => 'string', + 'example' => 'test app', + 'title' => '', + ], + 'ServicePort' => [ + 'description' => 'The server port. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + 'title' => '', + ], + 'AppId' => [ + 'description' => 'The application ID.'."\n", + 'type' => 'string', + 'example' => 'app-88068867578379****', + 'title' => '', + ], + 'TargetPort' => [ + 'description' => 'The backend port, which is also the service port of the application. Valid values: 1 to 65535.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + 'title' => '', + ], + 'QuicCid' => [ + 'description' => 'Indicates whether QUIC is enabled.'."\n", + 'type' => 'string', + 'example' => 'false', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The application name.'."\n", + 'type' => 'string', + 'example' => 'app-test', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the application was last modified. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.'."\n", + 'type' => 'string', + 'example' => '2023-11-15T12:11:02Z', + 'title' => '', + ], + 'HealthCheck' => [ + 'description' => 'The information about health checks.'."\n", + 'type' => 'object', + 'properties' => [ + 'Timeout' => [ + 'description' => 'The timeout period of health checks. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of health checks. Valid values:'."\n" + ."\n" + .'* l7'."\n" + .'* l4'."\n", + 'type' => 'string', + 'example' => 'l7', + 'title' => '', + ], + 'Host' => [ + 'description' => 'The domain name that is used for health checks.'."\n", + 'type' => 'string', + 'example' => 'test.com', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'The interval between health checks. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + 'SuccTimes' => [ + 'description' => 'The number of consecutive successful health checks for an application to be considered healthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Method' => [ + 'description' => 'The HTTP method used for health checks.'."\n", + 'type' => 'string', + 'example' => 'GET', + 'title' => '', + ], + 'HttpCode' => [ + 'description' => 'The range of health check status codes that indicate successful health checks.'."\n", + 'type' => 'string', + 'example' => 'http_2XX', + 'title' => '', + ], + 'FailTimes' => [ + 'description' => 'The number of consecutive failed health checks for an application to be considered unhealthy.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + 'Port' => [ + 'description' => 'The health check port.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8080', + 'title' => '', + ], + 'Uri' => [ + 'description' => 'The health check URL.'."\n", + 'type' => 'string', + 'example' => '/health_check', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Percentage' => [ + 'description' => 'The progress of the application creation task in percentage.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.OrderType', + 'errorMessage' => 'The specified OrderType is invalid. Please check the OrderType parameter. You may not have set it to either Asc or Desc. Please make the necessary changes and call the interface again.', + 'description' => 'The OrderType parameter is invalid. Please check the OrderType parameter. You may not have set it to Asc or Desc. Please modify it and call the interface again.', + ], + [ + 'errorCode' => 'InvalidParameter.OrderKey', + 'errorMessage' => 'The specified OrderKey is invalid. Please check the OrderKey parameter.', + 'description' => 'The OrderKey parameter is invalid. Please check the OrderKey parameter, as it cannot be assigned illegal characters such as @, #, % etc. Please make the necessary modifications and call the interface again.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + [ + 'errorCode' => 'InvalidParameter.PageNumber', + 'errorMessage' => 'Failed to verify parameter PageNumber.Check whether the parameter exists and is set to a positive integer.', + 'description' => 'Failed to verify parameter PageNumber.Check whether the parameter exists and is set to a positive integer.', + ], + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidPageSize.ValueNotSupported', + 'errorMessage' => 'The PageSize value is invalid. The default value is set to 20. The acceptable range is between 1 and 500.', + 'description' => 'The request PageSize value is invalid. The default value is 20 and the value range is 1-500.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2430E05E-1340-5773-B5E1-B743929F46F2\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 10,\\n \\"Apps\\": [\\n {\\n \\"Status\\": \\"created\\",\\n \\"GatewayType\\": \\"l7\\",\\n \\"CreateTime\\": \\"2022-12-01T16:16:27.418298794+08:00\\",\\n \\"VersionCount\\": 10,\\n \\"DomainName\\": \\"test.com\\",\\n \\"Remarks\\": \\"test app\\",\\n \\"ServicePort\\": 80,\\n \\"AppId\\": \\"app-88068867578379****\\",\\n \\"TargetPort\\": 80,\\n \\"QuicCid\\": \\"false\\",\\n \\"Name\\": \\"app-test\\",\\n \\"UpdateTime\\": \\"2023-11-15T12:11:02Z\\",\\n \\"HealthCheck\\": {\\n \\"Timeout\\": 60,\\n \\"Type\\": \\"l7\\",\\n \\"Host\\": \\"test.com\\",\\n \\"Interval\\": 5,\\n \\"SuccTimes\\": 1,\\n \\"Method\\": \\"GET\\",\\n \\"HttpCode\\": \\"http_2XX\\",\\n \\"FailTimes\\": 5,\\n \\"Port\\": 8080,\\n \\"Uri\\": \\"/health_check\\"\\n },\\n \\"Percentage\\": 100\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListEdgeContainerApps', + 'changeSet' => [ + [ + 'createdAt' => '2024-10-15T03:49:16.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeContainerApps', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListEdgeContainerApps', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListEdgeContainerRecords' => [ + 'summary' => 'Queries the records that are associated with Edge Container for a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239659', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVFT29S', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The record name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'a.example.com', + 'title' => '', + ], + ], + [ + 'name' => 'RecordMatchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The match mode to filter the record names:'."\n" + ."\n" + .'* **fuzzy**'."\n" + .'* **prefix**'."\n" + .'* **suffix**'."\n" + .'* **exact** (default)'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'fuzzy', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: **500**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F'."\n", + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of records returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + 'title' => '', + ], + 'Records' => [ + 'description' => 'The records.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The queried record.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreateTime' => [ + 'description' => 'The time when the record was created. 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' => '2023-12-24T02:01:11Z', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the record was updated. 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' => '2021-12-22T08:32:02Z', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'The record name.'."\n", + 'type' => 'string', + 'example' => 'a.example.com', + 'title' => '', + ], + 'RecordCname' => [ + 'description' => 'The CNAME. If you use CNAME setup when you add your website to ESA, the value is the CNAME that you configured.'."\n", + 'type' => 'string', + 'example' => 'a.example.com.cnamezone.com', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\\\n\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 50,\\n \\"Records\\": [\\n {\\n \\"CreateTime\\": \\"2023-12-24T02:01:11Z\\",\\n \\"UpdateTime\\": \\"2021-12-22T08:32:02Z\\",\\n \\"RecordName\\": \\"a.example.com\\",\\n \\"RecordCname\\": \\"a.example.com.cnamezone.com\\",\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListEdgeContainerRecords', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T06:56:37.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeContainerRecords', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListEdgeContainerRecords', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ListEdgeRoutinePlans' => [ + 'summary' => 'Queries Edge Routine plans.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238723', + 'abilityTreeNodes' => [ + 'FEATUREdcdnZA9EPX', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'PlanInfo' => [ + 'description' => 'The plans.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the plan.'."\n", + 'type' => 'object', + 'properties' => [ + 'PlanName' => [ + 'description' => 'The plan name.'."\n", + 'type' => 'string', + 'example' => 'test_plan', + 'title' => '', + ], + 'ErRoutineQuota' => [ + 'description' => 'The maximum of routines that can be created.'."\n", + 'type' => 'string', + 'example' => '100', + 'title' => '', + ], + 'ErRoutineCodeVersionQuota' => [ + 'description' => 'The maximum number of versions that each routine supports.'."\n", + 'type' => 'string', + 'example' => '20', + 'title' => '', + ], + 'ErRoutineRouteSiteCountQuota' => [ + 'description' => 'The maximum number of websites with which each routine can be associated.'."\n", + 'type' => 'string', + 'example' => '100', + 'title' => '', + ], + 'BillingMode' => [ + 'description' => 'The billing method. Valid values:'."\n" + ."\n" + .'* PREPAY: subscription.'."\n" + .'* POSTPAY: pay-as-you-go.'."\n", + 'type' => 'string', + 'example' => 'POSTPAY', + 'title' => '', + ], + 'PaymentMethod' => [ + 'description' => 'The payment method. Valid values:'."\n" + ."\n" + .'* er_free'."\n" + .'* er_pay'."\n", + 'type' => 'string', + 'example' => 'er_free', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page. Valid values: 1 to 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '12', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'The total number of pages returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"PlanInfo\\": [\\n {\\n \\"PlanName\\": \\"test_plan\\",\\n \\"ErRoutineQuota\\": \\"100\\",\\n \\"ErRoutineCodeVersionQuota\\": \\"20\\",\\n \\"ErRoutineRouteSiteCountQuota\\": \\"100\\",\\n \\"BillingMode\\": \\"POSTPAY\\",\\n \\"PaymentMethod\\": \\"er_free\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 12,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + 'title' => 'ListEdgeRoutinePlans', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeRoutinePlans', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListEdgeRoutinePlans', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListEdgeRoutineRecords' => [ + 'summary' => 'Queries the records that are associated with Edge Routine routes for a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239603', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVFT29S', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The record name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'a.example.com', + 'title' => '', + ], + ], + [ + 'name' => 'RecordMatchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The match mode to filter the record names.'."\n" + ."\n" + .'* **fuzzy**: fuzzy match.'."\n" + .'* **prefix**: match by prefix.'."\n" + .'* **suffix**: match by suffix.'."\n" + .'* **exact** (default): exact match .'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'fuzzy', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: **500**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + ], + 'PageNumber' => [ + 'description' => 'The total number of pages returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of records returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '121', + 'title' => '', + ], + 'Records' => [ + 'description' => 'The list of records.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about a single record.'."\n", + 'type' => 'object', + 'properties' => [ + 'CreateTime' => [ + 'description' => 'The time when the record was created. 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' => '2023-12-24T02:01:11Z', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the record was updated. 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' => '2023-12-22T08:32:02Z', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'The record name.'."\n", + 'type' => 'string', + 'example' => 'a.example.com', + 'title' => '', + ], + 'RecordCname' => [ + 'description' => 'The CNAME. If you use CNAME setup when you add your website to ESA, the value is the CNAME that you configured then.'."\n", + 'type' => 'string', + 'example' => 'a.example.com.cnamezone.com', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5407498413****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 121,\\n \\"Records\\": [\\n {\\n \\"CreateTime\\": \\"2023-12-24T02:01:11Z\\",\\n \\"UpdateTime\\": \\"2023-12-22T08:32:02Z\\",\\n \\"RecordName\\": \\"a.example.com\\",\\n \\"RecordCname\\": \\"a.example.com.cnamezone.com\\",\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListEdgeRoutineRecords', + 'description' => '> You can call this operation 100 times per second.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T06:56:37.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeRoutineRecords', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListEdgeRoutineRecords', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ListHttpIncomingRequestHeaderModificationRules' => [ + 'summary' => 'Queries the configuration details of an incoming HTTP request header modification rule for a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257649', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '608665779308176', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID. You can call the ListHttpIncomingRequestHeaderModificationRules operation to query the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '424371770570752', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The configuration type to query. Valid values:'."\n" + ."\n" + .'* global: global configurations.'."\n" + .'* rule: rule configurations.'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'global', + 'rule', + ], + 'example' => 'rule', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The rule name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The page number. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The number of entries per page. Maximum value: 500. Default value: 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the website configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '7FB6EBC8-8849-5FC6-890E-3A761A5CD42D', + ], + 'Configs' => [ + 'description' => 'The configuration list of the incoming HTTP request header modification.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configurations of the incoming HTTP request header modification.'."\n", + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '429422870243328', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the website configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The order in which the rule is executed. A smaller value gives priority to the rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The content of the rule. A conditional expression is used to match a user request. You do not need to set this parameter when you add global configuration. Use cases:'."\n" + ."\n" + .'* true: Match all incoming requests.'."\n" + .'* Set the value to a custom expression, for example, (http.host eq "video.example.com"): Match the specified request.'."\n", + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Specifies whether to enable the rule. Valid values: You do not need to set this parameter when you add global configuration. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'The rule name. You do not need to set this parameter when you add global configuration.'."\n", + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The type of the configuration. Valid values:'."\n" + ."\n" + .'* global: global configurations.'."\n" + .'* rule: rule configurations.'."\n", + 'type' => 'string', + 'example' => 'rule', + 'title' => '', + ], + 'RequestHeaderModification' => [ + 'description' => 'The configurations of modifying request headers. You can add, delete, or modify a request header.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of modifying a request header.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the request header.'."\n", + 'type' => 'string', + 'example' => 'headerName', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'The action. Valid values:'."\n" + ."\n" + .'* add: adds a response header.'."\n" + .'* del: deletes a response header.'."\n" + .'* modify: modifies a response header.'."\n", + 'type' => 'string', + 'example' => 'add', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The value of the request header.'."\n", + 'type' => 'string', + 'example' => 'headerValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of the value. Valid values:'."\n" + ."\n" + .'* static'."\n" + .'* dynamic'."\n", + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The number of the returned page. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page. Default value: 500. Valid values: 1 to 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7FB6EBC8-8849-5FC6-890E-3A761A5CD42D\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 429422870243328,\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleEnable\\": \\"on\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"rule\\",\\n \\"RequestHeaderModification\\": [\\n {\\n \\"Name\\": \\"headerName\\",\\n \\"Operation\\": \\"add\\",\\n \\"Value\\": \\"headerValue\\",\\n \\"Type\\": \\"static\\"\\n }\\n ]\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 10,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + 'title' => 'ListHttpIncomingRequestHeaderModificationRules', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListHttpIncomingRequestHeaderModificationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'ListHttpIncomingResponseHeaderModificationRules' => [ + 'summary' => 'Queries the configurations of an incoming HTTP response header modification rule for a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257655', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '624516866852544', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID. You can call the ListHttpIncomingResponseHeaderModificationRules operation to query the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '432915173664768', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The configuration type to query. Valid values:'."\n" + ."\n" + .'* global: global configurations.'."\n" + .'* rule: rule configurations.'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'global', + 'rule', + ], + 'example' => 'rule', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The rule name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The page number. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The number of entries per page. Maximum value: 500. Default value: 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the website configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CF02C6F6-DB59-5438-8C05-3CE42DFCB0AD', + ], + 'Configs' => [ + 'description' => 'The list of incoming response header modification rules.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The content of the incoming response header modification rule.'."\n", + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '430559776208896', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the website configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The order in which the rule is executed. A smaller value gives priority to the rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Specifies whether to enable the rule. Valid values: You do not need to set this parameter when you add global configuration. Specifies whether to check the image used by the instance supports hot migration. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The content of the rule. A conditional expression is used to match a user request. You do not need to set this parameter when you add global configuration. Use cases:'."\n" + ."\n" + .'* true: Match all incoming requests.'."\n" + .'* Set the value to a custom expression, for example:(http.host eq "video.example.com"): Match the specified request.'."\n", + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'The rule name. You do not need to set this parameter when you add global configuration.'."\n", + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The type of the configuration. Specifies whether to check the image used by the instance supports hot migration. Valid values:'."\n" + ."\n" + .'* global: global configuration.'."\n" + .'* rule: rule configuration.'."\n", + 'type' => 'string', + 'example' => 'rule', + 'title' => '', + ], + 'ResponseHeaderModification' => [ + 'description' => 'The configurations of modifying response headers. You can add, delete, or modify a response header.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of modifying a response header.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the response header.'."\n", + 'type' => 'string', + 'example' => 'headerName', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'The action. Specifies whether to check the image used by the instance supports hot migration. Valid values:'."\n" + ."\n" + .'* add: adds a response header.'."\n" + .'* del: deletes a response header.'."\n" + .'* modify: modifies a response header.'."\n", + 'type' => 'string', + 'example' => 'add', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The value of the response header.'."\n", + 'type' => 'string', + 'example' => 'headerValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of the header. Valid values:'."\n" + ."\n" + .'* static'."\n" + .'* dynamic'."\n", + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The number of the returned page. Default value: 1'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page. Default value: 500. Valid values: 1 to 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CF02C6F6-DB59-5438-8C05-3CE42DFCB0AD\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 430559776208896,\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"rule\\",\\n \\"ResponseHeaderModification\\": [\\n {\\n \\"Name\\": \\"headerName\\",\\n \\"Operation\\": \\"add\\",\\n \\"Value\\": \\"headerValue\\",\\n \\"Type\\": \\"static\\"\\n }\\n ]\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 10,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + 'title' => 'ListHttpIncomingResponseHeaderModificationRules', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListHttpIncomingResponseHeaderModificationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'ListHttpRequestHeaderModificationRules' => [ + 'summary' => 'List of HTTP Request Header Rules', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257649', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID, which can be obtained by calling the [ListHttpRequestHeaderModificationRules](~~2867483~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '配置类型,可以根据此参数查全局配置或者功能配置,只有传了functionName才生效', + 'description' => 'Configuration type, which can be used to query global or rule configurations. Possible values:'."\n" + .'- global: Query global configuration;'."\n" + .'- rule: Query rule configuration;', + 'type' => 'string', + 'required' => false, + 'example' => 'rule', + 'enum' => [ + 'global', + 'rule', + ], + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效', + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '第几页,不传时默认为1', + 'description' => 'Page number, defaulting to 1 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页几条,最大500,不传时默认500', + 'description' => 'Number of items per page, with a maximum of 500. Defaults to 500 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '35C66C7B-671H-4297-9187-2C4477247A78', + ], + 'Configs' => [ + 'description' => 'List of HTTP request header modification configurations.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of HTTP request header modifications.', + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****'."\n", + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type. Possible values:'."\n" + .'- global: Global configuration;'."\n" + .'- rule: Rule configuration;', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'RequestHeaderModification' => [ + 'description' => 'Modify request headers, supporting add, delete, and modify operations.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of request header modifications.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the request header.', + 'type' => 'string', + 'example' => 'headerName', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'The operation type. The value range is as follows:'."\n" + ."\n" + .'- add: Add.'."\n" + .'- del: Delete.'."\n" + .'- modify: Modify.', + 'type' => 'string', + 'example' => 'add', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The value of the request header.', + 'type' => 'string', + 'example' => 'headerValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'Value Type. Valid values:'."\n" + .'- static: Static pattern.'."\n" + .'- dynamic: Dynamic pattern.', + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Page number. Default value: **1**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size, default **500**, with a range of **1~500**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of items.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'title' => 'List of HTTP Request Header Modification Configurations', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:38.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListHttpRequestHeaderModificationRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListHttpRequestHeaderModificationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"35C66C7B-671H-4297-9187-2C4477247A78\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 0,\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleEnable\\": \\"on\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"global\\",\\n \\"RequestHeaderModification\\": [\\n {\\n \\"Name\\": \\"headerName\\",\\n \\"Operation\\": \\"add\\",\\n \\"Value\\": \\"headerValue\\",\\n \\"Type\\": \\"static\\"\\n }\\n ]\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 10,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + ], + 'ListHttpResponseHeaderModificationRules' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257655', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '配置类型,可以根据此参数查全局配置或者功能配置,只有传了functionName才生效', + 'description' => 'Configuration type, which can be used to query global or rule configurations. Possible values:'."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule configuration.'."\n" + ."\n" + .'This parameter is optional. If not provided, it does not distinguish between global and rule configurations.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule', + 'enum' => [ + 'global', + 'rule', + ], + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效', + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '第几页,不传时默认为1', + 'description' => 'Page number.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页几条,最大500,不传时默认500', + 'description' => 'Page size, default is 500. The value range is any integer from 1 to 500.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the configuration, with the default being version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + ], + 'Configs' => [ + 'description' => 'List of modified HTTP response headers.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the modified HTTP response header.', + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****'."\n", + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the configuration, with the default being version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type. Possible values:'."\n" + .'- global: Global configuration.'."\n" + .'- rule: Rule configuration.', + 'type' => 'string', + 'example' => 'rule', + 'title' => '', + ], + 'ResponseHeaderModification' => [ + 'description' => 'Modify response headers, supporting add, delete, and modify operations.', + 'type' => 'array', + 'items' => [ + 'description' => 'Response header details.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'Name of the response header.', + 'type' => 'string', + 'example' => 'headerName', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'Operation type. The value range is as follows:'."\n" + .'- add: Add.'."\n" + .'- del: Delete'."\n" + .'- modify: Modify.', + 'type' => 'string', + 'example' => 'add', + 'title' => '', + ], + 'Value' => [ + 'description' => 'Response header value.', + 'type' => 'string', + 'example' => 'headerValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'Value Type. Valid values: '."\n" + .'- static: Static pattern. '."\n" + .'- dynamic: Dynamic pattern. ', + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total count.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '14', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'title' => 'List of Configurations for Modifying HTTP Response Headers', + 'summary' => 'List of HTTP Response Header Rules', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:39.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListHttpResponseHeaderModificationRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListHttpResponseHeaderModificationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 0,\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"rule\\",\\n \\"ResponseHeaderModification\\": [\\n {\\n \\"Name\\": \\"headerName\\",\\n \\"Operation\\": \\"add\\",\\n \\"Value\\": \\"headerValue\\",\\n \\"Type\\": \\"static\\"\\n }\\n ]\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 14,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + ], + 'ListHttpsApplicationConfigurations' => [ + 'summary' => 'Query multiple HTTPS application configurations', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257534', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3528160969****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '配置类型,可以根据此参数查全局配置或者功能配置,只有传了functionName才生效', + 'description' => 'Configuration type, which can be used to query global or rule-based configurations. Possible values:'."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule-based configuration.'."\n" + ."\n" + .'This parameter is optional. If not provided, it will not distinguish between global and rule-based configurations.', + 'type' => 'string', + 'required' => false, + 'example' => 'global', + 'enum' => [ + 'global', + 'rule', + ], + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效', + 'description' => 'Rule name, which can be used to find the rule with the specified name.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '第几页,不传时默认为1', + 'description' => 'Page number, default is 1 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页几条,最大500,不传时默认500', + 'description' => 'Number of items per page, maximum is 500, default is 500 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version number. For sites with version management enabled, this parameter can specify the site version for which the configuration is effective, default is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'Configs' => [ + 'description' => 'Response body configurations.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '395386449776640', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Site configuration version number. For sites with version management enabled, this parameter can specify the site version for which the configuration is effective, default is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true.'."\n" + .'- Match specific requests: Set the value to a custom expression, e.g., (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type, which can be used to query global or rule-based configurations. Possible values:'."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule-based configuration.', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'HttpsForce' => [ + 'description' => 'Whether to enable forced HTTPS, default is disabled. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HttpsForceCode' => [ + 'description' => 'Forced HTTPS redirect status code. Possible values:'."\n" + .'- 301'."\n" + .'- 302'."\n" + .'- 307'."\n" + .'- 308', + 'type' => 'string', + 'example' => '301', + 'title' => '', + ], + 'AltSvc' => [ + 'description' => 'Alt-Svc feature switch, default is off. Value range: '."\n" + .'- on: enabled. '."\n" + .'- off: disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'AltSvcClear' => [ + 'description' => 'Whether the Alt-Svc header includes the clear parameter, default is off. Values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'AltSvcPersist' => [ + 'description' => 'Whether the Alt-Svc header includes the persist parameter, default is off. Values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'AltSvcMa' => [ + 'description' => 'The validity period of Alt-Svc in seconds, default is 86400 seconds.', + 'type' => 'string', + 'example' => '86400', + 'title' => '', + ], + 'Hsts' => [ + 'description' => 'Whether HSTS is enabled, default is off. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HstsMaxAge' => [ + 'description' => 'The expiration time of HSTS in seconds.', + 'type' => 'string', + 'example' => '3600', + 'title' => '', + ], + 'HstsIncludeSubdomains' => [ + 'description' => 'Whether to include subdomains in HSTS, default is off. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HstsPreload' => [ + 'description' => 'Whether HSTS preloading is enabled, default is off. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HttpsSniVerify' => [ + 'description' => 'Specifies whether to enable SNI validation. Disabled by default. Valid values: '."\n" + .'- on: Enabled. '."\n" + .'- off: Disabled. ', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HttpsNoSniDeny' => [ + 'description' => 'Specifies whether to deny TLS handshake requests without SNI. Disabled by default. Valid values: '."\n" + .'- on: Enabled. '."\n" + .'- off: Disabled. ', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HttpsSniWhitelist' => [ + 'description' => 'Specifies the whitelist of allowed SNI entries, separated by spaces. ', + 'type' => 'string', + 'example' => 'abc edf', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of records.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '16', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'List HTTPS Application Configurations', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-03T07:09:13.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListHttpsApplicationConfigurations', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListHttpsApplicationConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 395386449776640,\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"global\\",\\n \\"HttpsForce\\": \\"on\\",\\n \\"HttpsForceCode\\": \\"301\\",\\n \\"AltSvc\\": \\"on\\",\\n \\"AltSvcClear\\": \\"on\\",\\n \\"AltSvcPersist\\": \\"on\\",\\n \\"AltSvcMa\\": \\"86400\\",\\n \\"Hsts\\": \\"on\\",\\n \\"HstsMaxAge\\": \\"3600\\",\\n \\"HstsIncludeSubdomains\\": \\"on\\",\\n \\"HstsPreload\\": \\"on\\",\\n \\"HttpsSniVerify\\": \\"on\\",\\n \\"HttpsNoSniDeny\\": \\"on\\",\\n \\"HttpsSniWhitelist\\": \\"abc edf\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 16,\\n \\"TotalPage\\": 2\\n}","type":"json"}]', + ], + 'ListHttpsBasicConfigurations' => [ + 'summary' => 'Query multiple HTTPS basic configurations', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257540', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '配置类型,可以根据此参数查全局配置或者功能配置,只有传了functionName才生效', + 'description' => 'Configuration type, which can be used to query global or rule configurations. Value range:'."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule configuration.'."\n" + ."\n" + .'This parameter is optional. If not provided, it does not distinguish between global and rule configurations.', + 'type' => 'string', + 'required' => false, + 'example' => 'global', + 'enum' => [ + 'global', + 'rule', + ], + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效', + 'description' => 'Rule name, which can be used to find the rule with the specified name.', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '第几页,不传时默认为1', + 'description' => 'Page number, default is 1 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页几条,最大500,不传时默认500', + 'description' => 'Number of items per page, maximum is 500, default is 500 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'Configs' => [ + 'description' => 'Response body configuration.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '395386449776640', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true.'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type, which can be used to query global or rule configurations. Value range:'."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule configuration.', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'Https' => [ + 'description' => 'Whether to enable HTTPS, default is enabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Tls10' => [ + 'description' => 'Whether to enable TLS1.0, default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Tls11' => [ + 'description' => 'Whether to enable TLS1.1, default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Tls12' => [ + 'description' => 'Whether to enable TLS1.2, default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Tls13' => [ + 'description' => 'Whether to enable TLS1.3, default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'CiphersuiteGroup' => [ + 'description' => 'Ciphersuite group, defaults to enabling all ciphersuites. Value range:'."\n" + .'- all: all ciphersuites.'."\n" + .'- strict: strong ciphersuites.'."\n" + .'- custom: custom ciphersuites.', + 'type' => 'string', + 'example' => 'strict', + 'title' => '', + ], + 'Ciphersuite' => [ + 'description' => 'Custom ciphersuite, indicating the specific encryption algorithm selected when CiphersuiteGroup is set to custom.', + 'type' => 'string', + 'example' => 'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256', + 'title' => '', + ], + 'OcspStapling' => [ + 'description' => 'Whether to enable OCSP, default is off. Value range:'."\n" + .'- on: enabled.'."\n" + .'- off: disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Http2' => [ + 'description' => 'Whether to enable HTTP2, default is on. Value range:'."\n" + .'- on: enabled.'."\n" + .'- off: disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Http3' => [ + 'description' => 'Whether to enable HTTP3, default is on. Value range:'."\n" + .'- on: enabled.'."\n" + .'- off: disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of records.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 395386449776640,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"global\\",\\n \\"Https\\": \\"on\\",\\n \\"Tls10\\": \\"on\\",\\n \\"Tls11\\": \\"on\\",\\n \\"Tls12\\": \\"on\\",\\n \\"Tls13\\": \\"on\\",\\n \\"CiphersuiteGroup\\": \\"strict\\",\\n \\"Ciphersuite\\": \\"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256\\",\\n \\"OcspStapling\\": \\"on\\",\\n \\"Http2\\": \\"on\\",\\n \\"Http3\\": \\"on\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 20,\\n \\"TotalPage\\": 2\\n}","type":"json"}]', + 'title' => 'Query HTTPS Basic Configuration List', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListHttpsBasicConfigurations', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListHttpsBasicConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'ListImageTransforms' => [ + 'summary' => 'Query Multiple Site Image Transformation Configurations', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257357', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID. Can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID. Can be obtained by calling the [ListImageTransforms](~~2869056~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '352816096987136', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '配置类型,可以根据此参数查全局配置或者功能配置,只有传了functionName才生效', + 'description' => 'Configuration type, which can be used to query global or rule configurations. Possible values:'."\n" + .'- global: Query global configuration;'."\n" + .'- rule: Query rule configuration;'."\n" + ."\n" + .'This parameter is optional. If not provided, it will not distinguish between global and rule configurations.', + 'type' => 'string', + 'required' => false, + 'example' => 'global', + 'enum' => [ + 'global', + 'rule', + ], + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效', + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'test1', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '第几页,不传时默认为1', + 'description' => 'Page number. The default value is 1 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页几条,最大500,不传时默认500', + 'description' => 'Number of items per page. The maximum value is 500, and the default value is 500 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version number. For sites with version management enabled, you can use this parameter to specify the site version for which the configuration takes effect. The default value is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + 'Configs' => [ + 'description' => 'Configuration list.', + 'type' => 'array', + 'items' => [ + 'description' => 'Response body configuration.', + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '395386449776640', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Site configuration version number. For sites with version management enabled, you can use this parameter to specify the site version for which the configuration takes effect. The default value is version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Enable' => [ + 'description' => 'Switch. Possible values:'."\n" + ."\n" + .'- **on**: Enabled.'."\n" + .'- **off**: Disabled.', + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'enumValueTitles' => [ + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.request.uri.path.file_name eq \\"jpg\\")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'test', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type. Possible values:'."\n" + .'- global: Global configuration;'."\n" + .'- rule: Rule configuration;', + 'type' => 'string', + 'enumValueTitles' => [ + 'rule' => 'rule', + 'global' => 'global', + ], + 'example' => 'global', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size. Range: **1~500**, default is **500**.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of records.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '16', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 395386449776640,\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"Enable\\": \\"on\\",\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.request.uri.path.file_name eq \\\\\\\\\\\\\\"jpg\\\\\\\\\\\\\\")\\",\\n \\"RuleName\\": \\"test\\",\\n \\"ConfigType\\": \\"global\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 16,\\n \\"TotalPage\\": 2\\n}","type":"json"}]', + 'title' => 'Query Multiple Site Image Transformation Configurations', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListImageTransforms', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListImageTransforms', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'ListInstanceQuotas' => [ + 'summary' => 'Queries the quota details in a subscription plan.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238984', + 'abilityTreeNodes' => [ + 'FEATUREdcdnZA9EPX', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The plan ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sp-xcdn-96wblslz****', + 'enum' => [], + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '2882900****', + 'title' => '', + ], + ], + [ + 'name' => 'QuotaNames', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The quota names in the plan. Separate multiple names with commas (,). Valid values:'."\n" + ."\n" + .'* **waf:phase:http_anti_scan:actions**: the actions in WAF scan protection rules.'."\n" + .'* **waf:phase:http_bot:actions**: all actions in WAF bot management rules.'."\n" + .'* **waf:phase:http_bot:http_custom_cc_dev:characteristic:fields**: the statistical objects for the custom device-based throttling in WAF bot management rules.'."\n" + .'* **waf:phase:http_bot:http_custom_cc_ip:characteristic:fields**: the statistical objects for the custom IP address-based throttling in WAF bot management rules.'."\n" + .'* ****waf:phase:http_bot:match:symbols****: the match operators in WAF bot management rules.'."\n" + .'* **waf:phase:http_bot:http_custom_cc:characteristic:fields**: the statistical objects for the custom session-based throttling in WAF bot management rules.'."\n" + .'* **waf:phase:http_bot:match:fields**: the match fields in WAF bot management rules.'."\n" + .'* **waf:phase:http_whitelist:match:symbols**: the match operators in WAF whitelist rules.'."\n" + .'* **waf:phase:http_whitelist:match:fields**: the match fields in WAF whitelist rules.'."\n" + .'* **waf:phase:http_anti_scan:http_directory_traversal:characteristic:fields**: the statistical objects for directory traversal blocking in WAF scan protection rules.'."\n" + .'* **waf:phase:http_anti_scan:http_high_frequency:characteristic:fields**: the statistical objects for high-frequency scanning blocking in WAF scan protection rules.'."\n" + .'* **waf:phase:http_anti_scan:match:symbols**: the match operators in WAF scan protection rules.'."\n" + .'* **waf:phase:http_anti_scan:match:fields**: the match fields in WAF scan protection rules.'."\n" + .'* **waf:phase:http_managed:actions**: the actions in WAF managed rules.'."\n" + .'* **waf:phase:http_managed:group:reference:ids**: the referenced rule groups in WAF managed rules.'."\n" + .'* **waf:phase:http_ratelimit:actions**: the actions in WAF rate limiting rules.'."\n" + .'* **waf:phase:http_ratelimit:ttls**: the action durations in WAF rate limiting rules.'."\n" + .'* **waf:phase:http_ratelimit:intervals**: the statistical durations in WAF rate limiting rules.'."\n" + .'* **waf:phase:http_ratelimit:http_ratelimit:characteristic:fields**: the match characteristics in WAF rate limiting rules.'."\n" + .'* **waf:phase:http_ratelimit:match:symbols**: the match operators in WAF rate limiting rules.'."\n" + .'* **waf:phase:http_ratelimit:match:fields**: the match fields in WAF rate limiting rules.'."\n" + .'* **waf:phase:http_custom:actions**: the actions in custom WAF rules.'."\n" + .'* **waf:phase:http_custom:match:symbols**: the match operators in custom WAF rules.'."\n" + .'* **waf:phase:http_custom:match:fields**: the match fields in custom WAF rules.'."\n" + .'* **waiting_room|queuing_method**: the queuing method in Waiting Room.'."\n" + .'* **origin_rules|origin_scheme**: the origin protocol in origin rules.'."\n" + .'* **origin_rules|origin_sni**: the origin Server Name Indication (SNI) in origin rules.'."\n" + .'* **origin_rules|origin_host**: the origin host in origin rules.'."\n" + .'* **fourlayeracceleration**: TCP/UDP proxy.'."\n" + .'* **rtlog_service**: the availability to collect real-time logs.'."\n" + .'* **dashboard_traffic**: the value-added capability of traffic analytics.'."\n" + .'* **custom_name_server**: the availability to configure custom nameservers.'."\n" + .'* **waf:phase:http_bot:enable**: the availability to enable WAF bot management.'."\n" + .'* **waf:phase:http_whitelist:enable**: the availability to configure WAF whitelist rules.'."\n" + .'* **instantlog**: the availability to collect instant logs.'."\n" + .'* **waf:phase:http_anti_scan:enable**: the availability to enable WAF scan protection.'."\n" + .'* **waf:phase:http_managed:group:reference:enable**: the availability to configure reference rule groups in WAF managed rules.'."\n" + .'* **waf:phase:http_managed:enable**: the availability to configure WAF managed rules.'."\n" + .'* **waf:phase:http_ratelimit:on_hit:enable**: the availability to configure whether to apply rate limiting to all requests that hit the cache.'."\n" + .'* **ddos**: DDoS mitigation.'."\n" + .'* **waf:phase:http_ratelimit:enable**: the availability to configure WAF rate limiting.'."\n" + .'* **waf:phase:http_custom:enable**: the availability to configure custom WAF rules.'."\n" + .'* **waf:phase:all:page:reference:enable**: the availability to configure custom error pages.'."\n" + .'* **rules_support_regex**: the support for regular expressions in rules engine.'."\n" + .'* **waiting_room_event**: scheduled events in Waiting Room.'."\n" + .'* **waiting_room_rule**: the availability to allow requests to bypass the waiting room.'."\n" + .'* **waiting_room|json_response**: the availability to enable JSON response in Waiting Room.'."\n" + .'* **waiting_room|disable_session_renewal**: the availability to disable session renewal in Waiting Room.'."\n" + .'* **origin_rules|dns_record**: DNS records in origin rules.'."\n" + .'* **managed_transforms|add_client_geolocation_headers**: the availability to configure whether to add geolocation headers in transform rules.'."\n" + .'* **tiered_cache|regional_enable**: regional tiered cache.'."\n" + .'* **real_client_ip_header**: the availability to configure whether to add the real IP address of a client to the request header.'."\n" + .'* **data_timerange**: minute-level time range for data query.'."\n" + .'* **cache_rules|edge_cache_ttl**: POP cache TTL.'."\n" + .'* **cache_rules|browser_cache_ttl**: browser cache TTL.'."\n" + .'* **fourLayerRecordCount**: the maximum number of records of websites for which TCP/UDP acceleration is enabled.'."\n" + .'* **waitingroomRuleCount**: the maximum number of rules per waiting room.'."\n" + .'* **waitingroomEventCount**: the maximum number of events per waiting room.'."\n" + .'* **waitingroom_custom_pathhost**: the availability to configure the hostname and path in Waiting Room.'."\n" + .'* **er_routers**: Edge Routine routes.'."\n" + .'* **cache_rules|rule_quota**: the maximum number of cache rules.'."\n" + .'* **configuration_rules|rule_quota**: the maximum number of configuration rules.'."\n" + .'* **redirect_rules|rule_quota**: the redirect rules.'."\n" + .'* **compression_rules|rule_quota**: the maximum number of compression rules.'."\n" + .'* **origin_rules|rule_quota**: the maximum number of origin rules.'."\n" + .'* **waf:phase:http_bot:rulesets_per_instance:less_than_or_equal**: the maximum number of rulesets in WAF bot management per plan.'."\n" + .'* **waf:phase:http_whitelist:rules_per_instance:less_than_or_equal**: the maximum number of WAF whitelist rules per plan.'."\n" + .'* **rtlog_quota**: the maximum number of real-time log delivery tasks.'."\n" + .'* **waf:phase:http_anti_scan:rulesets_per_instance:less_than_or_equal**: the maximum number of rulesets in WAF scan protection per plan.'."\n" + .'* **ddos_instance**: the number of Anti-DDoS Proxy instances.'."\n" + .'* **waf:phase:http_ratelimit:rules_per_instance:less_than_or_equal**: the maximum number of WAF rate limiting rules.'."\n" + .'* **waf:phase:http_custom:rules_per_instance:less_than_or_equal**: the maximum number of custom WAF rules per plan.'."\n" + .'* **ruleNestedConditionalCount**: the number of nested layers in a rule.'."\n" + .'* **waiting_room_rule**: Waiting Room.'."\n" + .'* **transition_rule**: the maximum number of transform rules.'."\n" + .'* **customHttpCert**: the maximum number of custom certificates.'."\n" + .'* **free_cert**: the maximum number of free certificates.'."\n" + .'* **preload**: prefetch.'."\n" + .'* **refresh_cache_tag**: purge by cache tag.'."\n" + .'* **refresh_ignore_param**: purge by URL with specified parameters ignored.'."\n" + .'* **refresh_directory**: purge by directory.'."\n" + .'* **refresh_hostname**: purge by hostname.'."\n" + .'* **refresh_all**: purge all cache.'."\n" + .'* **refresh_file**: purge by URL.'."\n" + .'* **wildcard**: the maximum number of wildcard domains.'."\n" + .'* **recordCount**: the maximum number of Layer 7 records.'."\n" + .'* **siteCount**: the maximum number of websites that can be associated with the plan.'."\n" + .'* **https|rule_quota**: the maximum number of SSL/TLS rules.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'preload, free_cert', + 'enum' => [], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247B78', + ], + 'InstanceId' => [ + 'description' => 'The plan ID.'."\n", + 'type' => 'string', + 'example' => 'sp-xcdn-96wblslz****', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The plan status. Valid values:'."\n" + ."\n" + .'* online: The plan is in service.'."\n" + .'* offline: The plan has expired within an allowable period. In this state, the plan is unavailable.'."\n" + .'* disable: The plan is released.'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + 'Quotas' => [ + 'description' => 'The quotas in the plan.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The quota details in the plan.'."\n", + 'type' => 'object', + 'properties' => [ + 'QuotaName' => [ + 'description' => 'The quota name.'."\n", + 'type' => 'string', + 'example' => 'customHttpCert', + 'title' => '', + ], + 'QuotaValue' => [ + 'description' => 'The quota value.'."\n", + 'type' => 'string', + 'example' => '10', + 'title' => '', + ], + 'QuotaValueType' => [ + 'description' => 'The threshold type of the quota. Valid values:'."\n" + ."\n" + .'* value: enumerates the values of the quota.'."\n" + .'* bool: specifies whether the quota is available.'."\n" + .'* num: the upper limit of the quota.'."\n" + .'* range: the value range for the quota.'."\n" + .'* custom: other types than the preceding four quota threshold types.'."\n", + 'type' => 'string', + 'example' => 'bool', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'QuotaNotExist', + 'errorMessage' => 'The quota item does not exist or the purchased plan has not taken effect. Confirm and try again.', + 'description' => 'The quota item does not exist or the purchased plan has not taken effect. Confirm and try again.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'ErService.HasOpened', + 'errorMessage' => 'You have already activated Edge Routine.', + 'description' => 'You have already activated Edge Routine.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + ], + [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + [ + 'errorCode' => 'UnsupportQuota', + 'errorMessage' => 'Unsupported quota is specified. Check and try again.', + 'description' => 'Unsupported quota is specified. Check and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247B78\\",\\n \\"InstanceId\\": \\"sp-xcdn-96wblslz****\\",\\n \\"Status\\": \\"online\\",\\n \\"Quotas\\": [\\n {\\n \\"QuotaName\\": \\"customHttpCert\\",\\n \\"QuotaValue\\": \\"10\\",\\n \\"QuotaValueType\\": \\"bool\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListInstanceQuotas', + 'changeSet' => [ + [ + 'createdAt' => '2024-10-15T09:23:51.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListInstanceQuotas', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListInstanceQuotas', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'read', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ListInstanceQuotasWithUsage' => [ + 'summary' => 'Queries quotas and the actual usage in a plan based on the website or plan ID.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238752', + 'abilityTreeNodes' => [ + 'FEATUREdcdnZA9EPX', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The plan ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sp-xcdn-96wblslz****', + 'enum' => [], + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1232223****', + 'title' => '', + ], + ], + [ + 'name' => 'QuotaNames', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The quota names in the plan. Separate the quota names with commas (,). You can query up to 10 quota names at a time. Valid values:'."\n" + ."\n" + .'* **customHttpCert**: the custom certificates.'."\n" + .'* **transition_rule**: the transform rules.'."\n" + .'* **waiting_room**: the waiting rooms.'."\n" + .'* **https|rule_quota**: the SSL/TLS rules.'."\n" + .'* **cache_rules|rule_quota**: the cache rules.'."\n" + .'* **configuration_rules|rule_quota**: the configuration rules.'."\n" + .'* **redirect_rules|rule_quota**: the redirect rules.'."\n" + .'* **compression_rules|rule_quota**: the compression rules.'."\n" + .'* **origin_rules|rule_quota**: the origin rules.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'customHttpCert', + 'enum' => [], + 'title' => '', + ], + ], + ], + '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' => '85H66C7B-671A-4297-9187-2C4477247A74', + ], + 'InstanceId' => [ + 'description' => 'The plan ID.[](~~2850189~~)'."\n", + 'type' => 'string', + 'example' => 'sp-xcdn-96wblslz****', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The plan status. Valid values:'."\n" + ."\n" + .'* online: The plan is in service.'."\n" + .'* offline: The plan has expired within an allowable period. In this state, the plan is unavailable.'."\n" + .'* disable: The plan is released.'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + 'Quotas' => [ + 'description' => 'The quotas and their actual usage in the plan.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the quota and the quota usage in the plan.'."\n", + 'type' => 'object', + 'properties' => [ + 'QuotaName' => [ + 'description' => 'The quota name.'."\n", + 'type' => 'string', + 'example' => 'redirect_rules|rule_quota', + 'title' => '', + ], + 'QuotaValue' => [ + 'description' => 'The quota value.'."\n", + 'type' => 'string', + 'example' => '10', + 'title' => '', + ], + 'Usage' => [ + 'description' => 'The quota usage.'."\n", + 'type' => 'string', + 'example' => '3', + 'title' => '', + ], + 'SiteUsage' => [ + 'description' => 'The usage of the quota in each website associated with the plan.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The usage details of the quota in a single website.'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '34818329392****', + 'title' => '', + ], + 'SiteUsage' => [ + 'description' => 'The quota usage of the website.'."\n", + 'type' => 'string', + 'example' => '1', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'test.top', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'QuotaNotExist', + 'errorMessage' => 'The quota item does not exist or the purchased plan has not taken effect. Confirm and try again.', + 'description' => 'The quota item does not exist or the purchased plan has not taken effect. Confirm and try again.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + 'description' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + ], + [ + 'errorCode' => 'ErService.HasOpened', + 'errorMessage' => 'You have already activated Edge Routine.', + 'description' => 'You have already activated Edge Routine.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + ], + [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + [ + 'errorCode' => 'UnsupportQuota', + 'errorMessage' => 'Unsupported quota is specified. Check and try again.', + 'description' => 'Unsupported quota is specified. Check and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"85H66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"InstanceId\\": \\"sp-xcdn-96wblslz****\\",\\n \\"Status\\": \\"online\\",\\n \\"Quotas\\": [\\n {\\n \\"QuotaName\\": \\"redirect_rules|rule_quota\\",\\n \\"QuotaValue\\": \\"10\\",\\n \\"Usage\\": \\"3\\",\\n \\"SiteUsage\\": [\\n {\\n \\"SiteId\\": 0,\\n \\"SiteUsage\\": \\"1\\",\\n \\"SiteName\\": \\"test.top\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListInstanceQuotasWithUsage', + 'changeSet' => [ + [ + 'createdAt' => '2024-10-15T09:23:50.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-10-10T07:16:19.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListInstanceQuotasWithUsage', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListInstanceQuotasWithUsage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'read', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ListKvs' => [ + 'summary' => 'Lists all key-value pairs in a namespace in your Alibaba Cloud account.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239076', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the namespace that you specify when you call the [CreatevNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namespace', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: 50. Maximum value: 100.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '50', + 'default' => '50', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. The product of PageNumber and PageSize cannot exceed 50,000.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '10', + 'default' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'Prefix', + 'in' => 'query', + 'schema' => [ + 'description' => 'The prefix to query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'prefix-', + 'maxLength' => 1000, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The total number of pages returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1024', + 'title' => '', + ], + 'Keys' => [ + 'description' => 'The key-value pairs.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The key name.'."\n", + 'type' => 'string', + 'example' => 'Key1', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the key was last updated.'."\n", + 'type' => 'string', + 'example' => '2021-12-13T07:46:03Z', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"PageSize\\": 50,\\n \\"PageNumber\\": 100,\\n \\"TotalCount\\": 1024,\\n \\"Keys\\": [\\n {\\n \\"Name\\": \\"Key1\\",\\n \\"UpdateTime\\": \\"2021-12-13T07:46:03Z\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListKvs', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-20T13:49:27.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListKvs', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListKvs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListLists' => [ + 'summary' => 'List all custom lists under the account and their details. You can filter the results by passing query parameters and use paging to retrieve a specific set of lists.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239589', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'QueryArgs', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '', + 'description' => 'The query arguments in the JSON format, which contain filter conditions.'."\n", + 'type' => 'object', + 'properties' => [ + 'IdLike' => [ + 'title' => '', + 'description' => 'The list ID for fuzzy search.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '40000001', + ], + 'NameLike' => [ + 'title' => '', + 'description' => 'The list name for fuzzy search.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example', + ], + 'DescriptionLike' => [ + 'title' => '', + 'description' => 'The list description for fuzzy search.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'a custom list', + ], + 'ItemLike' => [ + 'title' => '', + 'description' => 'The list content for fuzzy search.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.1.1.1', + ], + 'NameItemLike' => [ + 'title' => '', + 'description' => 'The list name and content for fuzzy search.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.1.1.1', + ], + 'Kind' => [ + 'description' => 'The type of the custom list.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ip', + 'title' => '', + ], + 'OrderBy' => [ + 'title' => '', + 'description' => 'The column by which you want to sort the returned data.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'id', + ], + 'Desc' => [ + 'title' => '', + 'description' => 'Specifies whether to sort the returned data in descending order.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + 'example' => 'ListLists', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'TotalCount' => [ + 'title' => '', + 'description' => 'The total number of filtered lists.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'Usage' => [ + 'title' => '', + 'description' => 'The number of created lists.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'Lists' => [ + 'title' => '', + 'description' => 'The array that contains list information, including list data after paging.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The list information.'."\n", + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => [ + 'title' => '', + 'description' => 'The time when the list was last modified.'."\n", + 'type' => 'string', + 'example' => '2024-01-01T00:00:00Z', + ], + 'Id' => [ + 'title' => '', + 'description' => 'The ID of the custom list.[](~~2850217~~)'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '40000001', + ], + 'Name' => [ + 'title' => '', + 'description' => 'The list name.'."\n", + 'type' => 'string', + 'example' => 'example', + ], + 'Kind' => [ + 'title' => '', + 'description' => 'The list type.'."\n", + 'type' => 'string', + 'example' => 'ip', + ], + 'Description' => [ + 'title' => '', + 'description' => 'The list description.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'a custom list', + 'maxLength' => 1024, + 'pattern' => '', + 'default' => '', + ], + 'Length' => [ + 'title' => '', + 'description' => 'The length of the list information array, which indicates how many items the list contains.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + 'PageNumber' => [ + 'title' => '', + 'description' => 'The page number returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'title' => '', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + 'ItemsUsage' => [ + 'description' => 'Total item usage.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5000', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"TotalCount\\": 5,\\n \\"Usage\\": 10,\\n \\"Lists\\": [\\n {\\n \\"UpdateTime\\": \\"2024-01-01T00:00:00Z\\",\\n \\"Id\\": 40000001,\\n \\"Name\\": \\"example\\",\\n \\"Kind\\": \\"ip\\",\\n \\"Description\\": \\"a custom list\\",\\n \\"Length\\": 100\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"ItemsUsage\\": 5000\\n}","type":"json"}]', + 'title' => 'List Custom Lists ', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:01:32.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2024-09-18T06:56:37.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListLists', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListLists', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListLoadBalancerOriginStatus' => [ + 'summary' => 'Query the status of origins in load balancers', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238350', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1159101787****', + 'title' => '', + ], + ], + [ + 'name' => 'LoadBalancerIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'Load balancer ID. When querying multiple load balancers, separate the IDs with commas. A maximum of 100 load balancer IDs can be passed at once. Load balancer IDs can be obtained by calling the [ListLoadBalancers](~~2868897~~) interface.', + 'type' => 'string', + 'required' => true, + 'example' => '99874066052****,100892832360****', + 'title' => '', + ], + ], + [ + 'name' => 'PoolType', + 'in' => 'query', + 'schema' => [ + 'description' => 'Source address pool type. Various source address pools are configured under the load balancer, including default pools, fallback pools, and primary region pools. Only the status of origins in the default pool affects the status of the load balancer itself. Passing `default_pool` means only querying the status of origins in the default source address pool under the load balancer.', + 'type' => 'string', + 'required' => false, + 'example' => 'default_pool', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID, used for tracking the request.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'OriginStatus' => [ + 'description' => 'List of origin statuses under the load balancer.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the origin status.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancerId' => [ + 'description' => 'ID of the load balancer.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '99874066052****', + 'title' => '', + ], + 'OriginId' => [ + 'description' => 'ID of the origin.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '99750209487****', + 'title' => '', + ], + 'PoolId' => [ + 'description' => 'ID of the source address pool.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '99750209487****', + 'title' => '', + ], + 'Status' => [ + 'description' => 'Status of the origin:'."\n" + .'- Healthy(healthy): The probe result is available.'."\n" + .'- Unhealthy(unhealthy): The probe result is unavailable.'."\n" + .'- Unknown(unknown): Unknown, the monitor has not yet probed.'."\n" + .'- Undetected(undetected): The load balancer to which the origin belongs is not bound to a monitor.', + 'type' => 'string', + 'example' => 'healthy', + 'title' => '', + ], + 'Reason' => [ + 'description' => 'Reason for the probe failure.', + 'type' => 'string', + 'example' => 'TCP connection error', + 'title' => '', + ], + 'PoolType' => [ + 'description' => 'The origin pool to which the source belongs, under this load balancer. Only \'default_pool\' (default address pool) will be displayed; other types will return an empty string.', + 'type' => 'string', + 'example' => 'default_pool', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'LoadBalancerNotExist', + 'errorMessage' => 'The specified load balancer name is invalid or load balancing is not enabled for your website.Make sure that you specify a valid load balancer name and load balancing is enabled. Then, try again.', + 'description' => 'The specified load balancer name is invalid or load balancing is not enabled for your website.Make sure that you specify a valid load balancer name and load balancing is enabled. Then, try again.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"OriginStatus\\": [\\n {\\n \\"LoadBalancerId\\": 0,\\n \\"OriginId\\": 0,\\n \\"PoolId\\": 0,\\n \\"Status\\": \\"healthy\\",\\n \\"Reason\\": \\"TCP connection error\\",\\n \\"PoolType\\": \\"default_pool\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query the Status of Origins under Load Balancers', + 'description' => 'Query the status of origins under load balancers. You can pass multiple load balancer IDs at once, separated by commas. This is for load balancers that have monitors configured. It will probe the origins in the source address pools used by the load balancers and record the current status of each origin.'."\n" + ."\n" + .'- Healthy(healthy): The probe result is available.'."\n" + .'- Unhealthy(unhealthy): The probe result is unavailable.'."\n" + .'- Unknown(unknown): Unknown, the monitor has not yet probed.'."\n" + .'- Undetected(undetected): The load balancer to which the origin belongs is not bound to a monitor.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListLoadBalancerOriginStatus', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListLoadBalancerOriginStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ListLoadBalancerRegions' => [ + 'summary' => 'Query Load Balancer Region List', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239637', + 'abilityTreeNodes' => [ + 'FEATUREdcdnWQK30N', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'Page number.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1024', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID', + 'type' => 'string', + 'example' => '81A5E222-24BF-17EF-9E80-A68D9B8F363D', + ], + 'Regions' => [ + 'description' => 'List of region information', + 'type' => 'array', + 'items' => [ + 'description' => 'Region information', + 'type' => 'object', + 'properties' => [ + 'RegionCode' => [ + 'description' => 'Primary region code', + 'type' => 'string', + 'example' => 'SEAS', + 'title' => '', + ], + 'RegionEnName' => [ + 'description' => 'Primary region English full name', + 'type' => 'string', + 'example' => 'South East Asia', + 'title' => '', + ], + 'RegionCnName' => [ + 'description' => 'Primary region Chinese full name', + 'type' => 'string', + 'example' => '东南亚', + 'title' => '', + ], + 'SubRegions' => [ + 'description' => 'List of secondary region information', + 'type' => 'array', + 'items' => [ + 'description' => 'Secondary region information', + 'type' => 'object', + 'properties' => [ + 'SubRegionCode' => [ + 'description' => 'Secondary region code', + 'type' => 'string', + 'example' => 'ID', + 'title' => '', + ], + 'SubRegionEnName' => [ + 'description' => 'Secondary region English full name', + 'type' => 'string', + 'example' => 'Indonesia', + 'title' => '', + ], + 'SubRegionCnName' => [ + 'description' => 'Secondary region Chinese full name', + 'type' => 'string', + 'example' => '印度尼西亚', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'title' => 'TotalCount本次请求条件下的数据总量,此参数为可选参数,默认可不返回', + 'description' => 'Page number', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'description' => 'Number of records per page', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1024', + 'title' => '', + ], + 'TotalCount' => [ + 'title' => 'MaxResults本次请求所返回的最大记录条数', + 'description' => 'Total number of records', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '12', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 500 => [ + [ + 'errorCode' => 'QueryDBError', + 'errorMessage' => 'An internal exception occurred when query data, please try again later.', + 'description' => 'An internal exception occurred when query data, please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"81A5E222-24BF-17EF-9E80-A68D9B8F363D\\",\\n \\"Regions\\": [\\n {\\n \\"RegionCode\\": \\"SEAS\\",\\n \\"RegionEnName\\": \\"South East Asia\\",\\n \\"RegionCnName\\": \\"东南亚\\",\\n \\"SubRegions\\": [\\n {\\n \\"SubRegionCode\\": \\"ID\\",\\n \\"SubRegionEnName\\": \\"Indonesia\\",\\n \\"SubRegionCnName\\": \\"印度尼西亚\\"\\n }\\n ]\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 1024,\\n \\"TotalCount\\": 12,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + 'title' => 'Query Load Balancer Region Information', + 'description' => 'When creating a load balancer \'based on country/region scheduling\' strategy through OpenAPI, use the code of primary or secondary regions to represent traffic from this geographical area.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListLoadBalancerRegions', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListLoadBalancerRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListLoadBalancers' => [ + 'summary' => 'Query the list of load balancers', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238617', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number for paginated queries.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '2', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page size for paginated queries, with a value range of 1-500.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the load balancer, which can be used to query by name.', + 'type' => 'string', + 'required' => false, + 'example' => 'lb.example.com', + 'title' => '', + ], + ], + [ + 'name' => 'MatchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name matching strategy when querying by name:'."\n" + ."\n" + .'- fuzzy: Fuzzy match;'."\n" + .'- exact: Exact match, equivalent to an equality query.', + 'type' => 'string', + 'required' => false, + 'example' => 'fuzzy', + 'title' => '', + ], + ], + [ + 'name' => 'OrderBy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The sorting field. Currently, only sorting by id is supported. \'id\' indicates ascending order by id, and \'-id\' indicates descending order by id. The id size is positively correlated with the creation time. If not provided, it defaults to descending order by id.', + 'type' => 'string', + 'required' => false, + 'example' => 'id', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID, which can be obtained by calling the [ListSites](~~ListSites~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '21655860979****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + 'title' => '', + ], + 'LoadBalancers' => [ + 'description' => 'An array format that returns the list of load balancers.', + 'type' => 'array', + 'items' => [ + 'description' => 'Detailed information about the load balancer.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The unique identifier ID of the load balancer.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '998676487607104', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The name of the load balancer.', + 'type' => 'string', + 'example' => 'lb.example.com'."\n", + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The site ID to which the load balancer belongs.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1159101787****', + 'title' => '', + ], + 'Enabled' => [ + 'description' => 'Whether the load balancer is enabled.'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.', + 'type' => 'boolean', + 'example' => 'false', + 'title' => '', + ], + 'Ttl' => [ + 'description' => 'The TTL value, which is the DNS record\'s time to live, with a default value of 30.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '30', + 'title' => '', + ], + 'SessionAffinity' => [ + 'description' => 'Session persistence, with possible values:'."\n" + .'- off: Not enabled.'."\n" + .'- ip: Session persistence by IP.'."\n" + .'- cookie: Session persistence by cookie.', + 'type' => 'string', + 'example' => 'ip', + 'title' => '', + ], + 'FallbackPool' => [ + 'description' => 'The fallback pool ID, to which traffic will be redirected if all other pools are unavailable.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '96228666776****', + 'title' => '', + ], + 'SteeringPolicy' => [ + 'description' => 'The load balancing policy.', + 'type' => 'string', + 'example' => 'order', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The description of the load balancer.', + 'type' => 'string', + 'example' => 'test', + 'title' => '', + ], + 'AdaptiveRouting' => [ + 'description' => 'Cross-pool failover configuration.', + 'type' => 'object', + 'properties' => [ + 'FailoverAcrossPools' => [ + 'description' => 'Whether to fail over across pools.'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'DefaultPools' => [ + 'description' => 'List of default address pool IDs.', + 'type' => 'array', + 'items' => [ + 'description' => 'Default pools.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '96228666776****', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RandomSteering' => [ + 'description' => 'Weighted round-robin configuration, used to control the traffic distribution weights among different pools.', + 'type' => 'object', + 'properties' => [ + 'DefaultWeight' => [ + 'description' => 'Weight configuration for each backend server pool, where the key is the pool ID and the value is the weight coefficient. The weight coefficient represents the proportion of relative traffic distribution.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50'."\n", + 'title' => '', + ], + 'PoolWeights' => [ + 'description' => 'Weight configuration for each backend server pool, where the key is the pool ID and the value is the weight coefficient.', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'integer', + 'format' => 'int32', + 'description' => 'The weight value, a number between 0-100, where 0 indicates no traffic should be directed to that origin server.', + 'example' => '50'."\n", + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Rules' => [ + 'description' => 'List of rule configurations, used to define behaviors under specific conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'Rule configuration within the rule set.', + 'type' => 'object', + 'properties' => [ + 'FixedResponse' => [ + 'description' => 'Executes a specified response after matching the rule.', + 'type' => 'object', + 'properties' => [ + 'ContentType' => [ + 'description' => 'The Content-Type field in the HTTP Header.', + 'type' => 'string', + 'example' => 'application/json'."\n", + 'title' => '', + ], + 'Location' => [ + 'description' => 'The location field in the HTTP response.', + 'type' => 'string', + 'example' => 'http://www.example.com/index.html'."\n", + 'title' => '', + ], + 'MessageBody' => [ + 'description' => 'The response body value.', + 'type' => 'string', + 'example' => 'Hello World.'."\n", + 'title' => '', + ], + 'StatusCode' => [ + 'description' => 'Status code.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Overrides' => [ + 'description' => 'Modifies the corresponding load balancer configuration after matching the rule. The fields in this configuration will override the corresponding fields in the load balancer configuration.', + 'type' => 'any', + 'example' => '{'."\n" + .' "adaptive_routing": {'."\n" + .' "failover_across_pools": true'."\n" + .' },'."\n" + .' "sub_region_pools": {'."\n" + .' "GB": ['."\n" + .' 96228666776****'."\n" + .' ],'."\n" + .' "US": ['."\n" + .' 96228666776****'."\n" + .' ]'."\n" + .' },'."\n" + .' "default_pools": ['."\n" + .' 96228666776****,'."\n" + .' 96228666776****'."\n" + .' ],'."\n" + .' "fallback_pool": 96228666776****,'."\n" + .' "location_strategy": {'."\n" + .' "mode": "resolver_ip",'."\n" + .' "prefer_ecs": "always"'."\n" + .' },'."\n" + .' "random_steering": {'."\n" + .' "default_weight": 30,'."\n" + .' "pool_weights": {'."\n" + .' "96228666776****": 70,'."\n" + .' "96228666776****": 80'."\n" + .' }'."\n" + .' },'."\n" + .' "region_pools": {'."\n" + .' "ENAM": ['."\n" + .' 96228666776****,'."\n" + .' 92843536908****'."\n" + .' ],'."\n" + .' "WNAM": ['."\n" + .' 92843536908****'."\n" + .' ]'."\n" + .' },'."\n" + .' "session_affinity": "cookie",'."\n" + .' "session_affinity_attributes": {'."\n" + .' "drain_duration": 100,'."\n" + .' "headers": ["none"],'."\n" + .' "require_all_headers": false,'."\n" + .' "samesite": "Auto",'."\n" + .' "secure": "Auto",'."\n" + .' "zero_downtime_failover": "sticky"'."\n" + .' },'."\n" + .' "session_affinity_ttl": 1800,'."\n" + .' "steering_policy": "dynamic_latency",'."\n" + .' "ttl": 30'."\n" + .' }', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding global configurations. There are two usage scenarios: '."\n" + .'- Match all incoming requests: set the value to true '."\n" + .'- Match specific requests: set the value to a custom expression, for example: (http.host eq "video.example.com")', + 'type' => 'string', + 'example' => 'http.request.uri.path contains "/testing"'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'The name of the rule. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'r2', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'The switch for the rule. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The execution order of the rule. The higher the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Terminates' => [ + 'description' => 'Whether to terminate the execution of subsequent rules.'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No, which is the default value.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Monitor' => [ + 'description' => 'Monitor configuration.', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'The type of monitor protocol, such as HTTP, used for health checks. When the value is `off`, it indicates that no check will be performed.', + 'type' => 'string', + 'example' => 'HTTP'."\n", + 'title' => '', + ], + 'Method' => [ + 'description' => 'The method for the health check.', + 'type' => 'string', + 'example' => 'GET'."\n", + 'title' => '', + ], + 'Port' => [ + 'description' => 'The target port.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80'."\n", + 'title' => '', + ], + 'Path' => [ + 'description' => 'The path.', + 'type' => 'string', + 'example' => '/'."\n", + 'title' => '', + ], + 'Interval' => [ + 'description' => 'The interval for the health check, in seconds.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + 'ExpectedCodes' => [ + 'description' => 'The expected status codes, such as 200,202, indicating successful HTTP responses.', + 'type' => 'string', + 'example' => '200,202'."\n", + 'title' => '', + ], + 'FollowRedirects' => [ + 'description' => 'Whether to follow redirects.'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'ConsecutiveUp' => [ + 'description' => 'The number of consecutive successful probes required to consider the target healthy, such as 3.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + 'title' => '', + ], + 'ConsecutiveDown' => [ + 'description' => 'The number of consecutive failed probes required to consider the target unhealthy, such as 5.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + 'Header' => [ + 'description' => 'The header information included in the probe, such as HTTP headers.', + 'type' => 'any', + 'example' => '{'."\n" + .' "host": ['."\n" + .' "example1.com",'."\n" + .' "example2.com"'."\n" + .' ]'."\n" + .' }', + 'title' => '', + ], + 'Timeout' => [ + 'description' => 'Application health check timeout, in seconds.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + 'MonitoringRegion' => [ + 'description' => 'The area where the detection point is located. The default value is Global.'."\n" + ."\n" + .'- Global: Global.'."\n" + .'- ChineseMainland: The Chinese mainland.'."\n" + .'- OutsideChineseMainland: Global (excluding the Chinese mainland).', + 'type' => 'string', + 'example' => 'Global', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Status' => [ + 'description' => 'The status of the load balancer.', + 'type' => 'string', + 'example' => 'healthy', + 'title' => '', + ], + 'SubRegionPools' => [ + 'description' => 'Address pools corresponding to secondary regions. When multiple secondary regions share a set of address pools, the keys can be concatenated with commas.', + 'type' => 'any', + 'example' => '{"AL,MO": [92298024898****],"CN-SH,CN-SX,CN-SC":[92304347804****,92843536908****]}', + 'title' => '', + ], + 'RegionPools' => [ + 'description' => 'Address pools corresponding to primary regions.', + 'type' => 'any', + 'example' => '{'."\n" + .' "ENAM": ['."\n" + .' 12345678****'."\n" + .' ],'."\n" + .' "WNAM": ['."\n" + .' 23456789****,'."\n" + .' 23456789****'."\n" + .' ]'."\n" + .'}', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Page number, same as the PageNumber in the request parameters.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Number of items per page.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of items.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Query Load Balancers Under a Site', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-16T02:25:11.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2025-02-13T01:34:54.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListLoadBalancers', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\",\\n \\"LoadBalancers\\": [\\n {\\n \\"Id\\": 998676487607104,\\n \\"Name\\": \\"lb.example.com\\\\n\\",\\n \\"SiteId\\": 0,\\n \\"Enabled\\": false,\\n \\"Ttl\\": 30,\\n \\"SessionAffinity\\": \\"ip\\",\\n \\"FallbackPool\\": 0,\\n \\"SteeringPolicy\\": \\"order\\",\\n \\"Description\\": \\"test\\",\\n \\"AdaptiveRouting\\": {\\n \\"FailoverAcrossPools\\": true\\n },\\n \\"DefaultPools\\": [\\n 0\\n ],\\n \\"RandomSteering\\": {\\n \\"DefaultWeight\\": 50,\\n \\"PoolWeights\\": {\\n \\"key\\": 50\\n }\\n },\\n \\"Rules\\": [\\n {\\n \\"FixedResponse\\": {\\n \\"ContentType\\": \\"application/json\\\\n\\",\\n \\"Location\\": \\"http://www.example.com/index.html\\\\n\\",\\n \\"MessageBody\\": \\"Hello World.\\\\n\\",\\n \\"StatusCode\\": 200\\n },\\n \\"Overrides\\": \\"{\\\\n \\\\\\"adaptive_routing\\\\\\": {\\\\n \\\\\\"failover_across_pools\\\\\\": true\\\\n },\\\\n \\\\\\"sub_region_pools\\\\\\": {\\\\n \\\\\\"GB\\\\\\": [\\\\n 96228666776****\\\\n ],\\\\n \\\\\\"US\\\\\\": [\\\\n 96228666776****\\\\n ]\\\\n },\\\\n \\\\\\"default_pools\\\\\\": [\\\\n 96228666776****,\\\\n 96228666776****\\\\n ],\\\\n \\\\\\"fallback_pool\\\\\\": 96228666776****,\\\\n \\\\\\"location_strategy\\\\\\": {\\\\n \\\\\\"mode\\\\\\": \\\\\\"resolver_ip\\\\\\",\\\\n \\\\\\"prefer_ecs\\\\\\": \\\\\\"always\\\\\\"\\\\n },\\\\n \\\\\\"random_steering\\\\\\": {\\\\n \\\\\\"default_weight\\\\\\": 30,\\\\n \\\\\\"pool_weights\\\\\\": {\\\\n \\\\\\"96228666776****\\\\\\": 70,\\\\n \\\\\\"96228666776****\\\\\\": 80\\\\n }\\\\n },\\\\n \\\\\\"region_pools\\\\\\": {\\\\n \\\\\\"ENAM\\\\\\": [\\\\n 96228666776****,\\\\n 92843536908****\\\\n ],\\\\n \\\\\\"WNAM\\\\\\": [\\\\n 92843536908****\\\\n ]\\\\n },\\\\n \\\\\\"session_affinity\\\\\\": \\\\\\"cookie\\\\\\",\\\\n \\\\\\"session_affinity_attributes\\\\\\": {\\\\n \\\\\\"drain_duration\\\\\\": 100,\\\\n \\\\\\"headers\\\\\\": [\\\\\\"none\\\\\\"],\\\\n \\\\\\"require_all_headers\\\\\\": false,\\\\n \\\\\\"samesite\\\\\\": \\\\\\"Auto\\\\\\",\\\\n \\\\\\"secure\\\\\\": \\\\\\"Auto\\\\\\",\\\\n \\\\\\"zero_downtime_failover\\\\\\": \\\\\\"sticky\\\\\\"\\\\n },\\\\n \\\\\\"session_affinity_ttl\\\\\\": 1800,\\\\n \\\\\\"steering_policy\\\\\\": \\\\\\"dynamic_latency\\\\\\",\\\\n \\\\\\"ttl\\\\\\": 30\\\\n }\\",\\n \\"Rule\\": \\"http.request.uri.path contains \\\\\\"/testing\\\\\\"\\\\n\\",\\n \\"RuleName\\": \\"r2\\",\\n \\"RuleEnable\\": \\"on\\",\\n \\"Sequence\\": 1,\\n \\"Terminates\\": true\\n }\\n ],\\n \\"Monitor\\": {\\n \\"Type\\": \\"HTTP\\\\n\\",\\n \\"Method\\": \\"GET\\\\n\\",\\n \\"Port\\": 80,\\n \\"Path\\": \\"/\\\\n\\",\\n \\"Interval\\": 60,\\n \\"ExpectedCodes\\": \\"200,202\\\\n\\",\\n \\"FollowRedirects\\": true,\\n \\"ConsecutiveUp\\": 3,\\n \\"ConsecutiveDown\\": 5,\\n \\"Header\\": \\"{\\\\n \\\\\\"host\\\\\\": [\\\\n \\\\\\"example1.com\\\\\\",\\\\n \\\\\\"example2.com\\\\\\"\\\\n ]\\\\n }\\",\\n \\"Timeout\\": 5,\\n \\"MonitoringRegion\\": \\"Global\\"\\n },\\n \\"Status\\": \\"healthy\\",\\n \\"SubRegionPools\\": \\"{\\\\\\"AL,MO\\\\\\": [92298024898****],\\\\\\"CN-SH,CN-SX,CN-SC\\\\\\":[92304347804****,92843536908****]}\\",\\n \\"RegionPools\\": \\"{\\\\n \\\\\\"ENAM\\\\\\": [\\\\n 12345678****\\\\n ],\\\\n \\\\\\"WNAM\\\\\\": [\\\\n 23456789****,\\\\n 23456789****\\\\n ]\\\\n}\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 100,\\n \\"TotalPage\\": 10\\n}","type":"json"}]', + ], + 'ListManagedRulesGroups' => [ + 'summary' => 'List Custom Managed Rule Groups', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239646', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '页面号码', + 'description' => 'Page number, used to specify the page number for pagination queries.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '页面大小', + 'description' => 'Page size, used to specify the number of items per page for pagination queries.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'TotalCount' => [ + 'title' => '过滤后的总记录数', + 'description' => 'Total number of records after filtering.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + ], + 'ManagedRulesGroups' => [ + 'title' => '托管规则组信息列表', + 'description' => 'List of managed rule group information.', + 'type' => 'array', + 'items' => [ + 'title' => '托管规则组信息', + 'description' => 'Managed rule group information.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'title' => '托管规则组名称', + 'description' => 'Name of the managed rule group.', + 'type' => 'string', + 'example' => 'example', + ], + 'RuleCount' => [ + 'description' => 'Number of rules within the managed rule group.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1000', + 'title' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + 'PageNumber' => [ + 'title' => '页面号码', + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'title' => '页面大小', + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"TotalCount\\": 5,\\n \\"ManagedRulesGroups\\": [\\n {\\n \\"Name\\": \\"example\\",\\n \\"RuleCount\\": 1000\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20\\n}","type":"json"}]', + 'title' => 'List WAF Managed Rule Groups', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-26T15:07:29.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-29T05:46:33.000Z', + 'description' => 'Request parameters changed, Response parameters changed', + ], + [ + 'createdAt' => '2024-09-18T06:56:37.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListManagedRulesGroups', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListManagedRulesGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListNetworkOptimizations' => [ + 'summary' => 'Query multiple network optimization configurations', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257562', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1231231221****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3528160969****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '配置类型,可以根据此参数查全局配置或者功能配置,只有传了functionName才生效', + 'description' => 'Configuration type, which can be used to query global or rule-based configurations. The value range is as follows:'."\n" + ."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule-based configuration.'."\n" + ."\n" + .'This parameter is optional; if not provided, it does not distinguish between global and rule-based configurations.', + 'type' => 'string', + 'required' => false, + 'example' => 'global', + 'enum' => [ + 'global', + 'rule', + ], + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效', + 'description' => 'Rule name, which can be used to find the rule with the specified name.', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '第几页,不传时默认为1', + 'description' => 'Page number, defaulting to 1 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页几条,最大500,不传时默认500', + 'description' => 'Number of items per page, with a maximum of 500. Defaults to 500 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version number. For sites with version management enabled, this parameter can specify the site version for which the configuration takes effect, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + ], + 'Configs' => [ + 'description' => 'Response body configurations.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '395386449776640', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Site configuration version number. For sites with version management enabled, this parameter can specify the site version for which the configuration takes effect, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. The value range is as follows:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, e.g., (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type, which can be used to query global or rule-based configurations. The value range is as follows:'."\n" + ."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule-based configuration.', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'SmartRouting' => [ + 'description' => 'Whether to enable smart routing service, defaulting to off. The value range is as follows:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Http2Origin' => [ + 'description' => 'Whether to enable HTTP2 origin, defaulting to off. The value range is as follows:'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Websocket' => [ + 'description' => 'Whether to enable Websocket, enabled by default. Value range: '."\n" + .'- on: Enabled. '."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Grpc' => [ + 'description' => 'Whether to enable GRPC, default is off. The value range is:'."\n" + .'- on: enabled.'."\n" + .'- off: disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'UploadMaxFilesize' => [ + 'description' => 'Maximum file size for upload, in MB. The value range is 100 to 500.', + 'type' => 'string', + 'example' => '500', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The size of the page.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of records.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 395386449776640,\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"global\\",\\n \\"SmartRouting\\": \\"on\\",\\n \\"Http2Origin\\": \\"on\\",\\n \\"Websocket\\": \\"on\\",\\n \\"Grpc\\": \\"on\\",\\n \\"UploadMaxFilesize\\": \\"500\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 100,\\n \\"TotalPage\\": 2\\n}","type":"json"}]', + 'title' => 'Query Network Optimization Configurations List', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListNetworkOptimizations', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListNetworkOptimizations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'ListOriginCaCertificates' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261742', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: **20**. Valid values: 1 to 500.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'Page number, default is 1 if not provided.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com ', + 'title' => '', + ], + 'Result' => [ + 'description' => 'Details of the certificates.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The certificate information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The certificate status.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type.'."\n" + .'* upload: custom certificate that you upload', + 'type' => 'string', + 'example' => 'upload', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-11-26T16:00:00Z', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-03-31 02:08:00', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The Subject Alternative Name (SAN) of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubkeyAlgorithm' => [ + 'description' => 'The public-key algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the certificate was created.'."\n", + 'type' => 'string', + 'example' => '2024-06-24 07:48:51', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the certificate was updated.'."\n", + 'type' => 'string', + 'example' => '2024-07-20 06:18:42', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.'."\n", + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1d**', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'ListOriginCaCertificates ', + 'summary' => 'Query the list of CA certificates for origin servers.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListOriginCaCertificates', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListOriginCaCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\",\\n \\"TotalCount\\": 20,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com \\",\\n \\"Result\\": [\\n {\\n \\"Id\\": \\"babaabcd****\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Status\\": \\"OK\\",\\n \\"Type\\": \\"upload\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"NotBefore\\": \\"2023-11-26T16:00:00Z\\",\\n \\"NotAfter\\": \\"2024-03-31 02:08:00\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"PubkeyAlgorithm\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2024-06-24 07:48:51\\",\\n \\"UpdateTime\\": \\"2024-07-20 06:18:42\\",\\n \\"SerialNumber\\": \\"babaded901474b9693acf530e0fb1d**\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListOriginClientCertificates' => [ + 'summary' => 'Query the list of origin fetch client certificates by domain name granularity.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261754', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '3558df77-8a7a-4060-a900-2d7949403836', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com'."\n", + 'title' => '', + ], + 'Result' => [ + 'description' => 'The certificate information.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The certificate information.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The certificate status.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type.'."\n" + .'* upload: custom certificate that you upload', + 'type' => 'string', + 'example' => 'upload', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-03-31 02:08:00', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-03-31 02:08:00', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The certificate authority (CA) that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'DigiCert', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The Subject Alternative Name (SAN) of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubkeyAlgorithm' => [ + 'description' => 'The public-key algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the certificate was created.'."\n", + 'type' => 'string', + 'example' => '2024-06-24 07:48:51', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the certificate was updated.'."\n", + 'type' => 'string', + 'example' => '2024-07-20 06:18:42', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.'."\n", + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1d**', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****', + 'title' => '', + ], + 'Hostnames' => [ + 'description' => 'The domain names to associate.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'title' => 'Query the origin fetch client certificate list by domain granularity', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListOriginClientCertificates', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListOriginClientCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3558df77-8a7a-4060-a900-2d7949403836\\",\\n \\"TotalCount\\": 20,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com\\\\n\\",\\n \\"Result\\": [\\n {\\n \\"Id\\": \\"babaabcd****\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Status\\": \\"OK\\",\\n \\"Type\\": \\"upload\\",\\n \\"CommonName\\": \\"www.example.com \\",\\n \\"NotBefore\\": \\"2023-03-31 02:08:00\\",\\n \\"NotAfter\\": \\"2024-03-31 02:08:00\\",\\n \\"Issuer\\": \\"DigiCert\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"PubkeyAlgorithm\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2024-06-24 07:48:51\\",\\n \\"UpdateTime\\": \\"2024-07-20 06:18:42\\",\\n \\"SerialNumber\\": \\"babaded901474b9693acf530e0fb1d**\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****\\",\\n \\"Hostnames\\": [\\n \\"www.example.com\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListOriginPools' => [ + 'summary' => 'List Origin Pools', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238398', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'Page number, default value is 1.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'Page size, an integer greater than 0, with a maximum of 500. If the value exceeds 500, it will be set to 500.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'Name of the origin pool.', + 'type' => 'string', + 'required' => false, + 'example' => 'pool1', + 'title' => '', + ], + ], + [ + 'name' => 'MatchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'Type of name match query, supporting the following two types, with exact match as the default.'."\n" + ."\n" + .'- fuzzy: Fuzzy query.'."\n" + .'- exact: Exact query.', + 'type' => 'string', + 'required' => false, + 'example' => 'exact', + 'title' => '', + ], + ], + [ + 'name' => 'OrderBy', + 'in' => 'query', + 'schema' => [ + 'description' => 'Sorting, supports ascending and descending order by ID, default is descending by ID, which is positively correlated with creation time.'."\n" + ."\n" + .'- -id: Sort by ID in descending order.'."\n" + .'- id: Sort by ID in ascending order.', + 'type' => 'string', + 'required' => false, + 'example' => 'id', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '151538882642832', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + 'title' => '', + ], + 'OriginPools' => [ + 'description' => 'List of origin pools.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the origin pool.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'ID of the origin pool.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1038520525196928', + 'title' => '', + ], + 'Name' => [ + 'description' => 'Name of the origin pool, unique within a site.', + 'type' => 'string', + 'example' => 'pool1', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'ID of the site to which the origin pool belongs.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '216558609793952', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'Domain name assigned to the origin pool, which can be used as the origin address for records under the site.', + 'type' => 'string', + 'example' => 'pool1.example.com'."\n", + 'title' => '', + ], + 'Enabled' => [ + 'description' => 'Whether the origin pool is enabled:'."\n" + ."\n" + .'- true: Enabled;'."\n" + .'- false: Disabled.', + 'type' => 'boolean', + 'example' => 'false', + 'title' => '', + ], + 'References' => [ + 'description' => 'Reference information for the origin pool. The origin pool is considered referenced when it is configured in a load balancer or set as the origin for a record.', + 'type' => 'object', + 'properties' => [ + 'LoadBalancers' => [ + 'description' => 'List of load balancers using this origin pool.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the load balancers using this origin pool.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'Name of the load balancer.', + 'type' => 'string', + 'example' => 'lb1.example.com'."\n", + 'title' => '', + ], + 'Id' => [ + 'description' => 'ID of the load balancer.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '998740660522624'."\n", + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DnsRecords' => [ + 'description' => '使用此源地址池为源站的七层记录列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the layer 7 records that use this origin pool as the origin.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'Record name.', + 'type' => 'string', + 'example' => 'www.example.com'."\n", + 'title' => '', + ], + 'Id' => [ + 'description' => 'Record ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1042852886352704', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'IPARecords' => [ + 'description' => 'List of layer 4 records that use this origin pool as the origin.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the layer 4 records that use this origin pool as the origin.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'Record name.', + 'type' => 'string', + 'example' => 'ipa.example.com'."\n", + 'title' => '', + ], + 'Id' => [ + 'description' => 'Record ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1042852886352704'."\n", + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'ReferenceLBCount' => [ + 'description' => 'Number of load balancers that reference this origin pool.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '5', + 'title' => '', + ], + 'Origins' => [ + 'description' => 'Information about the origins added to the origin pool.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the origins added to the origin pool.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'Origin ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '997502094872132', + 'title' => '', + ], + 'Name' => [ + 'description' => 'Origin name.', + 'type' => 'string', + 'example' => 'origin1', + 'title' => '', + ], + 'Address' => [ + 'description' => 'Origin address, e.g., www.example.com.', + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'Enabled' => [ + 'description' => 'Whether the origin is enabled:'."\n" + ."\n" + .'- true: Enabled;'."\n" + .'- false: Disabled.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'Weight' => [ + 'description' => 'Weight, an integer between 0 and 100.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + 'title' => '', + ], + 'Type' => [ + 'description' => 'Origin type:'."\n" + .'- ip_domain: IP or domain type origin; '."\n" + .'- OSS: OSS address origin; '."\n" + .'- S3: AWS S3 origin.', + 'type' => 'string', + 'example' => 'S3', + 'title' => '', + ], + 'Header' => [ + 'description' => 'The request header to be carried during back-to-origin, only supports Host.', + 'type' => 'any', + 'example' => '{'."\n" + .' "Host": ['."\n" + .' "example.com"'."\n" + .' ]'."\n" + .' }', + 'title' => '', + ], + 'AuthConf' => [ + 'description' => 'Authentication information. When the origin is OSS or S3 and requires authentication, you need to provide related configuration information for authentication.', + 'type' => 'object', + 'properties' => [ + 'AuthType' => [ + 'description' => 'Authentication type.'."\n" + ."\n" + .'- public: Public read/write, used when the origin is OSS or S3 and it is set to public read/write;'."\n" + .'- private_same_account: Private same account, used when the origin is OSS and the authentication type is private within the same account;'."\n" + .'- private_cross_account: Private cross-account, used when the origin is OSS and the authentication type is private across accounts;'."\n" + .'- private: Used when the origin is S3 and the authentication type is private.', + 'type' => 'string', + 'example' => 'public', + 'title' => '', + ], + 'AccessKey' => [ + 'description' => 'The AccessKey required for private authentication.', + 'type' => 'string', + 'example' => 'yourAccessKeyID', + 'title' => '', + ], + 'SecretKey' => [ + 'description' => 'The SecretKey required for private authentication.', + 'type' => 'string', + 'example' => 'yourAccessKeySecret', + 'title' => '', + ], + 'Version' => [ + 'description' => 'The signature version required when the origin is AWS S3.', + 'type' => 'string', + 'example' => 'v2', + 'title' => '', + ], + 'Region' => [ + 'description' => 'The Region of the origin required when the origin is AWS S3.', + 'type' => 'string', + 'example' => 'us-east-1'."\n", + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'IpVersionPolicy' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total count.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '16', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.Coverage', + 'errorMessage' => 'The selected location is unavailable in your plan. Change the location to one that is covered by the plan and try again.', + 'description' => 'The selected location is unavailable in your plan. Change the location to one that is covered by the plan and try again.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'List Origin Pools', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListOriginPools', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListOriginPools', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"OriginPools\\": [\\n {\\n \\"Id\\": 1038520525196928,\\n \\"Name\\": \\"pool1\\",\\n \\"SiteId\\": 216558609793952,\\n \\"RecordName\\": \\"pool1.example.com\\\\n\\",\\n \\"Enabled\\": false,\\n \\"References\\": {\\n \\"LoadBalancers\\": [\\n {\\n \\"Name\\": \\"lb1.example.com\\\\n\\",\\n \\"Id\\": 998740660522624\\n }\\n ],\\n \\"DnsRecords\\": [\\n {\\n \\"Name\\": \\"www.example.com\\\\n\\",\\n \\"Id\\": 1042852886352704\\n }\\n ],\\n \\"IPARecords\\": [\\n {\\n \\"Name\\": \\"ipa.example.com\\\\n\\",\\n \\"Id\\": 1042852886352704\\n }\\n ]\\n },\\n \\"ReferenceLBCount\\": 5,\\n \\"Origins\\": [\\n {\\n \\"Id\\": 997502094872132,\\n \\"Name\\": \\"origin1\\",\\n \\"Address\\": \\"www.example.com\\",\\n \\"Enabled\\": true,\\n \\"Weight\\": 50,\\n \\"Type\\": \\"S3\\",\\n \\"Header\\": \\"{\\\\n \\\\\\"Host\\\\\\": [\\\\n \\\\\\"example.com\\\\\\"\\\\n ]\\\\n }\\",\\n \\"AuthConf\\": {\\n \\"AuthType\\": \\"public\\",\\n \\"AccessKey\\": \\"yourAccessKeyID\\",\\n \\"SecretKey\\": \\"yourAccessKeySecret\\",\\n \\"Version\\": \\"v2\\",\\n \\"Region\\": \\"us-east-1\\\\n\\"\\n },\\n \\"IpVersionPolicy\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 16,\\n \\"TotalPage\\": 10\\n}","type":"json"}]', + ], + 'ListOriginRules' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257559', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '配置类型,可以根据此参数查全局配置或者功能配置,只有传了functionName才生效', + 'description' => 'Configuration type, which can be used to query global or rule configurations. Value range:'."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule configuration.'."\n" + ."\n" + .'This parameter is optional; if not provided, it does not distinguish between global and rule configurations.', + 'type' => 'string', + 'required' => false, + 'example' => 'global', + 'enum' => [ + 'global', + 'rule', + ], + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效', + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '第几页,不传时默认为1', + 'description' => 'Page number, defaulting to 1 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页几条,最大500,不传时默认500', + 'description' => 'Number of items per page, with a maximum of 500. Defaults to 500 if not provided.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site. For sites with version management enabled, this parameter can specify the version of the site for which the configuration is effective, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + 'Configs' => [ + 'description' => 'Response body configuration.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '395386449776640', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, this parameter can specify the version of the site for which the configuration is effective, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, e.g., (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type, which can be used to query global or rule configurations. Value range:'."\n" + .'- global: Query global configuration.'."\n" + .'- rule: Query rule configuration.', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'OriginHost' => [ + 'description' => 'HOST carried in the origin request.', + 'type' => 'string', + 'example' => 'origin.example.com'."\n", + 'title' => '', + ], + 'OriginScheme' => [ + 'description' => 'Protocol used for the origin request. Value range:'."\n" + .'- http: Use HTTP protocol for origin.'."\n" + .'- https: Use HTTPS protocol for origin.'."\n" + .'- follow: Follow the client\'s protocol for origin.', + 'type' => 'string', + 'example' => 'http', + 'title' => '', + ], + 'OriginSni' => [ + 'description' => 'SNI carried in the back-to-origin request.', + 'type' => 'string', + 'example' => 'origin.example.com', + 'title' => '', + ], + 'DnsRecord' => [ + 'description' => 'Rewrite the DNS resolution record for the origin request.', + 'type' => 'string', + 'example' => 'test.example.com'."\n", + 'title' => '', + ], + 'OriginHttpPort' => [ + 'description' => 'The port of the origin server to access when using the HTTP protocol for origin requests.', + 'type' => 'string', + 'example' => '8080', + 'title' => '', + ], + 'OriginHttpsPort' => [ + 'description' => 'The port of the origin server to access when using the HTTPS protocol for origin requests.', + 'type' => 'string', + 'example' => '4433', + 'title' => '', + ], + 'Range' => [ + 'description' => 'Use range slicing to download files from the origin. Value range:'."\n" + .'- on: Enable'."\n" + .'- off: Disable'."\n" + .'- force: Force', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'OriginMtls' => [ + 'description' => 'mTLS switch. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'OriginVerify' => [ + 'description' => 'Origin certificate verification switch. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'RangeChunkSize' => [ + 'description' => 'The size of each range shard. ', + 'type' => 'string', + 'example' => '1MB', + 'title' => '', + ], + 'OriginReadTimeout' => [ + 'description' => 'Origin read timeout (in seconds). ', + 'type' => 'string', + 'example' => '10', + 'title' => '', + ], + 'Follow302Enable' => [ + 'description' => '302 redirection toggle. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Follow302MaxTries' => [ + 'description' => 'Maximum number of 302 redirects allowed. Valid values: [1–5].', + 'type' => 'string', + 'example' => '1', + 'title' => '', + ], + 'Follow302RetainArgs' => [ + 'description' => 'Toggle to retain original request parameters. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Follow302RetainHeader' => [ + 'description' => 'Toggle to retain the original request header. Valid values: '."\n" + .'- on: Enabled. '."\n" + .'- off: Disabled. ', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Follow302TargetHost' => [ + 'description' => 'Modifies the origin host after a 302 redirect. ', + 'type' => 'string', + 'example' => 'test.com', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of records.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'title' => 'List of Origin Rule Configurations for Sites', + 'summary' => 'Query multiple origin rule configurations', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-17T08:47:33.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2025-04-01T01:57:04.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2025-03-20T05:57:46.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2025-02-27T09:16:40.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListOriginRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListOriginRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 395386449776640,\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"global\\",\\n \\"OriginHost\\": \\"origin.example.com\\\\n\\",\\n \\"OriginScheme\\": \\"http\\",\\n \\"OriginSni\\": \\"origin.example.com\\",\\n \\"DnsRecord\\": \\"test.example.com\\\\n\\",\\n \\"OriginHttpPort\\": \\"8080\\",\\n \\"OriginHttpsPort\\": \\"4433\\",\\n \\"Range\\": \\"on\\",\\n \\"OriginMtls\\": \\"on\\",\\n \\"OriginVerify\\": \\"on\\",\\n \\"RangeChunkSize\\": \\"1MB\\",\\n \\"OriginReadTimeout\\": \\"10\\",\\n \\"Follow302Enable\\": \\"on\\",\\n \\"Follow302MaxTries\\": \\"1\\",\\n \\"Follow302RetainArgs\\": \\"on\\",\\n \\"Follow302RetainHeader\\": \\"on\\",\\n \\"Follow302TargetHost\\": \\"test.com\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 100,\\n \\"TotalPage\\": 2\\n}","type":"json"}]', + ], + 'ListPages' => [ + 'summary' => 'Lists all custom response pages created by the User. This API provides paging functionality and supports retrieving the response page list based on page number and page size. ', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239580', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'QueryArgs', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Query parameters passed in JSON format, containing various filter conditions.', + 'type' => 'object', + 'properties' => [ + 'NameDescriptionLike' => [ + 'description' => 'Perform a fuzzy query on the name or description of custom pages.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The page number. Valid values: **1 to 100000**. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The number of entries per page. Default value: 20.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Usage' => [ + 'title' => '', + 'description' => 'The number of custom error pages that you created.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'TotalCount' => [ + 'title' => '', + 'description' => 'The number of custom error pages after filtering.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'Pages' => [ + 'title' => '', + 'description' => 'The custom error pages. Each element in the array contains error page-specific information.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => 'WafPageItemType', + 'description' => 'WafPageItemType'."\n", + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => [ + 'title' => '', + 'description' => 'The time when the custom error page was last modified.'."\n", + 'type' => 'string', + 'example' => '2024-01-01T00:00:00Z', + ], + 'Id' => [ + 'title' => '', + 'description' => 'The ID of the custom error page.[](~~2850223~~)'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '50000001', + ], + 'Name' => [ + 'title' => '', + 'description' => 'The name of the custom error page.'."\n", + 'type' => 'string', + 'example' => 'example', + ], + 'Kind' => [ + 'title' => '', + 'description' => 'The type of the custom error page.'."\n", + 'type' => 'string', + 'example' => 'custom', + ], + 'Description' => [ + 'title' => '', + 'description' => 'The description of the custom error page.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'a custom deny page', + 'maxLength' => 1024, + 'pattern' => '', + 'default' => '', + ], + 'ContentType' => [ + 'title' => '', + 'description' => 'The Content-Type field in the HTTP header.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'text/html', + 'pattern' => '', + 'default' => '', + ], + 'Content' => [ + 'title' => '', + 'description' => 'The Base64-encoded content of the error page. The content type is specified by the Content-Type field.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'PGh0bWw+aGVsbG8gcGFnZTwvaHRtbD4=', + 'pattern' => '', + 'default' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + 'PageNumber' => [ + 'title' => '', + 'description' => 'The page number returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'title' => '', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'List Custom Response Pages', + 'changeSet' => [ + [ + 'createdAt' => '2025-01-09T06:24:33.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-09-25T07:02:48.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:56:37.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListPages', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListPages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Usage\\": 10,\\n \\"TotalCount\\": 10,\\n \\"Pages\\": [\\n {\\n \\"UpdateTime\\": \\"2024-01-01T00:00:00Z\\",\\n \\"Id\\": 50000001,\\n \\"Name\\": \\"example\\",\\n \\"Kind\\": \\"custom\\",\\n \\"Description\\": \\"a custom deny page\\",\\n \\"ContentType\\": \\"text/html\\",\\n \\"Content\\": \\"PGh0bWw+aGVsbG8gcGFnZTwvaHRtbD4=\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20\\n}","type":"json"}]', + ], + 'ListRecords' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239634', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVFT29S', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID. You can obtain this by invoking the [ListSites](~~2850189~~) API. ', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The record name. This is used as a filter condition for the query. ', + 'type' => 'string', + 'required' => false, + 'example' => 'www.example.com', + 'title' => '', + ], + ], + [ + 'name' => 'RecordMatchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The search matching pattern for the record name. The default value is exact match. Valid values: '."\n" + .'- **prefix**: prefix match. '."\n" + .'- **suffix**: suffix match. '."\n" + .'- **exact**: exact match. '."\n" + .'- **fuzzy**: fuzzy match. ', + 'type' => 'string', + 'required' => false, + 'example' => 'fuzzy', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'Page number. Default Value: **1**.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'Page size. Default Value: **500**.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + ], + [ + 'name' => 'SourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The origin server type of the record, used as a filter condition for queries (only CNAME records can be filtered by this field). Valid values:'."\n" + .'- **OSS**: OSS origin server.'."\n" + .'- **S3**: S3 origin server.'."\n" + .'- **LB**: Server Load Balancer origin server.'."\n" + .'- **OP**: Address pool origin server.'."\n" + .'- **Domain**: Standard domain name origin server.', + 'type' => 'string', + 'required' => false, + 'example' => 'OSS', + 'title' => '', + ], + ], + [ + 'name' => 'BizName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The business scenario for record acceleration, used as a filter condition for queries. Valid values:'."\n" + .'- **image_video**: Image and Video.'."\n" + .'- **api**: API.'."\n" + .'- **web**: Web page.', + 'type' => 'string', + 'required' => false, + 'example' => 'web', + 'title' => '', + ], + ], + [ + 'name' => 'Proxied', + 'in' => 'query', + 'schema' => [ + 'description' => 'Indicates whether proxy acceleration is enabled for the record, used as a filter condition for queries. Valid values:'."\n" + ."\n" + .'- **true**: Enables proxy.'."\n" + .'- **false**: Disables proxy acceleration.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The DNS record type of the record, used as a filter condition for queries.', + 'type' => 'string', + 'required' => false, + 'example' => 'CNAME', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'PageNumber' => [ + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Number of records displayed per page.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of records.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'Records' => [ + 'description' => 'DNS information of the records. For details, see [Documentation](~~2708761~~)[Documentation](https://www.alibabacloud.com/help/doc-detail/2708761.html).', + 'type' => 'array', + 'items' => [ + 'description' => 'Information of a single record.', + 'type' => 'object', + 'properties' => [ + 'BizName' => [ + 'description' => 'The business scenario for record acceleration. Valid values:'."\n" + .'- **image_video**: Image and video.'."\n" + .'- **api**: API.'."\n" + .'- **web**: Web page.', + 'type' => 'string', + 'example' => 'web', + 'title' => '', + ], + 'Data' => [ + 'description' => 'The specific DNS information of the record. Different record types contain different information. ', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The record value or partial content. This parameter is present in A/AAAA, CNAME, NS, MX, TXT, CAA, SRV, and URI records, and has different meanings depending on the record type:'."\n" + ."\n" + .'- **A/AAAA**: The IP address pointed to. When multiple IP addresses are specified, they must be separated by commas (`,`). At least one IPv4 address is required.'."\n" + .'- **CNAME**: The target domain name pointed to.'."\n" + .'- **NS**: The name server designated for the domain.'."\n" + .'- **MX**: A valid target mail server domain name.'."\n" + .'- **TXT**: A valid text string.'."\n" + .'- **CAA**: A valid certification authority domain name.'."\n" + .'- **SRV**: A valid target host domain name.'."\n" + .'- **URI**: A valid URI string. ', + 'type' => 'string', + 'example' => 'CNAME', + 'title' => '', + ], + 'Priority' => [ + 'description' => 'The priority of the record, ranging from **0** to **65535**. A smaller numeric value indicates a higher priority. Exclusive to MX, SRV, and URI records. ', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Flag' => [ + 'description' => 'The flag of the record. For CAA records, the flag indicates its priority and processing method, with a range of **0** to **255**. Exclusive to CAA records. ', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '128', + 'title' => '', + ], + 'Tags' => [ + 'type' => 'object', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Weight' => [ + 'description' => 'The weight of the record, ranging from **0** to **65535**. Exclusive to SRV and URI records.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Port' => [ + 'description' => 'The port of the record, ranging from **0** to **65535**. Exclusive to SRV records. ', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type (for CERT records) or public key type (for SSHFP records). ', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'KeyTag' => [ + 'description' => 'The public key identity of the record, with a range of **0~65535**. This field is exclusive to CERT records. ', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Algorithm' => [ + 'description' => 'The encryption algorithm used by the record, ranging from **0** to **255**. Exclusive to CERT and SSHFP records. ', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The public key certificate information of the record. This field is exclusive to CERT, SMIMEA, and TLSA records. ', + 'type' => 'string', + 'example' => 'dGVzdGFkYWxrcw==', + 'title' => '', + ], + 'Usage' => [ + 'description' => 'The usage identity of the record, ranging from **0** to **255**. Exclusive to SMIMEA and TLSA records. ', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Selector' => [ + 'description' => 'The type of certificate or public key used by the record, with a range of **0~255**. This field is exclusive to SMIMEA and TLSA records. ', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'MatchingType' => [ + 'description' => 'The algorithm policy used by the record to match or authenticate certificates, with a range of **0~255**. This field is exclusive to SMIMEA and TLSA records. ', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Fingerprint' => [ + 'description' => 'The public key fingerprint value of the record. Exclusive to SSHFP records. ', + 'type' => 'string', + 'example' => 'abcdef1234567890', + 'title' => '', + ], + 'Tag' => [ + 'description' => 'The label of the record. For CAA records, the tag indicates its specific type and purpose. This field is exclusive to CAA records. ', + 'type' => 'string', + 'example' => 'issue', + 'title' => '', + ], + ], + 'example' => '{"value":"1.1.1.1"}', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The creation time of the record, formatted according to ISO 8601 notation and expressed in UTC, with the format yyyy-MM-ddTHH:mm:ssZ. ', + 'type' => 'string', + 'example' => '2023-12-24T02:01:11Z', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The update time of the record, formatted according to ISO 8601 notation in UTC, with the format yyyy-MM-ddTHH:mm:ssZ.', + 'type' => 'string', + 'example' => '2023-06-07T10:02:59Z', + 'title' => '', + ], + 'Proxied' => [ + 'description' => 'Indicates whether proxy acceleration is enabled for the record. Valid values:'."\n" + ."\n" + .'- **true**: Proxy acceleration is enabled.'."\n" + .'- **false**: Proxy acceleration is disabled.', + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'RecordId' => [ + 'description' => 'The record ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'RecordSourceType' => [ + 'description' => 'Source type for CNAME records. This parameter must be specified when adding a CNAME record. Valid values:'."\n" + ."\n" + .'- **OSS**: OSS source.'."\n" + .'- **S3**: S3 source.'."\n" + .'- **LB**: Server Load Balancer source.'."\n" + .'- **OP**: Address pool source.'."\n" + .'- **Domain**: Standard domain name source.'."\n" + ."\n" + .'If this parameter is not provided or is empty, it defaults to Domain, indicating a standard domain name source.', + 'type' => 'string', + 'example' => 'OSS', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'Record name.', + 'type' => 'string', + 'example' => 'a.example.com', + 'title' => '', + ], + 'RecordType' => [ + 'description' => 'The DNS record type, such as **A/AAAA**, **CNAME**, or **TXT**.', + 'type' => 'string', + 'example' => 'A/AAAA', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'ID of the site to which the record belongs.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'Name of the site to which the record belongs.', + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Ttl' => [ + 'description' => 'The record\'s time-to-live (TTL), in seconds. A value of 1 indicates that the TTL is set automatically.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '30', + 'title' => '', + ], + 'RecordCname' => [ + 'description' => 'The canonical name (CNAME) of the record. When the site\'s connection type is CNAME, you must configure a CNAME value for the record. ', + 'type' => 'string', + 'example' => 'a.example.com.cnamezone.com', + 'title' => '', + ], + 'Comment' => [ + 'description' => 'Comment for the record.', + 'type' => 'string', + 'example' => 'this is a remark.', + 'title' => '', + ], + 'AuthConf' => [ + 'description' => 'Authentication information for the origin server of the CNAME record.', + 'type' => 'object', + 'properties' => [ + 'AuthType' => [ + 'description' => 'The origin authentication type. The supported authentication types vary depending on the origin type. The origin type refers to the SourceType parameter in this API. When the origin type is OSS or S3, you must specify the origin authentication type. Valid values: '."\n" + .'- **public**: public-read. Use this value when the origin type is OSS or S3 and the origin is publicly readable. '."\n" + .'- **private**: private read. Use this value when the origin type is S3 and the origin is privately readable. '."\n" + .'- **private_same_account**: private read within the same Alibaba Cloud account. Use this value when the origin type is OSS, the origin is privately readable, and it belongs to the same Alibaba Cloud account. '."\n" + .'- **private_cross_account**: private read across different Alibaba Cloud accounts. Use this value when the origin type is OSS, the origin is privately readable, and it belongs to a different Alibaba Cloud account. ', + 'type' => 'string', + 'example' => 'private', + 'title' => '', + ], + 'AccessKey' => [ + 'description' => 'The AccessKey of the account to which the origin belongs. This parameter is required when the origin type is OSS and the origin authentication type is private read across different Alibaba Cloud accounts, or when the origin type is S3 and the origin authentication type is private read. ', + 'type' => 'string', + 'example' => 'u0Nkg5gBK***QF5wvKMM504JUHt', + 'title' => '', + ], + 'SecretKey' => [ + 'description' => 'The SecretKey of the account to which the origin server belongs. This parameter is required when the origin server type is OSS and the authentication type is private cross-account read, or when the origin server type is S3 and the authentication type is private read.', + 'type' => 'string', + 'example' => 'VIxuvJSA2S03f***kp208dy5w7', + 'title' => '', + ], + 'Version' => [ + 'description' => 'The signature algorithm version. This parameter is required when the origin type is S3 and the origin authentication type is private read. The following versions are supported: '."\n" + .'- **v2** '."\n" + .'- **v4** '."\n" + ."\n" + .'If this parameter is not specified, the default value is v4. ', + 'type' => 'string', + 'example' => 'v4', + 'title' => '', + ], + 'Region' => [ + 'description' => 'The region where the origin is located. This parameter is required when the origin type is S3. You can obtain the region of the origin from the official S3 website. ', + 'type' => 'string', + 'example' => 'us-east-1', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'HostPolicy' => [ + 'description' => 'The origin fetch HOST policy, which takes effect only for CNAME records. This policy determines the HOST header used during origin fetch. Valid modes:'."\n" + ."\n" + .'- **follow_hostname**: Use the request HOST.'."\n" + .'- **follow_origin_domain**: Use the origin domain name.', + 'type' => 'string', + 'example' => 'follow_origin_domain', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'Query DNS record list ', + 'summary' => 'Query the list of DNS records under a site, including record values, priority, authentication configuration, and more. Filtering by conditions such as record name and record type is supported.', + 'description' => 'DNS records corresponding to Edge Container, Edge Routine, and Layer 4 acceleration will not be returned by this API.', + 'changeSet' => [ + [ + 'createdAt' => '2025-08-21T09:39:51.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-11-19T01:42:00.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-09-23T08:53:22.000Z', + 'description' => 'Error codes changed, Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRecords', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListRecords', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 20,\\n \\"Records\\": [\\n {\\n \\"BizName\\": \\"web\\",\\n \\"Data\\": {\\n \\"Value\\": \\"CNAME\\",\\n \\"Priority\\": 0,\\n \\"Flag\\": 128,\\n \\"Tags\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"Weight\\": 0,\\n \\"Port\\": 80,\\n \\"Type\\": 0,\\n \\"KeyTag\\": 0,\\n \\"Algorithm\\": 0,\\n \\"Certificate\\": \\"dGVzdGFkYWxrcw==\\",\\n \\"Usage\\": 0,\\n \\"Selector\\": 0,\\n \\"MatchingType\\": 0,\\n \\"Fingerprint\\": \\"abcdef1234567890\\",\\n \\"Tag\\": \\"issue\\"\\n },\\n \\"CreateTime\\": \\"2023-12-24T02:01:11Z\\",\\n \\"UpdateTime\\": \\"2023-06-07T10:02:59Z\\",\\n \\"Proxied\\": true,\\n \\"RecordId\\": 1234567890123,\\n \\"RecordSourceType\\": \\"OSS\\",\\n \\"RecordName\\": \\"a.example.com\\",\\n \\"RecordType\\": \\"A/AAAA\\",\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\",\\n \\"Ttl\\": 30,\\n \\"RecordCname\\": \\"a.example.com.cnamezone.com\\",\\n \\"Comment\\": \\"this is a remark.\\",\\n \\"AuthConf\\": {\\n \\"AuthType\\": \\"private\\",\\n \\"AccessKey\\": \\"u0Nkg5gBK***QF5wvKMM504JUHt\\",\\n \\"SecretKey\\": \\"VIxuvJSA2S03f***kp208dy5w7\\",\\n \\"Version\\": \\"v4\\",\\n \\"Region\\": \\"us-east-1\\"\\n },\\n \\"HostPolicy\\": \\"follow_origin_domain\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListRedirectRules' => [ + 'summary' => 'Query Redirect Rule List', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257660', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456******', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '配置类型,可以根据此参数查全局配置或者功能配置,只有传了functionName才生效', + 'description' => 'Configuration type. Possible values:'."\n" + .'- global: Global configuration.'."\n" + .'- rule: Rule configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule', + 'enum' => [ + 'global', + 'rule', + ], + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效', + 'description' => 'Rule name, which can be used to find the rule with the specified name.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '第几页,不传时默认为1', + 'description' => 'Page number.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页几条,最大500,不传时默认500', + 'description' => 'Page size, default is **500**, and the value range is **1~500**.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the site configuration, with the default being version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'Configs' => [ + 'description' => 'List of redirect configurations.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the redirect configuration.', + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****'."\n", + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the site configuration, with the default being version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter does not need to be set when adding a global configuration. Possible values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter does not need to be set when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter does not need to be set when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type. Possible values:'."\n" + .'- global: Global configuration.'."\n" + .'- rule: Rule configuration.', + 'type' => 'string', + 'example' => 'rule', + 'title' => '', + ], + 'Type' => [ + 'description' => 'Redirect type. Possible values:'."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.', + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + 'TargetUrl' => [ + 'description' => 'Target URL after redirection.', + 'type' => 'string', + 'example' => 'http://www.exapmle.com/index.html'."\n", + 'title' => '', + ], + 'StatusCode' => [ + 'description' => 'Response status code used by the node to respond to the client with the redirect address. Possible values:'."\n" + .'- 301'."\n" + .'- 302'."\n" + .'- 303'."\n" + .'- 307'."\n" + .'- 308', + 'type' => 'string', + 'example' => '301', + 'title' => '', + ], + 'ReserveQueryString' => [ + 'description' => 'Preserve query string. Value range:'."\n" + .'- on: enabled.'."\n" + .'- off: disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of items.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 0,\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"rule\\",\\n \\"Type\\": \\"static\\",\\n \\"TargetUrl\\": \\"http://www.exapmle.com/index.html\\\\n\\",\\n \\"StatusCode\\": \\"301\\",\\n \\"ReserveQueryString\\": \\"on\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 10,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + 'title' => 'Query Redirect Configuration List', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRedirectRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListRedirectRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'ListRewriteUrlRules' => [ + 'summary' => 'List of Rewrite URL Rules', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257644', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '配置类型,可以根据此参数查全局配置或者功能配置,只有传了functionName才生效', + 'description' => 'Configuration type, which can be used to query global or rule configurations. Value range:'."\n" + .'- global: Query global configuration;'."\n" + .'- rule: Query rule configuration;'."\n" + ."\n" + .'This parameter is optional. If not provided, it does not distinguish between global and rule configurations. This parameter only takes effect when the functionName parameter is provided.', + 'type' => 'string', + 'required' => false, + 'example' => 'global', + 'enum' => [ + 'global', + 'rule', + ], + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '规则名,可以查出规则名为所传字段的那条规则,只有传了functionName才生效', + 'description' => 'Rule name. Not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '第几页,不传时默认为1', + 'description' => 'Page number.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '每页几条,最大500,不传时默认500', + 'description' => 'Page size. Range: **1~500**, default is **500**.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + ], + 'Configs' => [ + 'description' => 'List of rewrite URL configurations.', + 'type' => 'array', + 'items' => [ + 'description' => 'Configuration details.', + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '39538644977****', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'Version number of the site configuration. For sites with version management enabled, you can use this parameter to specify the effective version of the configuration, defaulting to version 0.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'Rule execution order. The smaller the value, the higher the priority.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. Not required when adding a global configuration. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. Not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, e.g., (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. Not required when adding a global configuration.', + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'Configuration type. Value range:'."\n" + .'- global: Global configuration;'."\n" + .'- rule: Rule configuration;', + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'RewriteUriType' => [ + 'description' => 'URI rewrite type. Value range:'."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.', + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + 'Uri' => [ + 'description' => 'Target URI after rewriting.', + 'type' => 'string', + 'example' => '/image.example.com/index.html'."\n", + 'title' => '', + ], + 'RewriteQueryStringType' => [ + 'description' => 'Query string rewrite type. Value range:'."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.', + 'type' => 'string', + 'example' => 'static', + 'title' => '', + ], + 'QueryString' => [ + 'description' => 'The rewritten query string.', + 'type' => 'string', + 'example' => 'example=123'."\n", + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The size of the page.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of items.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '8', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'Total number of pages.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 0,\\n \\"SiteVersion\\": 0,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\"video.example.com\\\\\\")\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"global\\",\\n \\"RewriteUriType\\": \\"static\\",\\n \\"Uri\\": \\"/image.example.com/index.html\\\\n\\",\\n \\"RewriteQueryStringType\\": \\"static\\",\\n \\"QueryString\\": \\"example=123\\\\n\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 8,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + 'title' => 'List of Rewrite URL Configurations for a Site', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRewriteUrlRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListRewriteUrlRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'read', + ], + 'ListRoutineCodeVersions' => [ + 'summary' => 'Queries the code versions of a function (routine) by page.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239374', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The function name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The page number of the returned page. Default value: 1. Valid values: 1 and 2.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: 1 to 20.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'SearchKeyWord', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The keyword used for fuzzy search.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'hello', + 'title' => '', + ], + ], + ], + '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' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'PageNumber' => [ + 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of code versions returned.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'title' => '', + ], + 'CodeVersions' => [ + 'description' => 'The code versions of the routine.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the code version.'."\n", + 'type' => 'object', + 'properties' => [ + 'CodeDescription' => [ + 'description' => 'The description of the code version.'."\n", + 'type' => 'string', + 'example' => 'test desc', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the code version was created.'."\n", + 'type' => 'string', + 'example' => '2024-04-16T09:42:47Z', + 'title' => '', + ], + 'CodeVersion' => [ + 'description' => 'The version of the code.'."\n", + 'type' => 'string', + 'example' => '1723599747213377175', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the code version.'."\n", + 'type' => 'string', + 'example' => 'Available', + 'title' => '', + ], + 'ExtraInfo' => [ + 'description' => 'Additional information about the code version.'."\n", + 'type' => 'string', + 'example' => '{\\"approver\\":[\\"348678\\",\\"111133\\",\\"411544\\"]}', + 'title' => '', + ], + 'BuildId' => [ + 'description' => 'The ID of the code version build.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '25801233', + 'title' => '', + ], + 'ConfOptions' => [ + 'description' => 'Code version configuration items.'."\n", + 'type' => 'object', + 'properties' => [ + 'NotFoundStrategy' => [ + 'description' => 'Code version configuration items NotFoundStrategy.'."\n", + 'type' => 'string', + 'example' => 'SinglePageApplication', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 5,\\n \\"CodeVersions\\": [\\n {\\n \\"CodeDescription\\": \\"test desc\\",\\n \\"CreateTime\\": \\"2024-04-16T09:42:47Z\\",\\n \\"CodeVersion\\": \\"1723599747213377175\\",\\n \\"Status\\": \\"Available\\",\\n \\"ExtraInfo\\": \\"{\\\\\\\\\\\\\\"approver\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"348678\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"111133\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"411544\\\\\\\\\\\\\\"]}\\",\\n \\"BuildId\\": 25801233,\\n \\"ConfOptions\\": {\\n \\"NotFoundStrategy\\": \\"SinglePageApplication\\"\\n }\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListRoutineCodeVersions', + 'description' => '本接口用于查询指定 Routine 程序的代码版本列表,支持分页查询及模糊搜索。用户可以通过设置 `Name` 参数来指定 Routine 程序名,'."\n" + ."\n" + .'通过 `PageNumber` 和 `PageSize` 进行分页控制,以及使用 `SearchKeyWord` 进行关键词模糊匹配查询代码版本描述。'."\n" + ."\n" + .'返回结果将包含每个代码版本的修订号、描述、创建时间等详细信息。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRoutineCodeVersions', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListRoutineCodeVersions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListRoutineRelatedRecords' => [ + 'summary' => 'The records associated with the function.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '266954', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the function.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The page number of the returned page. Default value: 1'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: an integer from 1 to 20.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'SearchKeyWord', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The keyword used for fuzzy search.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'hello', + 'title' => '', + ], + ], + ], + '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' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'PageNumber' => [ + 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '16', + 'title' => '', + ], + 'RelatedRecords' => [ + 'description' => 'The list of records associated with the edge function.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the record associated with the function.'."\n", + 'type' => 'object', + 'properties' => [ + 'RecordName' => [ + 'description' => 'The name of the record.'."\n", + 'type' => 'string', + 'example' => 'test-record-1.example.com', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '54362329990032', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'RecordId' => [ + 'description' => 'The record ID of the domain name.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '509348423011904', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'DependedByOthers', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 16,\\n \\"RelatedRecords\\": [\\n {\\n \\"RecordName\\": \\"test-record-1.example.com\\",\\n \\"SiteId\\": 54362329990032,\\n \\"SiteName\\": \\"example.com\\",\\n \\"RecordId\\": 509348423011904\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListRoutineRelatedRecords', + 'description' => '用于查询指定边缘函数的关联记录列表,您可以通过设置分页参数来获取部分结果,或者使用模糊关键词来筛选特定的记录条目。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRoutineRelatedRecords', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListRoutineRelatedRecords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListRoutineRoutes' => [ + 'summary' => 'Queries the routes of an edge function.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '266195', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The page number. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The number of entries per page. Maximum value: 500. Default value: 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'RoutineName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The function name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + ], + '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' => '04F0F334-1335-436C-A1D7-6C044FE73368'."\n", + ], + 'Configs' => [ + 'description' => 'The returned configurations.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '554889455535696', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'test.com', + 'title' => '', + ], + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****'."\n", + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the website configurations.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The order in which the rule is executed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RouteEnable' => [ + 'description' => 'The route switch. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The rule content.'."\n", + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RouteName' => [ + 'description' => 'The route name.'."\n", + 'type' => 'string', + 'example' => 'test_route', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The configuration type to query. Valid values:'."\n" + ."\n" + .'* global: global configurations.'."\n" + .'* rule: queries rule configurations.'."\n", + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'RoutineName' => [ + 'description' => 'The routine name.'."\n", + 'type' => 'string', + 'example' => 'test-routine1'."\n", + 'title' => '', + ], + 'Bypass' => [ + 'description' => 'Bypass mode. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Mode' => [ + 'description' => 'The configuration mode. Valid values:'."\n" + ."\n" + .'* simple: Simple mode.'."\n" + .'* custom: Custom mode.'."\n", + 'type' => 'string', + 'example' => 'simple', + 'title' => '', + ], + 'Fallback' => [ + 'description' => 'The exception origin switch. After you turn on this switch, if a function exception occurs, such as CPU usage exceeding the upper limit, requests are sent back to the origin. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '83', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\\\n\\",\\n \\"Configs\\": [\\n {\\n \\"SiteId\\": 554889455535696,\\n \\"SiteName\\": \\"test.com\\",\\n \\"ConfigId\\": 0,\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RouteEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RouteName\\": \\"test_route\\",\\n \\"ConfigType\\": \\"global\\",\\n \\"RoutineName\\": \\"test-routine1\\\\n\\",\\n \\"Bypass\\": \\"on\\",\\n \\"Mode\\": \\"simple\\",\\n \\"Fallback\\": \\"on\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 83,\\n \\"TotalPage\\": 2\\n}","type":"json"}]', + 'title' => 'ListRoutineRoutes', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-25T05:35:34.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2025-04-08T06:41:11.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRoutineRoutes', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListRoutineRoutes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListScheduledPreloadExecutions' => [ + 'summary' => 'Lists the plans in a scheduled prefetch task by task ID.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239200', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scheduled prefetch task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '665d3af3621bccf3fe29e1a4', + 'title' => '', + ], + ], + ], + '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' => 'ET5BF670-09D5-4D0B-BEBY-D96A2A528000', + ], + 'Executions' => [ + 'description' => 'The information about prefetch plans returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the prefetch plan returned.'."\n", + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The ID of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '66599bd7397885b43804901c', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The start time of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '2024-05-31T17:10:48.849+08:00', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '2024-05-31T18:10:48.849+08:00', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'The time interval between each batch execution in the plan. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + 'SliceLen' => [ + 'description' => 'The number of URLs prefetched in each batch.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the prefetch plan. Valid values:'."\n" + ."\n" + .'* **waiting**'."\n" + .'* **running**'."\n" + .'* **finished**'."\n" + .'* **failed**'."\n" + .'* **stopped**', + 'type' => 'string', + 'example' => 'running', + 'title' => '', + ], + 'JobId' => [ + 'description' => 'The ID of the prefetch task.'."\n", + 'type' => 'string', + 'example' => '665d3af3621bccf3fe29e1a4', + 'title' => '', + ], + 'AliUid' => [ + 'description' => 'The ID of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '15685865xxx14622', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidJob.JobCountOfSiteFull', + 'errorMessage' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectId', + 'errorMessage' => 'Invalid task ID or execution plan ID.', + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'errorCode' => 'MissingOssUrl', + 'errorMessage' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'errorCode' => 'MissingUrlList', + 'errorMessage' => 'Enter the URLs you want to prefetch.', + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUid.PermissionDenied', + 'errorMessage' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + ], + [ + [ + 'errorCode' => 'InvalidJob.NotFound', + 'errorMessage' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'errorCode' => 'LogNotFound', + 'errorMessage' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'errorCode' => 'InvalidExecution.NotFound', + 'errorMessage' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ET5BF670-09D5-4D0B-BEBY-D96A2A528000\\",\\n \\"Executions\\": [\\n {\\n \\"Id\\": \\"66599bd7397885b43804901c\\",\\n \\"StartTime\\": \\"2024-05-31T17:10:48.849+08:00\\",\\n \\"EndTime\\": \\"2024-05-31T18:10:48.849+08:00\\",\\n \\"Interval\\": 60,\\n \\"SliceLen\\": 10,\\n \\"Status\\": \\"running\\",\\n \\"JobId\\": \\"665d3af3621bccf3fe29e1a4\\",\\n \\"AliUid\\": \\"15685865xxx14622\\"\\n }\\n ],\\n \\"TotalCount\\": 2\\n}","type":"json"}]', + 'title' => 'ListScheduledPreloadExecutions', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListScheduledPreloadExecutions', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListScheduledPreloadExecutions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListScheduledPreloadJobs' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238775', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '190007158391808', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The beginning of the task creation time range to query. Specify the timestamp in milliseconds.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1717225276000', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time for querying the task creation time range. Specify the timestamp in milliseconds.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1717225277000', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'minimum' => '1', + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '20', + 'default' => '20', + ], + ], + ], + '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' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + 'TotalCount' => [ + 'description' => 'The total number of tasks returned.'."\n", + 'type' => 'string', + 'example' => '5', + 'title' => '', + ], + 'Jobs' => [ + 'description' => 'The list of the prefetch tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of prefetch tasks.'."\n", + 'type' => 'object', + 'properties' => [ + 'AliUid' => [ + 'title' => '', + 'description' => 'The ID of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '15685865xxx14622', + ], + 'CreatedAt' => [ + 'title' => '', + 'description' => 'The time when the task was created.'."\n", + 'type' => 'string', + 'example' => '2024-06-01T08:53:13Z', + ], + 'Domains' => [ + 'title' => '', + 'description' => 'The domain names to be prefetched.'."\n", + 'type' => 'string', + 'example' => 'testurl.com', + ], + 'ErrorInfo' => [ + 'title' => '', + 'description' => 'The error message that is returned.'."\n", + 'type' => 'string', + 'example' => 'invalid domain:test.com', + ], + 'FailedFileOss' => [ + 'title' => '', + 'description' => 'The URL of the OSS object that stores a list of URLs that failed the conditional check for prefetching.'."\n", + 'type' => 'string', + 'example' => 'https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7', + ], + 'FileId' => [ + 'title' => '', + 'description' => 'The ID of the URL list file, which can be used during downloads.'."\n", + 'type' => 'string', + 'example' => '665d3b48621bccf3fe29e1a7', + ], + 'Id' => [ + 'title' => '', + 'description' => 'The ID of the prefetch task.'."\n", + 'type' => 'string', + 'example' => '665d3af3621bccf3fe29e1a4'."\n", + ], + 'InsertWay' => [ + 'title' => '', + 'description' => 'The method to submit the URLs to be prefetched.'."\n", + 'type' => 'string', + 'example' => 'oss', + 'enum' => [ + 'file', + 'url', + ], + ], + 'Name' => [ + 'title' => '', + 'description' => 'The task name.'."\n", + 'type' => 'string', + 'example' => 'example', + ], + 'SiteId' => [ + 'title' => '', + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '190007158391808', + ], + 'TaskSubmitted' => [ + 'title' => '', + 'description' => 'The number of submitted prefetch tasks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TaskType' => [ + 'title' => '', + 'description' => 'The task type. Valid values: refresh and preload.'."\n", + 'type' => 'string', + 'example' => 'preload', + 'enum' => [ + 'preload', + 'refresh', + 'path', + ], + ], + 'UrlCount' => [ + 'title' => '', + 'description' => 'The total number of URLs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'UrlSubmitted' => [ + 'title' => '', + 'description' => 'The number of submitted URLs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'ExecutionCount' => [ + 'description' => 'Number of prefetch schedules.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidJob.JobCountOfSiteFull', + 'errorMessage' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectId', + 'errorMessage' => 'Invalid task ID or execution plan ID.', + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'errorCode' => 'MissingOssUrl', + 'errorMessage' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'errorCode' => 'MissingUrlList', + 'errorMessage' => 'Enter the URLs you want to prefetch.', + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUid.PermissionDenied', + 'errorMessage' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + ], + [ + [ + 'errorCode' => 'InvalidJob.NotFound', + 'errorMessage' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'errorCode' => 'LogNotFound', + 'errorMessage' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'errorCode' => 'InvalidExecution.NotFound', + 'errorMessage' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + ], + ], + 'title' => 'List scheduled prefetch jobs', + 'summary' => 'List the scheduled prefetch jobs under a site.', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-13T08:02:14.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListScheduledPreloadJobs', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListScheduledPreloadJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\",\\n \\"TotalCount\\": \\"5\\",\\n \\"Jobs\\": [\\n {\\n \\"AliUid\\": \\"15685865xxx14622\\",\\n \\"CreatedAt\\": \\"2024-06-01T08:53:13Z\\",\\n \\"Domains\\": \\"testurl.com\\",\\n \\"ErrorInfo\\": \\"invalid domain:test.com\\",\\n \\"FailedFileOss\\": \\"https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7\\",\\n \\"FileId\\": \\"665d3b48621bccf3fe29e1a7\\",\\n \\"Id\\": \\"665d3af3621bccf3fe29e1a4\\\\n\\",\\n \\"InsertWay\\": \\"oss\\",\\n \\"Name\\": \\"example\\",\\n \\"SiteId\\": 190007158391808,\\n \\"TaskSubmitted\\": 1,\\n \\"TaskType\\": \\"preload\\",\\n \\"UrlCount\\": 2,\\n \\"UrlSubmitted\\": 1,\\n \\"ExecutionCount\\": 1\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListSiteDeliveryTasks' => [ + 'summary' => 'Lists all log delivery tasks that are in progress.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238497', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'BusinessType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'* dcdn_log_access_l1 (default): access logs.'."\n" + .'* dcdn_log_er: Edge Routine logs.'."\n" + .'* dcdn_log_waf: firewall logs.'."\n" + .'* dcdn_log_ipa: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dcdn_log_access_l1', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456***', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: 20.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + ], + 'TotalCount' => [ + 'description' => 'The total number of log delivery tasks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number. Default value: 0.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '0', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page. Valid values: **1 to 500**. Default value: **20**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'Tasks' => [ + 'description' => 'The delivery tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TaskName' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'cdn-test-task', + 'title' => '', + ], + 'DeliveryType' => [ + 'description' => 'The destination of the delivery. Valid values:'."\n" + ."\n" + .'1. sls: Alibaba Cloud Simple Log Service (SLS).'."\n" + .'2. http: HTTP server.'."\n" + .'3. aws3: Amazon Simple Storage Service (S3).'."\n" + .'4. oss: Alibaba Cloud Object Storage Service (OSS).'."\n" + .'5. kafka: Kafka.'."\n" + .'6. aws3cmpt: S3-compatible storage service.'."\n", + 'type' => 'string', + 'example' => 'sls', + 'title' => '', + ], + 'DataCenter' => [ + 'description' => 'The data center. Valid values:'."\n" + ."\n" + .'* cn: the Chinese mainland.'."\n" + .'* sg: outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => 'cn', + 'title' => '', + ], + 'BusinessType' => [ + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'* dcdn_log_access_l1 (default): access logs.'."\n" + .'* dcdn_log_er: Edge Routine logs.'."\n" + .'* dcdn_log_waf: firewall logs.'."\n" + .'* dcdn_log_ipa: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'example' => 'dcdn_log_access_l1', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the delivery task.'."\n" + ."\n" + .'* **online**'."\n" + .'* **offline**'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\",\\n \\"TotalCount\\": 20,\\n \\"PageNumber\\": 0,\\n \\"PageSize\\": 20,\\n \\"Tasks\\": [\\n {\\n \\"TaskName\\": \\"cdn-test-task\\",\\n \\"DeliveryType\\": \\"sls\\",\\n \\"DataCenter\\": \\"cn\\",\\n \\"BusinessType\\": \\"dcdn_log_access_l1\\",\\n \\"Status\\": \\"online\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListSiteDeliveryTasks', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-27T05:57:02.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListSiteDeliveryTasks', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListSiteDeliveryTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'read', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ListSiteOriginClientCertificates' => [ + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261747', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. The default value is **1**.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of real-time log projects.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '90', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number. The default value is 1.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1024', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The site name.', + 'type' => 'string', + 'example' => 'example.com ', + 'title' => '', + ], + 'Result' => [ + 'description' => 'The list of certificate information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The certificate information.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The certificate ID.', + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The certificate name.', + 'type' => 'string', + 'example' => 'yourCertName', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The certificate status.', + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type.', + 'type' => 'string', + 'example' => 'upload', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The common name of the certificate.', + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The start time of the certificate validity period.', + 'type' => 'string', + 'example' => '2023-03-31 02:08:00', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The end time of the certificate validity period.', + 'type' => 'string', + 'example' => '2024-03-31 02:08:00', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The certification authority.', + 'type' => 'string', + 'example' => 'DigiCert', + 'title' => '', + ], + 'SAN' => [ + 'description' => 'The subject alternative name (SAN) of the certificate.', + 'type' => 'string', + 'example' => 'www.example.com,*.example.com', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.', + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'PubkeyAlgorithm' => [ + 'description' => 'The public-key algorithm of the certificate.', + 'type' => 'string', + 'example' => 'RSA', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the certificate was created.', + 'type' => 'string', + 'example' => '2024-06-24 07:48:51', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the certificate was last updated.', + 'type' => 'string', + 'example' => '2022-09-22 05:33:13', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The certificate serial number.', + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1d**', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.', + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'title' => 'ListSiteOriginClientCertificates', + 'summary' => 'Lists the back-to-origin client certificates for a site.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"TotalCount\\": 90,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 1024,\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com \\",\\n \\"Result\\": [\\n {\\n \\"Id\\": \\"babaabcd****\\",\\n \\"Name\\": \\"yourCertName\\",\\n \\"Status\\": \\"OK\\",\\n \\"Type\\": \\"upload\\",\\n \\"CommonName\\": \\"www.example.com \\",\\n \\"NotBefore\\": \\"2023-03-31 02:08:00\\",\\n \\"NotAfter\\": \\"2024-03-31 02:08:00\\",\\n \\"Issuer\\": \\"DigiCert\\",\\n \\"SAN\\": \\"www.example.com,*.example.com\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"PubkeyAlgorithm\\": \\"RSA\\",\\n \\"CreateTime\\": \\"2024-06-24 07:48:51\\",\\n \\"UpdateTime\\": \\"2022-09-22 05:33:13\\",\\n \\"SerialNumber\\": \\"babaded901474b9693acf530e0fb1d**\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456a****\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListSiteRoutes' => [ + 'summary' => 'Queries the edge function routes for a website.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '266194', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The configuration type. You can use this parameter to query global configurations or feature configurations. This parameter takes effect only if the functionName parameter is passed.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* global'."\n" + .'* rule'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'global', + 'rule', + ], + 'example' => 'global', + ], + ], + [ + 'name' => 'RouteName', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The rule name. This parameter takes effect only when parameter functionName is specified.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test_route', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The page number. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The number of entries per page. Maximum value: 500. Default value: 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + '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' => '04F0F334-1335-436C-A1D7-6C044FE73368'."\n", + ], + 'Configs' => [ + 'description' => 'The returned configurations.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****'."\n", + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the website.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The order in which the rule is executed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RouteEnable' => [ + 'description' => 'The route switch. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The rule content.'."\n", + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")', + 'title' => '', + ], + 'RouteName' => [ + 'description' => 'The route name.'."\n", + 'type' => 'string', + 'example' => 'test_route', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The configuration type to query. Valid values:'."\n" + ."\n" + .'* global: global configurations.'."\n" + .'* rule: queries rule configurations.'."\n", + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'RoutineName' => [ + 'description' => 'The function name.'."\n", + 'type' => 'string', + 'example' => 'test-routine1', + 'title' => '', + ], + 'Bypass' => [ + 'description' => 'The bypass mode. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Mode' => [ + 'description' => 'The configuration mode. Specifies whether to check the image used by the instance supports hot migration. Valid values:'."\n" + ."\n" + .'* simple: Simple Mode'."\n" + .'* custom: Custom Mode'."\n", + 'type' => 'string', + 'example' => 'simple', + 'title' => '', + ], + 'Fallback' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '16', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'The total number of pages returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\\\n\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 0,\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RouteEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\",\\n \\"RouteName\\": \\"test_route\\",\\n \\"ConfigType\\": \\"global\\",\\n \\"RoutineName\\": \\"test-routine1\\",\\n \\"Bypass\\": \\"on\\",\\n \\"Mode\\": \\"simple\\",\\n \\"Fallback\\": \\"\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 16,\\n \\"TotalPage\\": 10\\n}","type":"json"}]', + 'title' => 'ListSiteRoutes', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-25T05:35:34.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListSiteRoutes', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListSiteRoutes', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'ListSites' => [ + 'summary' => 'Query Site List', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239591', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'SiteName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website name. This parameter specifies a filter condition for the query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + 'title' => '', + ], + ], + [ + 'name' => 'SiteSearchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The match mode to search for the website name. Default value: exact. Valid values:'."\n" + ."\n" + .'* **prefix**: match by prefix.'."\n" + .'* **suffix**: match by suffix.'."\n" + .'* **exact**: exact match.'."\n" + .'* **fuzzy**: fuzzy match.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'fuzzy', + 'enum' => [ + 'suffix', + 'exact', + 'prefix', + 'fuzzy', + ], + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: **500**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'TagFilter', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The tag filtering rule.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => 'The tag key. This parameter specifies a filter condition for the query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'tag1', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The tag value. This parameter specifies a filter condition for the query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'aaa', + 'title' => '', + ], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the resource group. This parameter specifies a filter condition for the query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rg-aekzd3styujvyei', + 'title' => '', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website status. This parameter specifies a filter condition for the query.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'pending', + 'title' => '', + ], + ], + [ + 'name' => 'OnlyEnterprise', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to query only websites on Enterprise plans. Valid values: **true and false**.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'title' => '', + ], + ], + [ + 'name' => 'PlanSubscribeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The plan type. Valid values:'."\n" + ."\n" + .'* **basicplan**: Entrance'."\n" + .'* **standardplan**: Pro'."\n" + .'* **advancedplan**: Premium'."\n" + .'* **enterpriseplan**: Enterprise', + 'type' => 'string', + 'required' => false, + 'example' => 'basicplan', + 'title' => '', + ], + ], + [ + 'name' => 'Coverage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The service location. Valid values:'."\n" + ."\n" + .'* **domestic**: the Chinese mainland'."\n" + .'* **global**: global'."\n" + .'* **overseas**: outside the Chinese mainland'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'global', + 'title' => '', + ], + ], + [ + 'name' => 'AccessType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The DNS setup. Valid values:'."\n" + ."\n" + .'* **NS**'."\n" + .'* **CNAME**'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'NS', + 'title' => '', + ], + ], + [ + 'name' => 'OrderBy', + 'in' => 'query', + 'schema' => [ + 'description' => 'Sorting field. By default, it sorts by creation time, supporting the following options:'."\n" + .'- gmtCreate: website creation time'."\n" + .'- visitTime: website visit time', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'visitTime' => 'visitTime', + 'gmtCreate' => 'gmtCreate', + ], + 'example' => 'visitTime', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of websites per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of websites.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '40', + 'title' => '', + ], + 'Sites' => [ + 'description' => 'The queried websites.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AccessType' => [ + 'description' => 'The DNS setup for the website. Valid values:'."\n" + ."\n" + .'* **NS**'."\n" + .'* **CNAME**'."\n", + 'type' => 'string', + 'example' => 'NS', + 'title' => '', + ], + 'CnameZone' => [ + 'description' => 'The CNAME of the website domain. If you use CNAME setup when you add your website to ESA, the value is the CNAME that you configured then.'."\n", + 'type' => 'string', + 'example' => 'example.cname.com', + 'title' => '', + ], + 'Coverage' => [ + 'description' => 'The service location for the website. Valid values:'."\n" + ."\n" + .'* **domestic**: the Chinese mainland'."\n" + .'* **global**: global'."\n" + .'* **overseas**: outside the Chinese mainland'."\n", + 'type' => 'string', + 'example' => 'domestic', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the website was added. 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' => '2023-12-24T02:01:11Z', + 'title' => '', + ], + 'UpdateTime' => [ + 'description' => 'The time when the website was updated. 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' => '2023-12-24T02:01:11Z', + 'title' => '', + ], + 'InstanceId' => [ + 'description' => 'The ID of the plan associated with the website.'."\n", + 'type' => 'string', + 'example' => 'onBvtlmIyeXLbiDw81F9', + 'title' => '', + ], + 'NameServerList' => [ + 'description' => 'The nameservers assigned to the website domain, which are separated by commas (,).'."\n", + 'type' => 'string', + 'example' => 'male1-1.ialicdn.com,female1-1.ialicdn.com', + 'title' => '', + ], + 'PlanName' => [ + 'description' => 'The plan name.'."\n", + 'type' => 'string', + 'example' => 'plan-168656498****', + 'title' => '', + ], + 'PlanSpecName' => [ + 'description' => 'The plan associated with the website.'."\n", + 'type' => 'string', + 'example' => 'normal', + 'title' => '', + ], + 'ResourceGroupId' => [ + 'description' => 'The ID of the resource group.'."\n", + 'type' => 'string', + 'example' => 'rg-aek26g6i6se6pna', + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The website status. Valid values:'."\n" + ."\n" + .'* **pending**: The website is to be configured.'."\n" + .'* **active**: The website is active.'."\n" + .'* **offline**: The website is suspended.'."\n" + .'* **moved**: The website has been added and verified by another Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => 'pending', + 'title' => '', + ], + 'Tags' => [ + 'description' => 'The tags of the website.'."\n", + 'type' => 'object', + 'example' => '{"tag1":"value1"}', + 'title' => '', + ], + 'VerifyCode' => [ + 'description' => 'The code that is used to verify the website domain ownership. As part of the verification TXT record, this parameter is returned for websites that use CNAME setup.'."\n", + 'type' => 'string', + 'example' => 'verify_d516cb3740f81f0cef77d162edd1****', + 'title' => '', + ], + 'VisitTime' => [ + 'description' => 'The website visit time is represented in the ISO 8601 date format using UTC time, formatted as yyyy-MM-ddTHH:mm:ssZ.', + 'type' => 'string', + 'example' => '2023-12-24T02:01:11Z', + 'title' => '', + ], + 'OfflineReason' => [ + 'type' => 'string', + 'description' => 'Reason for site deactivation. Valid values:'."\n" + ."\n" + .'- **expiration_arrears**: The subscription package has expired or the account has an overdue payment.'."\n" + .'- **internally_disabled**: The site was disabled internally by the system.'."\n" + .'- **missing_icp**: The domain name lacks an ICP filing.'."\n" + .'- **content_violation**: Content violation.'."\n" + .'- **proactively_disabled**: You manually deactivated the site or the usage cap you set triggered deactivation.', + 'example' => 'expiration_ arrears', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'Query Site List', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-18T05:59:13.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-11-28T06:41:39.000Z', + 'description' => 'Request parameters changed, Response parameters changed', + ], + [ + 'createdAt' => '2024-09-23T07:16:48.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListSites', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListSites', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 40,\\n \\"Sites\\": [\\n {\\n \\"AccessType\\": \\"NS\\",\\n \\"CnameZone\\": \\"example.cname.com\\",\\n \\"Coverage\\": \\"domestic\\",\\n \\"CreateTime\\": \\"2023-12-24T02:01:11Z\\",\\n \\"UpdateTime\\": \\"2023-12-24T02:01:11Z\\",\\n \\"InstanceId\\": \\"onBvtlmIyeXLbiDw81F9\\",\\n \\"NameServerList\\": \\"male1-1.ialicdn.com,female1-1.ialicdn.com\\",\\n \\"PlanName\\": \\"plan-168656498****\\",\\n \\"PlanSpecName\\": \\"normal\\",\\n \\"ResourceGroupId\\": \\"rg-aek26g6i6se6pna\\",\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com\\",\\n \\"Status\\": \\"pending\\",\\n \\"Tags\\": {\\n \\"tag1\\": \\"value1\\"\\n },\\n \\"VerifyCode\\": \\"verify_d516cb3740f81f0cef77d162edd1****\\",\\n \\"VisitTime\\": \\"2023-12-24T02:01:11Z\\",\\n \\"OfflineReason\\": \\"expiration_ arrears\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListTagResources' => [ + 'summary' => 'Queries tags based on the region ID and resource type.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239641', + 'abilityTreeNodes' => [ + 'FEATUREdcdn6S5O3S', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the region where the resources reside.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + 'title' => '', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The website ID. The number of supported website IDs. Valid values: **1** to **50**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123456xxxxx', + 'title' => '', + ], + 'required' => false, + 'maxItems' => 51, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'A list of tags. You can enter up to 20 tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'A list of tags. You can enter up to 20 tags.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'title' => '', + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'env', + ], + 'Value' => [ + 'title' => '', + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'value', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The resource type.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'site', + 'title' => '', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n" + ."\n" + .'> This parameter is not required for the first request. If not all results are returned in one query, you can specify the token that is obtained from the previous query as the value of **NextToken**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'AAAAAZjtYxxxxxxxx', + 'title' => '', + ], + ], + [ + 'name' => 'MaxItem', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of tags to return.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + 'title' => '', + ], + 'NextToken' => [ + 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. If NextToken is empty, no next page exists.'."\n", + 'type' => 'string', + 'example' => 'AAAAAYwsxxxxxxx', + 'title' => '', + ], + 'TagResources' => [ + 'description' => 'The tags of the resource.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags of the resource.'."\n", + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => 'The tag key.'."\n", + 'type' => 'string', + 'example' => 'env', + 'title' => '', + ], + 'TagValue' => [ + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'example' => 'value', + 'title' => '', + ], + 'ResourceId' => [ + 'description' => 'The resource ID.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'ResourceType' => [ + 'description' => 'The resource type.'."\n", + 'type' => 'string', + 'example' => 'site', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.TagValue', + 'errorMessage' => 'The specified TagValue is invalid.', + 'description' => 'The TagValue parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidNextToken', + 'errorMessage' => 'The specified parameter NextToken is invalid.', + 'description' => 'The parameter NextToken is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified resource does not exist or is released.', + 'description' => 'The resource does not exist or has been released.', + ], + ], + ], + 'title' => 'ListTagResources', + 'changeSet' => [ + [ + 'createdAt' => '2025-08-21T07:40:23.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:41.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListTagResources', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\",\\n \\"NextToken\\": \\"AAAAAYwsxxxxxxx\\",\\n \\"TagResources\\": [\\n {\\n \\"TagKey\\": \\"env\\",\\n \\"TagValue\\": \\"value\\",\\n \\"ResourceId\\": \\"example.com\\",\\n \\"ResourceType\\": \\"site\\"\\n }\\n ],\\n \\"TotalCount\\": 1\\n}","type":"json"}]', + ], + 'ListTransportLayerApplications' => [ + 'summary' => 'List of Transport Layer Applications', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '245119', + 'abilityTreeNodes' => [ + 'FEATUREdcdn2E10XY', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456******', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'Page number set for pagination. Starting value: 1. Default value: 1.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'Page size. The maximum value is 500.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '500', + 'title' => '', + ], + ], + [ + 'name' => 'MatchType', + 'in' => 'query', + 'schema' => [ + 'description' => 'Query type for the transport layer application host record, supporting the following 4 types, with exact query as the default.'."\n" + ."\n" + .'- fuzzy: Fuzzy query.'."\n" + .'- exact: Exact query.'."\n" + .'- prefix: Prefix match query.'."\n" + .'- suffix: Suffix match query.', + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'fuzzy', + 'prefix', + 'suffix', + 'exact', + ], + 'example' => 'fuzzy', + 'title' => '', + ], + ], + [ + 'name' => 'RecordName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Host record of the transport layer application.', + 'type' => 'string', + 'required' => false, + 'example' => 'www.example.com', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'Request response.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + 'PageNumber' => [ + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'Total number of transport layer applications.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Applications' => [ + 'description' => 'List of transport layer applications.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the transport layer application.', + 'type' => 'object', + 'properties' => [ + 'Rules' => [ + 'description' => 'List of forwarding rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the forwarding rule.', + 'type' => 'object', + 'properties' => [ + 'Protocol' => [ + 'description' => 'Forwarding rule protocol, with values:'."\n" + ."\n" + .'- TCP: TCP protocol.'."\n" + .'- UDP: UDP protocol.', + 'type' => 'string', + 'example' => 'TCP', + 'title' => '', + ], + 'EdgePort' => [ + 'description' => 'Edge port. Supports:'."\n" + ."\n" + .'- A single port, e.g., 80.'."\n" + .'- Port range, e.g., 81-85, representing ports 81, 82, 83, 84, 85.'."\n" + .'- Combination of ports and port ranges, separated by commas, e.g., 80,81-85,90, representing ports 80, 81, 82, 83, 84, 85, 90.', + 'type' => 'string', + 'example' => '80', + 'title' => '', + ], + 'SourcePort' => [ + 'description' => 'Source port. Supports:'."\n" + ."\n" + .'- A single port, when the source port is a single port, any valid combination of edge ports is supported.'."\n" + .'- Port range, only when the edge port is a port range, the source port can be set to a port range, and the range size must be consistent with the edge port. For example, if the edge port is 90-93, the source port cannot be set to 81-85 because the source port range is 5 and the edge port range is 3, which are inconsistent.', + 'type' => 'string', + 'example' => '80', + 'title' => '', + ], + 'Source' => [ + 'description' => 'Specific value of the source, which needs to match the source type.', + 'type' => 'string', + 'example' => '1.1.1.1', + 'title' => '', + ], + 'Comment' => [ + 'description' => 'Comment information for the rule.', + 'type' => 'string', + 'example' => '测试', + 'title' => '', + ], + 'ClientIPPassThroughMode' => [ + 'description' => 'Client IP pass-through protocol, supports:'."\n" + .'- **off**: No pass-through.'."\n" + .'- **PPv1**: PROXY Protocol v1, supports client IP pass-through for TCP protocol.'."\n" + .'- **PPv2**: PROXY Protocol v2, supports client IP pass-through for TCP and UDP protocols.'."\n" + .'- **SPP**: Simple Proxy Protocol, supports client IP pass-through for UDP protocol.', + 'type' => 'string', + 'example' => 'off', + 'title' => '', + ], + 'SourceType' => [ + 'description' => 'Source type, supports:'."\n" + .'- **ip**: IP.'."\n" + .'- **domain**: Domain name.'."\n" + .'- **OP**: Origin pool.'."\n" + .'- **LB**: Load balancer.', + 'type' => 'string', + 'example' => 'ip', + 'title' => '', + ], + 'RuleId' => [ + 'description' => 'Layer 4 acceleration rule ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20258028****', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ApplicationId' => [ + 'description' => 'Layer 4 application ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '170997271816****', + 'title' => '', + ], + 'RecordName' => [ + 'description' => 'Domain name of the Layer 4 application.', + 'type' => 'string', + 'example' => 'test.example.com'."\n", + 'title' => '', + ], + 'SiteId' => [ + 'description' => 'Site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '36556540048****', + 'title' => '', + ], + 'RulesCount' => [ + 'description' => 'Number of forwarding rules contained in the Layer 4 acceleration application.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Cname' => [ + 'description' => 'CNAME domain name corresponding to the Layer 4 acceleration application. This field is not empty only when the site is accessed via CNAME.', + 'type' => 'string', + 'example' => 'example.com.ialicdn.com'."\n", + 'title' => '', + ], + 'IpAccessRule' => [ + 'description' => 'IP access rule switch. When enabled, the IP access rules in WAF take effect on the Layer 4 application.'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + 'Ipv6' => [ + 'description' => 'IPv6 switch.', + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + 'Status' => [ + 'description' => 'Status of the Layer 4 application'."\n" + ."\n" + .'- **deploying**: Deploying. In this state, modification and deletion are not allowed.'."\n" + .'- **active**: Active.', + 'type' => 'string', + 'enumValueTitles' => [ + 'deploying' => 'deploying', + 'active' => 'active', + ], + 'example' => 'active', + 'title' => '', + ], + 'CrossBorderOptimization' => [ + 'description' => 'Whether to enable China mainland network access optimization. It is disabled by default. The value range is:'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + 'StaticIp' => [ + 'type' => 'string', + 'description' => 'Whether to enable a static IP. Disabled by default. Valid values: '."\n" + ."\n" + .'- on: Enabled. '."\n" + .'- off: No. ', + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + 'StaticIpV4List' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Address' => [ + 'type' => 'string', + 'description' => 'IP address.', + 'example' => '1.1.1.2', + 'title' => '', + ], + 'Status' => [ + 'type' => 'string', + 'description' => 'The status of the IP address. Valid values:'."\n" + ."\n" + .'- healthy: Healthy.'."\n" + .'- unhealthy: Unhealthy.'."\n" + .'- unknown: IP is being prepared.', + 'enumValueTitles' => [ + 'healthy' => 'healthy', + 'unhealthy' => 'unhealthy', + 'unknown' => 'unknown', + ], + 'example' => 'healthy', + 'title' => '', + ], + ], + 'description' => 'A single static IPv4 address, including the IP address and its status.', + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'description' => 'The list of assigned static IPv4 addresses for this Layer 4 application after the static IP feature is Enabled.', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 1,\\n \\"TotalCount\\": 1,\\n \\"Applications\\": [\\n {\\n \\"Rules\\": [\\n {\\n \\"Protocol\\": \\"TCP\\",\\n \\"EdgePort\\": \\"80\\",\\n \\"SourcePort\\": \\"80\\",\\n \\"Source\\": \\"1.1.1.1\\",\\n \\"Comment\\": \\"测试\\",\\n \\"ClientIPPassThroughMode\\": \\"off\\",\\n \\"SourceType\\": \\"ip\\",\\n \\"RuleId\\": 0\\n }\\n ],\\n \\"ApplicationId\\": 0,\\n \\"RecordName\\": \\"test.example.com\\\\n\\",\\n \\"SiteId\\": 0,\\n \\"RulesCount\\": 1,\\n \\"Cname\\": \\"example.com.ialicdn.com\\\\n\\",\\n \\"IpAccessRule\\": \\"on\\",\\n \\"Ipv6\\": \\"on\\",\\n \\"Status\\": \\"active\\",\\n \\"CrossBorderOptimization\\": \\"on\\",\\n \\"StaticIp\\": \\"on\\",\\n \\"StaticIpV4List\\": [\\n {\\n \\"Address\\": \\"1.1.1.2\\",\\n \\"Status\\": \\"healthy\\"\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'List of Transport Layer Acceleration Applications for a Site', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListTransportLayerApplications', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'ListUploadTasks' => [ + 'summary' => 'Queries the execution status and running information of file upload tasks based on the task time and type.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239070', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBCJPGN', + 'FEATUREdcdnRELTJV', + 'FEATUREdcdnEWYS3A', + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time when the task starts. Specify the time in the YYYY-MM-DDThh:mm:ssZ format.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2018-11-29T00:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time when the task ends. Specify the time in the YYYY-MM-DDThh:mm:ssZ format.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2019-12-06T12:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The task type. Valid values:'."\n" + ."\n" + .'* **file**: purges the cache by file URL.'."\n" + .'* **preload**: prefetches files.'."\n" + .'* **directory**: purges the cache by directory.'."\n" + .'* **ignoreparams**: purges the cache by URL with specified parameters ignored.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'file', + 'title' => '', + ], + ], + ], + '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' => 'CB1A380B-09F0-41BB-A198-72F8FD6D****', + ], + 'Tasks' => [ + 'description' => 'The file upload tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'UploadTaskName' => [ + 'description' => 'The name of the file upload task.'."\n", + 'type' => 'string', + 'example' => 'purge_file_task', + 'title' => '', + ], + 'UploadId' => [ + 'description' => 'The ID of the file upload task.'."\n", + 'type' => 'string', + 'example' => '159253299357****', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the task was created.'."\n", + 'type' => 'string', + 'example' => '2023-07-26T01:56:15Z', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The task status.'."\n" + ."\n" + .'* **Complete**: The task is complete.'."\n" + .'* **Refreshing**: The task is in progress.'."\n" + .'* **Failed**: The task failed.'."\n", + 'type' => 'string', + 'example' => 'Complete', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The task type. Valid values:'."\n" + ."\n" + .'* **file**: purges the cache by file URL.'."\n" + .'* **preload**: prefetches files.'."\n" + .'* **directory**: purges the cache by directory.'."\n" + .'* **ignoreparams**: purges the cache by URL with specified parameters ignored.'."\n", + 'type' => 'string', + 'example' => 'file', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The error message returned when the file upload task failed.'."\n", + 'type' => 'string', + 'example' => 'invalid url', + 'title' => '', + ], + 'ErrorCode' => [ + 'description' => 'The error code. Multiple error codes are separated by commas (,).'."\n" + ."\n" + .'* **InvalidUrl**: The URL format is incorrect.'."\n" + .'* **InvalidDomain**: The domain ownership fails to be verified.'."\n" + .'* **QuotaExcess**: The quota limit has been reached.'."\n" + .'* **OtherErrors**: Other errors.'."\n", + 'type' => 'string', + 'example' => 'InvalidUrl,InvalidDomain', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + 'description' => 'Please provide both a start time and an end time.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'DomainNameOverLimit', + 'errorMessage' => 'A maximum of 500 domains are supported for each request.', + 'description' => 'Only 500 domain names are supported at a time. Please reduce the number of domain names to request again.', + ], + [ + 'errorCode' => 'InvalidTime', + 'errorMessage' => 'The query time cannot exceed the last 3 days.', + 'description' => 'The query time cannot exceed the last 3 days.', + ], + [ + 'errorCode' => 'MissingParameter.ObjectType', + 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', + 'description' => 'Specify the ObjectType parameter.', + ], + [ + 'errorCode' => 'InvalidStationParameter', + 'errorMessage' => 'The specified Station is invalid.', + 'description' => 'The specified node parameter is invalid.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'errorCode' => 'InvalidTaskId.Malformed', + 'errorMessage' => 'The specified taskId is invalid.', + 'description' => 'The specified task ID is invalid.', + ], + [ + 'errorCode' => 'InvalidParameters.InvalidUrls', + 'errorMessage' => 'The specified urls are invalid.', + 'description' => 'The requested URL parameter is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6D****\\",\\n \\"Tasks\\": [\\n {\\n \\"UploadTaskName\\": \\"purge_file_task\\",\\n \\"UploadId\\": \\"159253299357****\\",\\n \\"CreateTime\\": \\"2023-07-26T01:56:15Z\\",\\n \\"Status\\": \\"Complete\\",\\n \\"Type\\": \\"file\\",\\n \\"Description\\": \\"invalid url\\",\\n \\"ErrorCode\\": \\"InvalidUrl,InvalidDomain\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListUploadTasks', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListUploadTasks', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListUploadTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ListUrlObservations' => [ + 'summary' => 'Queries the list of page monitoring configurations.', + 'path' => '', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '264797', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '34003500310****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID,'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The page number. Page starts from page 1. Default value: 1'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The number of entries per page. Default value: **500**. Valid values: **1 to 500**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'Configs' => [ + 'description' => 'The configurations of the feature.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '35281609698****'."\n", + 'title' => '', + ], + 'Url' => [ + 'description' => 'The URL of the web page to monitor.'."\n", + 'type' => 'string', + 'example' => 'example.com/test', + 'title' => '', + ], + 'SdkType' => [ + 'description' => 'SDK integration. Valid values:'."\n" + ."\n" + .'* **automatic**'."\n" + .'* **manual**'."\n", + 'type' => 'string', + 'example' => 'manual', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'The total number of pages returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 0,\\n \\"Url\\": \\"example.com/test\\",\\n \\"SdkType\\": \\"manual\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 1,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + 'title' => 'ListUrlObservations', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListUrlObservations', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListUrlObservations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'ListUserDeliveryTasks' => [ + 'summary' => 'Queries all delivery tasks in your Alibaba Cloud account by page. You can filter the delivery tasks by the category of the delivered real-time logs.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239264', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'BusinessType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'1. dcdn_log_access_l1 (default): access logs.'."\n" + .'2. dcdn_log_er: Edge Routine logs.'."\n" + .'3. dcdn_log_waf: firewall logs.'."\n" + .'4. dcdn_log_ipa: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dcdn_log_access_l1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Default value: 20.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '1f94c47f-3a1a-4f69-8d6c-bfeee1b49aab', + ], + 'TotalCount' => [ + 'description' => 'The total number of delivery tasks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '68', + 'title' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + 'Tasks' => [ + 'description' => 'The delivery tasks.'."\n", + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'TaskName' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'testoss11', + 'title' => '', + ], + 'DeliveryType' => [ + 'description' => 'The delivery destination.'."\n", + 'type' => 'string', + 'example' => 'oss', + 'title' => '', + ], + 'DataCenter' => [ + 'description' => 'The data center. Valid values:'."\n" + ."\n" + .'1. cn: the Chinese mainland.'."\n" + .'2. sg: outside the Chinese mainland.'."\n", + 'type' => 'string', + 'example' => 'cn', + 'title' => '', + ], + 'BusinessType' => [ + 'description' => 'The log category.'."\n", + 'type' => 'string', + 'example' => 'dcdn_log_er', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'EsaService.NotOpen', + 'errorMessage' => 'ESA service has not opend.', + 'description' => 'Edge Security Accelerator (ESA) is not turned on', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1f94c47f-3a1a-4f69-8d6c-bfeee1b49aab\\",\\n \\"TotalCount\\": 68,\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"Tasks\\": [\\n {\\n \\"TaskName\\": \\"testoss11\\",\\n \\"DeliveryType\\": \\"oss\\",\\n \\"DataCenter\\": \\"cn\\",\\n \\"BusinessType\\": \\"dcdn_log_er\\",\\n \\"Status\\": \\"online\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListUserDeliveryTasks', + 'changeSet' => [ + [ + 'createdAt' => '2024-10-18T01:07:11.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-27T05:57:02.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListUserDeliveryTasks', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListUserDeliveryTasks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListUserRatePlanInstances' => [ + 'summary' => 'Queries the plans that you purchased and the details of the plans.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239044', + 'abilityTreeNodes' => [ + 'FEATUREdcdnZA9EPX', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'CheckRemainingSiteQuota', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to query only the plans that have remaining quota for associating websites. Valid values:'."\n" + ."\n" + .'* true: queries only the plans that have remaining quota for associating websites.'."\n" + .'* false: queries all plans in your account.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'true', + 'enum' => [ + 'true', + 'false', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The plan status. Valid values:'."\n" + ."\n" + .'* online: The plan is in service.'."\n" + .'* offline: The plan has expired within an allowable period. In this state, the plan is unavailable.'."\n" + .'* disable: The plan is released.'."\n" + .'* overdue: The plan is stopped due to overdue payments.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'online', + 'enum' => [ + 'online', + 'offline', + 'disable', + 'all', + 'overdue', + ], + 'title' => '', + ], + ], + [ + 'name' => 'SortBy', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The sorting field. By default, the queried plans are sorted by purchase time. Valid values:'."\n" + ."\n" + .'* CreateTime: the time when the plans were purchased.'."\n" + .'* ExpireTime: the time when the plans expire.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CreateTime', + 'enum' => [ + 'ExpireTime', + 'CreateTime', + 'default', + ], + 'title' => '', + ], + ], + [ + 'name' => 'SortOrder', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The order in which you want to sort the query results. Default value: desc. Valid values:'."\n" + ."\n" + .'* asc: in ascending order.'."\n" + .'* desc: in descending order.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'asc', + 'enum' => [ + 'asc', + 'desc', + ], + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number. Valid values: **1** to **100000**. Default value: **1**.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '500', + 'title' => '', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The plan ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sp-xcdn-96wblslz****', + 'title' => '', + ], + ], + [ + 'name' => 'RemainingExpireDays', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'exclusiveMinimum' => false, + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SubscribeType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'entranceplan', + 'basicplan', + 'standardplan', + 'advancedplan', + 'enterpriseplan', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'PlanType', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-3C82-72F8FD6DA2FE', + ], + 'InstanceInfo' => [ + 'description' => 'The queried plans.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the plan.'."\n", + 'type' => 'object', + 'properties' => [ + 'InstanceId' => [ + 'description' => 'The plan ID.'."\n", + 'type' => 'string', + 'example' => 'sp-xcdn-96wblslz****', + 'title' => '', + ], + 'PlanName' => [ + 'description' => 'The plan name.'."\n", + 'type' => 'string', + 'example' => 'basic', + 'title' => '', + ], + 'PlanType' => [ + 'description' => 'The plan type. Valid values:'."\n" + ."\n" + .'* normal'."\n" + .'* enterprise'."\n", + 'type' => 'string', + 'example' => 'normal', + 'title' => '', + ], + 'SiteQuota' => [ + 'description' => 'The maximum number of websites that can be associated with the plan.'."\n", + 'type' => 'string', + 'example' => '1', + 'title' => '', + ], + 'ExpireTime' => [ + 'description' => 'The time when the plan expires.'."\n", + 'type' => 'string', + 'example' => 'YYYY-MM-DDThh:mm:ssZ ', + 'title' => '', + ], + 'Duration' => [ + 'description' => 'The subscription duration of the plan. Unit: month.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the plan was purchased.'."\n", + 'type' => 'string', + 'example' => 'YYYY-MM-DDThh:mm:ssZ ', + 'title' => '', + ], + 'Sites' => [ + 'description' => 'The websites that have been associated with the plan.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the associated website.'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'SiteStatus' => [ + 'description' => 'The website status. Valid values:'."\n" + ."\n" + .'* pending: The website is to be configured.'."\n" + .'* active: The website is active.'."\n" + .'* offline: The website is suspended.'."\n" + .'* moved: The website has been added and verified by another Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => 'pending', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Status' => [ + 'description' => 'The plan status. Valid values:'."\n" + ."\n" + .'* online: The plan is in service.'."\n" + .'* offline: The plan has expired within an allowable period. In this state, the plan is unavailable.'."\n" + .'* disable: The plan is released.'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + 'Coverages' => [ + 'description' => 'The service locations for the websites that can be associated with the plan. Multiple values are separated by commas (,). Valid values:'."\n" + ."\n" + .'* domestic: the Chinese mainland.'."\n" + .'* overseas: outside the Chinese mainland.'."\n" + .'* global: global.'."\n", + 'type' => 'string', + 'example' => 'domestic,overseas', + 'title' => '', + ], + 'BillingMode' => [ + 'description' => 'The billing method. Valid values:'."\n" + ."\n" + .'* PREPAY: subscription.'."\n" + .'* POSTPAY: pay-as-you-go.'."\n", + 'type' => 'string', + 'example' => 'PREPAY', + 'title' => '', + ], + 'PlanTraffic' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Layer4Traffic' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Layer4TrafficIntl' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'CrossborderTraffic' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'EdgeRoutineRquest' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'StaticRequest' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SmartRoutingRequest' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'EdgeWafRequest' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DdosInstanceLevel' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DdosBurstableDomesticProtection' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'DdosBurstableOverseasProtection' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'BotInstanceLevel' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'BotRequest' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'SubscribeType' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '68', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'The total number of pages returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'ListUserRatePlanInstances', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-12T02:01:32.000Z', + 'description' => 'Request parameters changed, Response parameters changed', + ], + [ + 'createdAt' => '2025-01-10T01:51:17.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-11-28T06:41:41.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-11-12T05:57:29.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListUserRatePlanInstances', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListUserRatePlanInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-3C82-72F8FD6DA2FE\\",\\n \\"InstanceInfo\\": [\\n {\\n \\"InstanceId\\": \\"sp-xcdn-96wblslz****\\",\\n \\"PlanName\\": \\"basic\\",\\n \\"PlanType\\": \\"normal\\",\\n \\"SiteQuota\\": \\"1\\",\\n \\"ExpireTime\\": \\"YYYY-MM-DDThh:mm:ssZ \\",\\n \\"Duration\\": 3,\\n \\"CreateTime\\": \\"YYYY-MM-DDThh:mm:ssZ \\",\\n \\"Sites\\": [\\n {\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com\\",\\n \\"SiteStatus\\": \\"pending\\"\\n }\\n ],\\n \\"Status\\": \\"online\\",\\n \\"Coverages\\": \\"domestic,overseas\\",\\n \\"BillingMode\\": \\"PREPAY\\",\\n \\"PlanTraffic\\": \\"\\",\\n \\"Layer4Traffic\\": \\"\\",\\n \\"Layer4TrafficIntl\\": \\"\\",\\n \\"CrossborderTraffic\\": \\"\\",\\n \\"EdgeRoutineRquest\\": \\"\\",\\n \\"StaticRequest\\": \\"\\",\\n \\"SmartRoutingRequest\\": \\"\\",\\n \\"EdgeWafRequest\\": \\"\\",\\n \\"DdosInstanceLevel\\": \\"\\",\\n \\"DdosBurstableDomesticProtection\\": \\"\\",\\n \\"DdosBurstableOverseasProtection\\": \\"\\",\\n \\"BotInstanceLevel\\": \\"\\",\\n \\"BotRequest\\": \\"\\",\\n \\"SubscribeType\\": \\"\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 68,\\n \\"TotalPage\\": 1\\n}","type":"json"}]', + ], + 'ListUserRoutines' => [ + 'summary' => 'Queries the functions created in your account and the maximum number of functions supported by your plan. You can call this operation to perform a paged query.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238899', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number of the returned page. Default value: 1. Valid values: 1 to 10.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page. Valid values: 1 to 20.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20', + 'title' => '', + ], + ], + [ + 'name' => 'SearchKeyWord', + 'in' => 'query', + 'schema' => [ + 'description' => 'The keyword used for fuzzy search.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'hello', + 'title' => '', + ], + ], + ], + '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' => '1234567890ABCDEF', + ], + 'PageNumber' => [ + 'description' => 'The page number. Pages start from page 1. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total count.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '3', + 'title' => '', + ], + 'QuotaRoutineNumber' => [ + 'description' => 'The maximum number of functions supported by the billing plan.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + 'title' => '', + ], + 'UsedRoutineNumber' => [ + 'description' => 'The number of functions that were already created.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'title' => '', + ], + 'Routines' => [ + 'description' => 'The functions.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The functions.'."\n", + 'type' => 'object', + 'properties' => [ + 'RoutineName' => [ + 'description' => 'The function name.'."\n", + 'type' => 'string', + 'example' => 'hello', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The function description.'."\n", + 'type' => 'string', + 'example' => 'ZWRpdCByb3V0aW5lIGNvbmZpZyBkZXNjcmlwdGlvbg==', + 'title' => '', + ], + 'CreateTime' => [ + 'description' => 'The time when the function was created.'."\n", + 'type' => 'string', + 'example' => '2024-03-11T01:23:02.883361712Z', + 'title' => '', + ], + 'HasAssets' => [ + 'description' => 'Specifies whether to include the Assets file tag.'."\n", + 'type' => 'boolean', + 'example' => 'false', + 'title' => '', + ], + 'DefaultRelatedRecord' => [ + 'description' => 'The default record name to access.'."\n", + 'type' => 'string', + 'example' => 'serverless-test-2.154edaf6.er.aliyun-esa.net', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'ParameterNotExist', + 'errorMessage' => 'The specified parameter does not exist. Check your configurations and try again.', + 'description' => 'The specified parameter does not exist. Check your configurations and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1234567890ABCDEF\\",\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalCount\\": 3,\\n \\"QuotaRoutineNumber\\": 20,\\n \\"UsedRoutineNumber\\": 5,\\n \\"Routines\\": [\\n {\\n \\"RoutineName\\": \\"hello\\",\\n \\"Description\\": \\"ZWRpdCByb3V0aW5lIGNvbmZpZyBkZXNjcmlwdGlvbg==\\",\\n \\"CreateTime\\": \\"2024-03-11T01:23:02.883361712Z\\",\\n \\"HasAssets\\": false,\\n \\"DefaultRelatedRecord\\": \\"serverless-test-2.154edaf6.er.aliyun-esa.net\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListUserRoutines', + 'description' => '该接口允许用户分页查询其账户下创建的所有边缘函数(Routine)列表,并提供当前套餐的Routine配额数量及已使用的数量。用户可以通过指定分页参数`PageNumber`和`PageSize`来控制返回结果的数量,使用`SearchKeyWord`进行模糊搜索以过滤特定的Routine名称。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListUserRoutines', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListUserRoutines', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ListUserWafRulesets' => [ + 'summary' => 'Queries the WAF rulesets for a specified instance. You can filter the results by phase, name, and other criteria.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239588', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + 'FEATUREdcdnBQ0J3E', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The instance ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'esa-xxxxxxx', + 'title' => '', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'query', + 'schema' => [ + 'description' => 'The WAF phase.', + 'type' => 'string', + 'example' => '● 自定义规则 - http_custom'."\n" + .'● 频次控制规则 - http_ratelimit'."\n" + .'● 托管规则 - http_managed'."\n" + .'● 白名单规则 - http_whitelist'."\n" + .'● 扫描防护规则 - http_anti_scan', + 'title' => '', + 'required' => false, + ], + ], + [ + 'name' => 'QueryArgs', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'NameLike' => [ + 'description' => 'The keyword for a fuzzy search by ruleset name.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + 'required' => false, + ], + 'OrderBy' => [ + 'description' => 'The column to use for sorting.', + 'type' => 'string', + 'example' => 'id', + 'title' => '', + 'required' => false, + ], + 'Desc' => [ + 'description' => 'Specifies whether to sort the results in descending order.', + 'type' => 'boolean', + 'title' => '', + 'required' => false, + 'example' => '', + ], + ], + 'title' => '', + 'description' => 'The query parameters.', + 'required' => false, + 'example' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'description' => 'The page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + 'required' => false, + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'The number of entries per page.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + 'title' => '', + ], + 'InstanceUsage' => [ + 'description' => 'The instance usage.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of records after filtering.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'title' => '', + ], + 'Rulesets' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'The WAF ruleset ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000001', + 'title' => '', + ], + 'Position' => [ + 'description' => 'The position of the WAF ruleset.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'Phase' => [ + 'description' => 'The WAF phase.', + 'type' => 'string', + 'example' => 'http_custom', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The name of the WAF ruleset.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The description of the WAF ruleset.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the WAF ruleset.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + ], + 'title' => '', + 'description' => 'The WAF ruleset information.', + 'example' => '', + ], + 'title' => '', + 'description' => 'A list of WAF ruleset information.', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + 'title' => '', + ], + ], + 'title' => '', + 'description' => 'The response schema.', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'ListUserWafRulesets', + 'description' => '## Request description'."\n" + ."\n" + .'- `InstanceId` is a required parameter that specifies the WAF instance to query.'."\n" + ."\n" + .'- The `Phase` parameter lets you filter rulesets based on different WAF processing phases, such as custom rules and rate limiting rules.'."\n" + ."\n" + .'- You can use `NameLike` in `QueryArgs` to perform a fuzzy search for ruleset names.'."\n" + ."\n" + .'- Paging is controlled by `PageNumber` and `PageSize`. Their default values are 1 and 20, respectively.'."\n" + ."\n" + .'- The response includes the request ID, current plan usage, total number of records, and a list of ruleset details.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListUserWafRulesets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"InstanceUsage\\": 10,\\n \\"TotalCount\\": 5,\\n \\"Rulesets\\": [\\n {\\n \\"Id\\": 10000001,\\n \\"Position\\": 1,\\n \\"Phase\\": \\"http_custom\\",\\n \\"Name\\": \\"example\\",\\n \\"Description\\": \\"example\\",\\n \\"Status\\": \\"on\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20\\n}","type":"json"}]', + ], + 'ListVideoProcessings' => [ + 'summary' => 'Queries the video processing configurations of a site.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257666', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '12345', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID, You can call the [ListVideoProcessings](~~ListVideoProcessings~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigType', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The configuration type. Use this parameter to query global configurations or feature configurations. This parameter takes effect only if the functionName parameter is passed.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'* global'."\n" + .'* rule'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'global', + 'rule', + ], + 'example' => 'global', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The rule name. This parameter takes effect only when parameter functionName is specified.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The page number. Default value: 1.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The number of entries per page. Maximum value: 500. Default value: 500.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the website configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + 'Configs' => [ + 'description' => 'The configurations.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the configurations.'."\n", + 'type' => 'object', + 'properties' => [ + 'ConfigId' => [ + 'description' => 'The configuration ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '234123**', + 'title' => '', + ], + 'SiteVersion' => [ + 'description' => 'The version number of the website configurations.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The order in which the rule is executed. The smaller the value, the higher the priority.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Indicates whether the rule is enabled. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'The rule content.'."\n", + 'type' => 'string', + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'The rule name.'."\n", + 'type' => 'string', + 'example' => 'rule_example', + 'title' => '', + ], + 'ConfigType' => [ + 'description' => 'The type of the configuration. Valid values:'."\n" + ."\n" + .'* global: global configuration.'."\n" + .'* rule: rule configuration.'."\n", + 'type' => 'string', + 'example' => 'global', + 'title' => '', + ], + 'VideoSeekEnable' => [ + 'description' => 'Video seeking. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'FlvVideoSeekMode' => [ + 'description' => 'FLV seeking. Valid values:'."\n" + ."\n" + .'* by_byte: Seek by byte.'."\n" + .'* by_time: Seek by time.'."\n", + 'type' => 'string', + 'example' => 'by_byte', + 'title' => '', + ], + 'Mp4SeekStart' => [ + 'description' => 'Customize the mp4 start parameter.'."\n", + 'type' => 'string', + 'example' => 'start', + 'title' => '', + ], + 'Mp4SeekEnd' => [ + 'description' => 'Customize the mp4 end parameter.'."\n", + 'type' => 'string', + 'example' => 'end', + 'title' => '', + ], + 'FlvSeekStart' => [ + 'description' => 'The custom start parameter for FLV files.'."\n", + 'type' => 'string', + 'example' => 'start', + 'title' => '', + ], + 'FlvSeekEnd' => [ + 'description' => 'The custom end parameter for FLV files.'."\n", + 'type' => 'string', + 'example' => 'end', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'description' => 'The page number of the returned page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'PageSize' => [ + 'description' => 'The number of entries per page.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'TotalCount' => [ + 'description' => 'The total number of entries returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '55', + 'title' => '', + ], + 'TotalPage' => [ + 'description' => 'The total number of pages returned.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '3', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\",\\n \\"Configs\\": [\\n {\\n \\"ConfigId\\": 0,\\n \\"SiteVersion\\": 1,\\n \\"Sequence\\": 1,\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.host eq \\\\\\\\\\\\\\"video.example.com\\\\\\\\\\\\\\")\\\\n\\",\\n \\"RuleName\\": \\"rule_example\\",\\n \\"ConfigType\\": \\"global\\",\\n \\"VideoSeekEnable\\": \\"on\\",\\n \\"FlvVideoSeekMode\\": \\"by_byte\\",\\n \\"Mp4SeekStart\\": \\"start\\",\\n \\"Mp4SeekEnd\\": \\"end\\",\\n \\"FlvSeekStart\\": \\"start\\",\\n \\"FlvSeekEnd\\": \\"end\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 10,\\n \\"TotalCount\\": 55,\\n \\"TotalPage\\": 3\\n}","type":"json"}]', + 'title' => 'ListVideoProcessings', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListVideoProcessings', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'ListWafManagedRules' => [ + 'summary' => 'List WAF Managed Rules', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '245026', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + ], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'ID of the WAF rule.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '10000001', + 'title' => '', + ], + ], + [ + 'name' => 'ManagedRuleset', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'AttackType' => [ + 'type' => 'integer', + 'format' => 'int32', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ProtectionLevel' => [ + 'type' => 'integer', + 'format' => 'int32', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Action' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'ManagedRules' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'type' => 'integer', + 'format' => 'int64', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Status' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'Action' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'AttackType', + 'in' => 'query', + 'schema' => [ + 'description' => 'Attack type of the vulnerability protection event. Values:'."\n" + .'- SQL injection'."\n" + .'- Cross-site scripting'."\n" + .'- Code execution'."\n" + .'- CRLF'."\n" + .'- Local file inclusion'."\n" + .'- Remote file inclusion'."\n" + .'- Webshell'."\n" + .'- Cross-site request forgery'."\n" + .'- Other'."\n" + .'- SEMA', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '11', + 'title' => '', + ], + ], + [ + 'name' => 'ProtectionLevel', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Language', + 'in' => 'query', + 'schema' => [ + 'description' => 'Language type, which will be used to return the response. Value range:'."\n" + ."\n" + .'- **en**: English.'."\n" + .'- **zh**: Chinese.', + 'type' => 'string', + 'required' => false, + 'example' => 'zh', + 'title' => '', + ], + ], + [ + 'name' => 'QueryArgs', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '查询条件', + 'description' => 'Query conditions.', + 'type' => 'object', + 'properties' => [ + 'IdNameLike' => [ + 'title' => '模糊查询规则id或规则名称', + 'description' => 'Fuzzy search for rule ID or rule name.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + ], + 'ProtectionLevels' => [ + 'description' => 'List of rule protection levels.', + 'type' => 'array', + 'items' => [ + 'description' => 'Rule protection level. Values:'."\n" + .'- Lenient'."\n" + .'- Moderate'."\n" + .'- Strict'."\n" + .'- Ultra strict', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Action' => [ + 'description' => 'Action.', + 'type' => 'string', + 'required' => false, + 'example' => 'deny', + 'title' => '', + ], + 'Status' => [ + 'description' => 'Status.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + 'required' => false, + 'example' => '', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '查询页号', + 'description' => 'Query page number.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '查询页大小', + 'description' => 'Query page size.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'TotalCount' => [ + 'title' => '过滤后总规则数', + 'description' => 'Total number of rules after filtering.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'Rules' => [ + 'description' => 'List of managed rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the managed rule.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'ID of the managed rule.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '100001', + 'title' => '', + ], + 'Name' => [ + 'description' => 'Name of the managed rule.', + 'type' => 'string', + 'example' => 'SQL注入', + 'title' => '', + ], + 'ProtectionLevel' => [ + 'description' => 'Protection level of the managed rule.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + 'Action' => [ + 'description' => 'Protection action of the managed rule.', + 'type' => 'string', + 'example' => 'deny', + 'title' => '', + ], + 'Status' => [ + 'description' => 'Protection status of the managed rule.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PageNumber' => [ + 'title' => '页面号码', + 'description' => 'Page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'title' => '页面大小', + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'List WAF Managed Rules', + 'changeSet' => [ + [ + 'createdAt' => '2024-11-12T07:30:12.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafManagedRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWafManagedRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"TotalCount\\": 20,\\n \\"Rules\\": [\\n {\\n \\"Id\\": 100001,\\n \\"Name\\": \\"SQL注入\\",\\n \\"ProtectionLevel\\": 1,\\n \\"Action\\": \\"deny\\",\\n \\"Status\\": \\"on\\"\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20\\n}","type":"json"}]', + ], + 'ListWafPhases' => [ + 'summary' => 'List WAF Phases', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239652', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + 'FEATUREdcdnBQ0J3E', + 'FEATUREdcdn1OLUH8', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'title' => '站点版本', + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Phases' => [ + 'title' => '规则集信息列表', + 'description' => 'List of WAF operation phases.', + 'type' => 'array', + 'items' => [ + 'title' => '规则集信息', + 'description' => 'Details of WAF operation phase.', + 'type' => 'object', + 'properties' => [ + 'Phase' => [ + 'description' => 'Name of the WAF operation phase.', + 'type' => 'string', + 'example' => 'http_custom', + 'title' => '', + ], + 'Rulesets' => [ + 'description' => 'List of WAF rulesets.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the WAF ruleset.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'ID of the WAF ruleset.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000001', + 'title' => '', + ], + 'Name' => [ + 'description' => 'Name of the WAF ruleset.', + 'type' => 'string', + 'example' => 'example', + 'title' => '', + ], + 'Shared' => [ + 'description' => 'Shared configuration for rules in the WAF ruleset.', + '$ref' => '#/components/schemas/WafBatchRuleShared', + 'title' => '', + 'example' => '', + ], + 'Rules' => [ + 'description' => 'List of rule configurations in the WAF ruleset.', + 'type' => 'array', + 'items' => [ + 'description' => 'Rule configuration in the WAF rule set.', + '$ref' => '#/components/schemas/WafRuleConfig', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'List WAF Operation Phases', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:50.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:36.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafPhases', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWafPhases', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Phases\\": [\\n {\\n \\"Phase\\": \\"http_custom\\",\\n \\"Rulesets\\": [\\n {\\n \\"Id\\": 10000001,\\n \\"Name\\": \\"example\\",\\n \\"Shared\\": {\\n \\"Target\\": \\"web\\",\\n \\"Mode\\": \\"automatic\\",\\n \\"CrossSiteId\\": 10000001,\\n \\"Name\\": \\"example\\",\\n \\"Match\\": {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n },\\n \\"Action\\": \\"deny\\",\\n \\"Actions\\": {\\n \\"Response\\": {\\n \\"Id\\": 50000001,\\n \\"Code\\": 403\\n }\\n },\\n \\"Expression\\": \\"ip.src eq 1.1.1.1\\"\\n },\\n \\"Rules\\": [\\n {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Actions\\": {\\n \\"Response\\": {\\n \\"Id\\": 50000001,\\n \\"Code\\": 403\\n },\\n \\"Bypass\\": {\\n \\"Skip\\": \\"part\\",\\n \\"RegularRules\\": [\\n 100001\\n ],\\n \\"CustomRules\\": [\\n 20000001\\n ],\\n \\"RegularTypes\\": [\\n \\"sqli\\"\\n ],\\n \\"Tags\\": [\\n \\"http_custom\\"\\n ]\\n }\\n },\\n \\"ManagedList\\": \\"intelligence_crawler\\",\\n \\"ManagedRulesets\\": [\\n {\\n \\"ProtectionLevel\\": 4,\\n \\"Action\\": \\"deny\\",\\n \\"ManagedRules\\": [\\n {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Id\\": 100001\\n }\\n ],\\n \\"AttackType\\": 11,\\n \\"NumberTotal\\": 100,\\n \\"NumberEnabled\\": 50\\n }\\n ],\\n \\"Sigchl\\": [\\n \\"sig\\"\\n ],\\n \\"Name\\": \\"example\\",\\n \\"AppSdk\\": {\\n \\"CustomSign\\": {\\n \\"Value\\": \\"examplesignvalue\\",\\n \\"Key\\": \\"sign\\"\\n },\\n \\"CustomSignStatus\\": \\"on\\",\\n \\"FeatureAbnormal\\": [\\n \\"wxbb_invalid_sign\\"\\n ]\\n },\\n \\"RateLimit\\": {\\n \\"Characteristics\\": {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n },\\n \\"OnHit\\": true,\\n \\"TTL\\": 10,\\n \\"Threshold\\": {\\n \\"ManagedRulesBlocked\\": 10,\\n \\"DistinctManagedRules\\": 10,\\n \\"ResponseStatus\\": {\\n \\"Ratio\\": 10,\\n \\"Count\\": 10,\\n \\"Code\\": 404\\n },\\n \\"Traffic\\": \\"10Gb\\",\\n \\"Request\\": 10\\n },\\n \\"Interval\\": 10\\n },\\n \\"Type\\": \\"http_custom\\",\\n \\"AppPackage\\": {\\n \\"PackageSigns\\": [\\n {\\n \\"Sign\\": \\"sign\\",\\n \\"Name\\": \\"name\\"\\n }\\n ]\\n },\\n \\"ManagedGroupId\\": 30000001,\\n \\"Timer\\": {\\n \\"Scopes\\": \\"permanent\\",\\n \\"Zone\\": 8,\\n \\"Periods\\": [\\n {\\n \\"Start\\": \\"2025-01-01T00:00:00Z\\",\\n \\"End\\": \\"2025-01-01T01:00:00Z\\"\\n }\\n ],\\n \\"WeeklyPeriods\\": [\\n {\\n \\"Days\\": \\"1\\",\\n \\"DailyPeriods\\": [\\n {\\n \\"Start\\": \\"00:00:00\\",\\n \\"End\\": \\"01:00:00\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"Expression\\": \\"ip.src eq 1.1.1.1\\",\\n \\"SecurityLevel\\": {\\n \\"Value\\": \\"low\\"\\n },\\n \\"Value\\": \\"10.0.0.1\\",\\n \\"Id\\": 20000001,\\n \\"Notes\\": \\"example notes\\"\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListWafRules' => [ + 'summary' => 'List WAF Rules', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239600', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + 'FEATUREdcdnBQ0J3E', + 'FEATUREdcdn1OLUH8', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'query', + 'schema' => [ + 'title' => 'WAF阶段', + 'description' => 'WAF rule type. Values:'."\n" + ."\n" + .'- http_anti_scan: Scan protection'."\n" + .'- http_bot: Bots', + 'type' => 'string', + 'required' => true, + 'example' => 'http_custom', + ], + ], + [ + 'name' => 'RulesetId', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'description' => 'The rule set ID.', + 'example' => '10000001', + 'title' => '', + ], + ], + [ + 'name' => 'QueryArgs', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '查询条件', + 'description' => 'Query filter conditions.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'title' => '精确查询WAF规则ID', + 'description' => 'Exact query for WAF rule ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '20000001', + ], + 'NameLike' => [ + 'title' => '模糊查询WAF规则名称', + 'description' => 'Fuzzy query for WAF rule name.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + ], + 'IdNameLike' => [ + 'title' => '模糊查询规则id或规则名称', + 'description' => 'Fuzzy query for WAF rule ID or name.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + ], + 'Status' => [ + 'title' => '精确查询WAF规则状态', + 'description' => 'Exact query for WAF rule status.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + ], + 'ConfigValueLike' => [ + 'description' => 'Fuzzy search for values in IP access control.', + 'type' => 'string', + 'required' => false, + 'example' => '10.0.0.1', + 'title' => '', + ], + 'OrderBy' => [ + 'title' => '根据指定的列对返回列表排序', + 'description' => 'Sort the returned list by the specified column.', + 'type' => 'string', + 'required' => false, + 'example' => 'position', + ], + 'Desc' => [ + 'title' => '是否对排序结果取反', + 'description' => 'Whether to reverse the sorting result.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + 'required' => false, + 'example' => 'http_custom', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '查询页号', + 'description' => 'Query page number, used for pagination.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '查询页大小', + 'description' => 'Query page size, used for pagination.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'SiteUsage' => [ + 'title' => '站点使用量。', + 'description' => 'Site usage.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + 'InstanceUsage' => [ + 'title' => '站点对应实例中该WAF阶段已使用规则数量', + 'description' => 'Number of rules used in this WAF phase for the corresponding instance of the site.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'TotalCount' => [ + 'title' => '过滤后总规则数', + 'description' => 'Total number of rules after filtering.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20', + ], + 'Rules' => [ + 'title' => '返回规则列表', + 'description' => 'Returned list of rules.', + 'type' => 'array', + 'items' => [ + 'title' => 'WafPageItemType', + 'description' => 'Rule details.', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => [ + 'title' => '修改时间', + 'description' => 'Modification time.', + 'type' => 'string', + 'example' => '2024-01-01T00:00:00Z', + ], + 'RulesetId' => [ + 'title' => '规则集ID', + 'description' => 'Ruleset ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000001', + ], + 'Id' => [ + 'title' => '规则ID', + 'description' => 'Rule ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000001', + ], + 'Position' => [ + 'title' => '规则在对应规则集中所处的位置顺序', + 'description' => 'Position order of the rule in the corresponding ruleset.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + ], + 'Phase' => [ + 'title' => 'WAF阶段', + 'description' => 'WAF phase.', + 'type' => 'string', + 'example' => 'http_custom', + ], + 'Type' => [ + 'title' => '规则类型', + 'description' => 'Rule type.', + 'type' => 'string', + 'example' => 'http_custom', + ], + 'Name' => [ + 'title' => '规则名称', + 'description' => 'Rule name.', + 'type' => 'string', + 'example' => 'example', + ], + 'Status' => [ + 'title' => '规则状态', + 'description' => 'Rule status.', + 'type' => 'string', + 'example' => 'on', + ], + 'Fields' => [ + 'title' => '规则的匹配字段列表', + 'description' => 'List of fields for rule matching', + 'type' => 'array', + 'items' => [ + 'title' => '规则的匹配字段值', + 'description' => 'The value of the rule\'s matching field.', + 'type' => 'string', + 'example' => 'ip.geoip.asnum', + ], + 'example' => '', + ], + 'CharacteristicsFields' => [ + 'title' => '频次控制类规则的统计对象列表', + 'description' => 'List of statistical objects for frequency control rules.', + 'type' => 'array', + 'items' => [ + 'title' => '频次控制类规则的统计对象', + 'description' => 'Statistical object for frequency control rules.', + 'type' => 'string', + 'example' => 'ip.src', + ], + 'example' => '', + ], + 'Action' => [ + 'title' => '规则对应的动作', + 'description' => 'The action corresponding to the rule.', + 'type' => 'string', + 'example' => 'deny', + ], + 'Skip' => [ + 'title' => '白名单类规则的跳过属性', + 'description' => 'Skip attribute for whitelist rules.', + 'type' => 'string', + 'example' => 'part', + ], + 'Tags' => [ + 'title' => '白名单类规则的跳过WAF阶段列表', + 'description' => 'List of WAF phases to be skipped by whitelist rules.', + 'type' => 'array', + 'items' => [ + 'title' => '白名单类规则的跳过WAF阶段值', + 'description' => 'WAF phase value to be skipped by whitelist rules.', + 'type' => 'string', + 'example' => 'http_custom', + ], + 'example' => '', + ], + 'Timer' => [ + 'title' => '规则生效时间配置', + 'description' => 'Configuration for the effective time of the rule.', + '$ref' => '#/components/schemas/WafTimer', + 'example' => '', + ], + 'Config' => [ + 'title' => '规则配置', + 'description' => 'Rule configuration.', + '$ref' => '#/components/schemas/WafRuleConfig', + 'example' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + 'PageNumber' => [ + 'title' => '页面号码', + 'description' => 'Page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'title' => '页面大小', + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'List WAF Rules', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-12T06:17:42.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-09-25T07:02:50.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWafRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"SiteUsage\\": 5,\\n \\"InstanceUsage\\": 10,\\n \\"TotalCount\\": 20,\\n \\"Rules\\": [\\n {\\n \\"UpdateTime\\": \\"2024-01-01T00:00:00Z\\",\\n \\"RulesetId\\": 10000001,\\n \\"Id\\": 20000001,\\n \\"Position\\": 1,\\n \\"Phase\\": \\"http_custom\\",\\n \\"Type\\": \\"http_custom\\",\\n \\"Name\\": \\"example\\",\\n \\"Status\\": \\"on\\",\\n \\"Fields\\": [\\n \\"ip.geoip.asnum\\"\\n ],\\n \\"CharacteristicsFields\\": [\\n \\"ip.src\\"\\n ],\\n \\"Action\\": \\"deny\\",\\n \\"Skip\\": \\"part\\",\\n \\"Tags\\": [\\n \\"http_custom\\"\\n ],\\n \\"Timer\\": {\\n \\"Scopes\\": \\"permanent\\",\\n \\"Zone\\": 8,\\n \\"Periods\\": [\\n {\\n \\"Start\\": \\"2025-01-01T00:00:00Z\\",\\n \\"End\\": \\"2025-01-01T01:00:00Z\\"\\n }\\n ],\\n \\"WeeklyPeriods\\": [\\n {\\n \\"Days\\": \\"1\\",\\n \\"DailyPeriods\\": [\\n {\\n \\"Start\\": \\"00:00:00\\",\\n \\"End\\": \\"01:00:00\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"Config\\": {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Actions\\": {\\n \\"Response\\": {\\n \\"Id\\": 50000001,\\n \\"Code\\": 403\\n },\\n \\"Bypass\\": {\\n \\"Skip\\": \\"part\\",\\n \\"RegularRules\\": [\\n 100001\\n ],\\n \\"CustomRules\\": [\\n 20000001\\n ],\\n \\"RegularTypes\\": [\\n \\"sqli\\"\\n ],\\n \\"Tags\\": [\\n \\"http_custom\\"\\n ]\\n }\\n },\\n \\"ManagedList\\": \\"intelligence_crawler\\",\\n \\"ManagedRulesets\\": [\\n {\\n \\"ProtectionLevel\\": 4,\\n \\"Action\\": \\"deny\\",\\n \\"ManagedRules\\": [\\n {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Id\\": 100001\\n }\\n ],\\n \\"AttackType\\": 11,\\n \\"NumberTotal\\": 100,\\n \\"NumberEnabled\\": 50\\n }\\n ],\\n \\"Sigchl\\": [\\n \\"sig\\"\\n ],\\n \\"Name\\": \\"example\\",\\n \\"AppSdk\\": {\\n \\"CustomSign\\": {\\n \\"Value\\": \\"examplesignvalue\\",\\n \\"Key\\": \\"sign\\"\\n },\\n \\"CustomSignStatus\\": \\"on\\",\\n \\"FeatureAbnormal\\": [\\n \\"wxbb_invalid_sign\\"\\n ]\\n },\\n \\"RateLimit\\": {\\n \\"Characteristics\\": {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n },\\n \\"OnHit\\": true,\\n \\"TTL\\": 10,\\n \\"Threshold\\": {\\n \\"ManagedRulesBlocked\\": 10,\\n \\"DistinctManagedRules\\": 10,\\n \\"ResponseStatus\\": {\\n \\"Ratio\\": 10,\\n \\"Count\\": 10,\\n \\"Code\\": 404\\n },\\n \\"Traffic\\": \\"10Gb\\",\\n \\"Request\\": 10\\n },\\n \\"Interval\\": 10\\n },\\n \\"Type\\": \\"http_custom\\",\\n \\"AppPackage\\": {\\n \\"PackageSigns\\": [\\n {\\n \\"Sign\\": \\"sign\\",\\n \\"Name\\": \\"name\\"\\n }\\n ]\\n },\\n \\"ManagedGroupId\\": 30000001,\\n \\"Timer\\": {\\n \\"Scopes\\": \\"permanent\\",\\n \\"Zone\\": 8,\\n \\"Periods\\": [\\n {\\n \\"Start\\": \\"2025-01-01T00:00:00Z\\",\\n \\"End\\": \\"2025-01-01T01:00:00Z\\"\\n }\\n ],\\n \\"WeeklyPeriods\\": [\\n {\\n \\"Days\\": \\"1\\",\\n \\"DailyPeriods\\": [\\n {\\n \\"Start\\": \\"00:00:00\\",\\n \\"End\\": \\"01:00:00\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"Expression\\": \\"ip.src eq 1.1.1.1\\",\\n \\"SecurityLevel\\": {\\n \\"Value\\": \\"low\\"\\n },\\n \\"Value\\": \\"10.0.0.1\\",\\n \\"Id\\": 20000001,\\n \\"Notes\\": \\"example notes\\"\\n }\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20\\n}","type":"json"}]', + ], + 'ListWafRulesets' => [ + 'summary' => 'List WAF Rule Sets', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239588', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBQ0J3E', + 'FEATUREdcdn1OLUH8', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + 'docRequired' => true, + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'query', + 'schema' => [ + 'title' => 'WAF阶段', + 'description' => 'WAF operation phase, specifying the rule set phase to query.', + 'type' => 'string', + 'required' => true, + 'example' => 'http_bot', + 'docRequired' => true, + ], + ], + [ + 'name' => 'QueryArgs', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '查询参数', + 'description' => 'Query parameters, passed in JSON format, containing various filtering conditions.', + 'type' => 'object', + 'properties' => [ + 'NameLike' => [ + 'title' => '模糊查询规则集名称', + 'description' => 'Fuzzy search for rule set name.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + ], + 'AnyLike' => [ + 'title' => '模糊搜索规则集ID、规则集名称、规则ID、规则名称。', + 'description' => 'Fuzzy search for rule set ID, rule set name, rule ID, and rule name.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + ], + 'OrderBy' => [ + 'title' => '指定排序列', + 'description' => 'Specify the column to sort by.', + 'type' => 'string', + 'required' => false, + 'example' => 'id', + ], + 'Desc' => [ + 'title' => '是否倒序排列', + 'description' => 'Whether to sort in descending order.', + 'type' => 'boolean', + 'required' => false, + 'example' => '', + ], + ], + 'required' => false, + 'example' => 'http_bot', + ], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => [ + 'title' => '页面号码', + 'description' => 'Page number, specifying the current page number for paginated queries.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => [ + 'title' => '页面大小', + 'description' => 'Page size, specifying the number of records per page for paginated queries.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'SiteUsage' => [ + 'description' => 'Number of WAF rule sets used by the site in this WAF operation phase.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + 'title' => '', + ], + 'InstanceUsage' => [ + 'title' => '实例使用量', + 'description' => 'Number of WAF rule sets used by the instance in this WAF operation phase.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10', + ], + 'TotalCount' => [ + 'title' => '过滤后总记录数', + 'description' => 'Total number of filtered records.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '5', + ], + 'Rulesets' => [ + 'title' => '规则集信息列表', + 'description' => 'List of rule set information, containing detailed information about the rule sets.', + 'type' => 'array', + 'items' => [ + 'title' => '规则集信息', + 'description' => 'Rule set information', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => [ + 'title' => '修改时间', + 'description' => 'Last modification time of the rule set.', + 'type' => 'string', + 'example' => '2024-01-01T00:00:00Z', + ], + 'Id' => [ + 'title' => '规则集ID', + 'description' => 'ID of the WAF rule set.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '10000001', + ], + 'Name' => [ + 'title' => '规则集名称', + 'description' => 'Name of the rule set.', + 'type' => 'string', + 'example' => 'example', + ], + 'Status' => [ + 'title' => '规则集状态', + 'description' => 'Status of the rule set.', + 'type' => 'string', + 'example' => 'on', + ], + 'Phase' => [ + 'title' => 'WAF阶段', + 'description' => 'WAF operation phase.', + 'type' => 'string', + 'example' => 'http_bot', + ], + 'Types' => [ + 'title' => '规则类型列表', + 'description' => 'List of rule types.', + 'type' => 'array', + 'items' => [ + 'title' => '规则类型', + 'description' => 'Rule type.', + 'type' => 'string', + 'example' => 'http_custom_cc', + ], + 'example' => '', + ], + 'Target' => [ + 'title' => 'http_bot中防护目标类型', + 'description' => 'Protection target type in http_bot.', + 'type' => 'string', + 'example' => 'web', + ], + 'Fields' => [ + 'title' => '匹配对象列表', + 'description' => 'List of match objects.', + 'type' => 'array', + 'items' => [ + 'title' => '匹配对象', + 'description' => 'Match object.', + 'type' => 'string', + 'example' => 'http.request.headers', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + 'PageNumber' => [ + 'title' => '页面号码', + 'description' => 'Current page number.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'PageSize' => [ + 'title' => '页面大小', + 'description' => 'Page size.', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'List WAF Rule Sets', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:50.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:41.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafRulesets', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWafRulesets', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"SiteUsage\\": 5,\\n \\"InstanceUsage\\": 10,\\n \\"TotalCount\\": 5,\\n \\"Rulesets\\": [\\n {\\n \\"UpdateTime\\": \\"2024-01-01T00:00:00Z\\",\\n \\"Id\\": 10000001,\\n \\"Name\\": \\"example\\",\\n \\"Status\\": \\"on\\",\\n \\"Phase\\": \\"http_bot\\",\\n \\"Types\\": [\\n \\"http_custom_cc\\"\\n ],\\n \\"Target\\": \\"web\\",\\n \\"Fields\\": [\\n \\"http.request.headers\\"\\n ]\\n }\\n ],\\n \\"PageNumber\\": 1,\\n \\"PageSize\\": 20\\n}","type":"json"}]', + 'translator' => 'machine', + ], + 'ListWafTemplateRules' => [ + 'summary' => 'List WAF Template Rules', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239638', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + 'FEATUREdcdnBQ0J3E', + 'FEATUREdcdn1OLUH8', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Instance ID. ', + 'type' => 'string', + 'required' => false, + 'example' => 'esa-site-aud6ftk57ym8', + 'title' => '', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'query', + 'schema' => [ + 'title' => 'WAF阶段', + 'description' => 'WAF operation phase, used to filter template rules for a specific phase.', + 'type' => 'string', + 'required' => false, + 'example' => 'http_anti_scan', + ], + ], + [ + 'name' => 'QueryArgs', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'title' => '查询参数', + 'description' => 'Query parameters, used to filter template rules based on conditions such as rule type.', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'title' => '规则类型', + 'description' => 'Rule type.', + 'type' => 'string', + 'required' => false, + 'example' => 'http_directory_traversal', + ], + 'Kinds' => [ + 'description' => 'List of template kinds. ', + 'type' => 'array', + 'items' => [ + 'enumValueTitles' => [ + 'template' => 'template ', + 'template-featured' => 'template-featured ', + ], + 'description' => 'Template kind. ', + 'type' => 'string', + 'required' => false, + 'example' => 'template', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'example' => 'http_anti_scan', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Rules' => [ + 'title' => '规则列表', + 'description' => 'The list of returned template rules.', + 'type' => 'array', + 'items' => [ + 'title' => '规则信息', + 'description' => 'Rule information.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'title' => '规则名称', + 'description' => 'Rule name.', + 'type' => 'string', + 'example' => 'HTTP Directory Traversal Rule [Template]', + ], + 'Status' => [ + 'title' => '规则状态', + 'description' => 'Rule status.', + 'type' => 'string', + 'example' => 'on', + ], + 'Type' => [ + 'title' => '规则类型', + 'description' => 'Rule type.', + 'type' => 'string', + 'example' => 'http_directory_traversal', + ], + 'Phase' => [ + 'title' => 'WAF阶段', + 'description' => 'WAF operation phase.', + 'type' => 'string', + 'example' => 'http_anti_scan', + ], + 'Config' => [ + 'title' => '规则配置', + 'description' => 'Rule configuration.', + '$ref' => '#/components/schemas/WafRuleConfig', + 'example' => '', + ], + ], + 'example' => '', + ], + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'List WAF Template Rules', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-11T03:39:54.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-11-12T07:30:11.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-09-25T07:02:50.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:35.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafTemplateRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWafTemplateRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Rules\\": [\\n {\\n \\"Name\\": \\"HTTP Directory Traversal Rule [Template]\\",\\n \\"Status\\": \\"on\\",\\n \\"Type\\": \\"http_directory_traversal\\",\\n \\"Phase\\": \\"http_anti_scan\\",\\n \\"Config\\": {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Actions\\": {\\n \\"Response\\": {\\n \\"Id\\": 50000001,\\n \\"Code\\": 403\\n },\\n \\"Bypass\\": {\\n \\"Skip\\": \\"part\\",\\n \\"RegularRules\\": [\\n 100001\\n ],\\n \\"CustomRules\\": [\\n 20000001\\n ],\\n \\"RegularTypes\\": [\\n \\"sqli\\"\\n ],\\n \\"Tags\\": [\\n \\"http_custom\\"\\n ]\\n }\\n },\\n \\"ManagedList\\": \\"intelligence_crawler\\",\\n \\"ManagedRulesets\\": [\\n {\\n \\"ProtectionLevel\\": 4,\\n \\"Action\\": \\"deny\\",\\n \\"ManagedRules\\": [\\n {\\n \\"Status\\": \\"on\\",\\n \\"Action\\": \\"deny\\",\\n \\"Id\\": 100001\\n }\\n ],\\n \\"AttackType\\": 11,\\n \\"NumberTotal\\": 100,\\n \\"NumberEnabled\\": 50\\n }\\n ],\\n \\"Sigchl\\": [\\n \\"sig\\"\\n ],\\n \\"Name\\": \\"example\\",\\n \\"AppSdk\\": {\\n \\"CustomSign\\": {\\n \\"Value\\": \\"examplesignvalue\\",\\n \\"Key\\": \\"sign\\"\\n },\\n \\"CustomSignStatus\\": \\"on\\",\\n \\"FeatureAbnormal\\": [\\n \\"wxbb_invalid_sign\\"\\n ]\\n },\\n \\"RateLimit\\": {\\n \\"Characteristics\\": {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"Logic\\": \\"and\\",\\n \\"Criteria\\": [\\n {\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n }\\n ],\\n \\"MatchType\\": \\"ip.src\\",\\n \\"MatchOperator\\": \\"eq\\",\\n \\"MatchValue\\": \\"1.1.1.1\\",\\n \\"Negate\\": true,\\n \\"ConvertToLower\\": true\\n },\\n \\"OnHit\\": true,\\n \\"TTL\\": 10,\\n \\"Threshold\\": {\\n \\"ManagedRulesBlocked\\": 10,\\n \\"DistinctManagedRules\\": 10,\\n \\"ResponseStatus\\": {\\n \\"Ratio\\": 10,\\n \\"Count\\": 10,\\n \\"Code\\": 404\\n },\\n \\"Traffic\\": \\"10Gb\\",\\n \\"Request\\": 10\\n },\\n \\"Interval\\": 10\\n },\\n \\"Type\\": \\"http_custom\\",\\n \\"AppPackage\\": {\\n \\"PackageSigns\\": [\\n {\\n \\"Sign\\": \\"sign\\",\\n \\"Name\\": \\"name\\"\\n }\\n ]\\n },\\n \\"ManagedGroupId\\": 30000001,\\n \\"Timer\\": {\\n \\"Scopes\\": \\"permanent\\",\\n \\"Zone\\": 8,\\n \\"Periods\\": [\\n {\\n \\"Start\\": \\"2025-01-01T00:00:00Z\\",\\n \\"End\\": \\"2025-01-01T01:00:00Z\\"\\n }\\n ],\\n \\"WeeklyPeriods\\": [\\n {\\n \\"Days\\": \\"1\\",\\n \\"DailyPeriods\\": [\\n {\\n \\"Start\\": \\"00:00:00\\",\\n \\"End\\": \\"01:00:00\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"Expression\\": \\"ip.src eq 1.1.1.1\\",\\n \\"SecurityLevel\\": {\\n \\"Value\\": \\"low\\"\\n },\\n \\"Value\\": \\"10.0.0.1\\",\\n \\"Id\\": 20000001,\\n \\"Notes\\": \\"example notes\\"\\n }\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListWafUsageOfRules' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239653', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + 'FEATUREdcdnBQ0J3E', + 'FEATUREdcdn1OLUH8', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Phase', + 'in' => 'query', + 'schema' => [ + 'title' => 'WAF阶段', + 'description' => 'Name of the WAF operation phase.', + 'type' => 'string', + 'required' => false, + 'example' => 'http_custom', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Sites' => [ + 'description' => 'List of site usage.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of site usage.', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => 'Site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'Name' => [ + 'description' => 'Site name.', + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Usage' => [ + 'description' => 'Usage of WAF rules/WAF rule sets.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'BatchConfigUsage' => [ + 'type' => 'integer', + 'format' => 'int64', + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'InstanceUsage' => [ + 'type' => 'integer', + 'format' => 'int64', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'List WAF Rule Usage', + 'summary' => 'List WAF Rule Usage', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:49.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:41.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafUsageOfRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWafUsageOfRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Sites\\": [\\n {\\n \\"Id\\": 1,\\n \\"Name\\": \\"example.com\\",\\n \\"Usage\\": 1\\n }\\n ],\\n \\"BatchConfigUsage\\": 0,\\n \\"InstanceUsage\\": 0\\n}","type":"json"}]', + ], + 'ListWaitingRoomEvents' => [ + 'summary' => 'Queries the information about waiting room events for a waiting room.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239610', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVCBH9N', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '7096621098****', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The unique ID of the waiting room, which can be obtained by calling the [ListWaitingRooms](~~2850279~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '6a51d5bc6460887abd129****', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomEventId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the waiting room event. This parameter is optional. You can specify this parameter to query a specific waiting room event.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '89677721098****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID, which is used to trace a call.'."\n", + 'type' => 'string', + 'example' => 'f3c3700a-4c0f-4a24-b576-fd7dbf9e7c55', + ], + 'WaitingRoomEvents' => [ + 'description' => 'The details of the waiting room events.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the waiting room event.'."\n", + 'type' => 'object', + 'properties' => [ + 'WaitingRoomEventId' => [ + 'description' => 'The unique ID of the waiting room event.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '89677721098****'."\n", + 'title' => '', + ], + 'WaitingRoomId' => [ + 'description' => 'The ID of the waiting room associated with the event.'."\n", + 'type' => 'string', + 'example' => '5c938a045c9ca46607163d34966****', + 'title' => '', + ], + 'Enable' => [ + 'description' => 'The event status. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The custom event name.'."\n", + 'type' => 'string', + 'example' => '测试事件', + 'title' => '', + ], + 'TotalActiveUsers' => [ + 'description' => 'The maximum number of active users.'."\n", + 'type' => 'string', + 'example' => '22', + 'title' => '', + ], + 'NewUsersPerMinute' => [ + 'description' => 'The maximum number of new users per minute.'."\n", + 'type' => 'string', + 'example' => '11', + 'title' => '', + ], + 'SessionDuration' => [ + 'description' => 'The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.'."\n", + 'type' => 'string', + 'example' => '3', + 'title' => '', + ], + 'DisableSessionRenewalEnable' => [ + 'description' => 'Indicates whether session renewal is disabled. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'off', + 'title' => '', + ], + 'QueuingMethod' => [ + 'description' => 'The queuing method. Valid values:'."\n" + ."\n" + .'* random: Users gain access to the origin randomly, regardless of the arrival time.'."\n" + .'* fifo: Users gain access to the origin in order of arrival.'."\n" + .'* passthrough: Users pass through the waiting room and go straight to the origin.'."\n" + .'* reject-all: Users are blocked from reaching the origin.'."\n", + 'type' => 'string', + 'example' => 'fifo', + 'title' => '', + ], + 'QueuingStatusCode' => [ + 'description' => 'The HTTP status code to return while a user is in the queue. Valid values:'."\n" + ."\n" + .'* 200'."\n" + .'* 202'."\n" + .'* 429'."\n", + 'type' => 'string', + 'example' => '200', + 'title' => '', + ], + 'JsonResponseEnable' => [ + 'description' => 'Indicates whether JOSN response is enabled. If JSON response is enabled, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'off', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The event description.'."\n", + 'type' => 'string', + 'example' => 'terraform-example', + 'title' => '', + ], + 'WaitingRoomType' => [ + 'description' => 'The type of the waiting room. Valid values:'."\n" + ."\n" + .'* default'."\n" + .'* custom'."\n", + 'type' => 'string', + 'example' => 'custom', + 'title' => '', + ], + 'CustomPageHtml' => [ + 'description' => 'The content of the custom waiting room page. This parameter is returned when the waiting room type is set to custom. The content is URL-encoded.'."\n", + 'type' => 'string', + 'example' => 'html-yets-maqi1111', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The start time of the event. This value is a UNIX timestamp.'."\n", + 'type' => 'string', + 'example' => '1719814398', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time of the event. This value is a UNIX timestamp.'."\n", + 'type' => 'string', + 'example' => '1719814497', + 'title' => '', + ], + 'PreQueueEnable' => [ + 'description' => 'Indicates whether pre-queuing is enabled. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'PreQueueStartTime' => [ + 'description' => 'The start time for pre-queuing. This value is a UNIX timestamp. This parameter is valid only when pre-queuing is enabled.'."\n", + 'type' => 'string', + 'example' => '1719814097', + 'title' => '', + ], + 'RandomPreQueueEnable' => [ + 'description' => 'Indicates whether random queuing is enabled. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Language' => [ + 'description' => 'The language of the waiting room page. This parameter is returned when the waiting room type is set to default. Valid values:'."\n" + ."\n" + .'* enus: English.'."\n" + .'* zhcn: Simplified Chinese.'."\n" + .'* zhhk: Traditional Chinese.'."\n", + 'type' => 'string', + 'example' => 'zhcn', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"f3c3700a-4c0f-4a24-b576-fd7dbf9e7c55\\",\\n \\"WaitingRoomEvents\\": [\\n {\\n \\"WaitingRoomEventId\\": 0,\\n \\"WaitingRoomId\\": \\"5c938a045c9ca46607163d34966****\\",\\n \\"Enable\\": \\"on\\",\\n \\"Name\\": \\"测试事件\\",\\n \\"TotalActiveUsers\\": \\"22\\",\\n \\"NewUsersPerMinute\\": \\"11\\",\\n \\"SessionDuration\\": \\"3\\",\\n \\"DisableSessionRenewalEnable\\": \\"off\\",\\n \\"QueuingMethod\\": \\"fifo\\",\\n \\"QueuingStatusCode\\": \\"200\\",\\n \\"JsonResponseEnable\\": \\"off\\",\\n \\"Description\\": \\"terraform-example\\",\\n \\"WaitingRoomType\\": \\"custom\\",\\n \\"CustomPageHtml\\": \\"html-yets-maqi1111\\",\\n \\"StartTime\\": \\"1719814398\\",\\n \\"EndTime\\": \\"1719814497\\",\\n \\"PreQueueEnable\\": \\"on\\",\\n \\"PreQueueStartTime\\": \\"1719814097\\",\\n \\"RandomPreQueueEnable\\": \\"on\\",\\n \\"Language\\": \\"zhcn\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListWaitingRoomEvents', + 'description' => 'You can call this operation to query details of all waiting room events related to a waiting room in a website.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T06:13:41.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWaitingRoomEvents', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWaitingRoomEvents', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ListWaitingRoomRules' => [ + 'summary' => 'Query Waiting Room Bypass Rules', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239649', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVCBH9N', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the waiting room to bypass, which can be obtained by calling the [ListWaitingRooms](~~2850279~~) interface.', + 'type' => 'string', + 'required' => true, + 'example' => '6a51d5bc6460887abd129****', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the waiting room bypass rule to update, which can be obtained by calling the [ListWaitingRoomRules](~~2850279~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '37286782688****'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name, optional, used for querying by the name of the waiting room bypass rule.', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'Query response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID, used for tracking the call status.', + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A123425345', + ], + 'WaitingRoomRules' => [ + 'description' => 'List of waiting room bypass rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of the waiting room bypass rule.', + 'type' => 'object', + 'properties' => [ + 'WaitingRoomRuleId' => [ + 'description' => 'Rule ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '37286782688****', + 'title' => '', + ], + 'RuleName' => [ + 'description' => 'Rule name. This parameter does not need to be set when adding global configuration.', + 'type' => 'string', + 'example' => 'ip', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter does not need to be set when adding global configuration. Value range:'."\n" + .'- on: enabled.'."\n" + .'- off: disabled.', + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter does not need to be set when adding global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: set the value to true'."\n" + .'- Match specific requests: set the value to a custom expression, e.g., (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'example' => '(http.request.uri.path.file_name eq \\"jpg\\")', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A123425345\\",\\n \\"WaitingRoomRules\\": [\\n {\\n \\"WaitingRoomRuleId\\": 0,\\n \\"RuleName\\": \\"ip\\",\\n \\"RuleEnable\\": \\"on\\",\\n \\"Rule\\": \\"(http.request.uri.path.file_name eq \\\\\\\\\\\\\\"jpg\\\\\\\\\\\\\\")\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'Query Waiting Room Bypass Rules List', + 'description' => 'This API allows users to query the list of waiting room bypass rules associated with a specific site.', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T06:13:41.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWaitingRoomRules', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWaitingRoomRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'ListWaitingRooms' => [ + 'summary' => 'Queries the information about all waiting rooms in a website.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239611', + 'abilityTreeNodes' => [ + 'FEATUREdcdnO4KC7Z', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '120876698010528', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the waiting room. Specify this parameter to query the information about a specific waiting room.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '6a51d5bc6460887abd1291dc7d4d****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID, which is used to trace a call.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + 'WaitingRooms' => [ + 'description' => 'The waiting rooms.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the waiting room.'."\n", + 'type' => 'object', + 'properties' => [ + 'WaitingRoomId' => [ + 'description' => 'The unique ID of the waiting room.'."\n", + 'type' => 'string', + 'example' => '6a51d5bc6460887abd1291dc7d4d****'."\n", + 'title' => '', + ], + 'Enable' => [ + 'description' => 'Indicates whether the waiting room is enabled. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The name of the waiting room.'."\n", + 'type' => 'string', + 'example' => '测试等候室', + 'title' => '', + ], + 'QueueAllEnable' => [ + 'description' => 'Indicates whether all requests must be queued. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'HostNameAndPath' => [ + 'description' => 'The hostname and path.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the hostname and path.'."\n", + 'type' => 'object', + 'properties' => [ + 'Subdomain' => [ + 'description' => 'The subdomain.'."\n", + 'type' => 'string', + 'example' => 'test.'."\n", + 'title' => '', + ], + 'Domain' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'example' => 'example.com'."\n", + 'title' => '', + ], + 'Path' => [ + 'description' => 'The path.'."\n", + 'type' => 'string', + 'example' => '/test', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'CookieName' => [ + 'description' => 'The name of the custom cookie.'."\n", + 'type' => 'string', + 'example' => '__aliwaitingroom_example', + 'title' => '', + ], + 'TotalActiveUsers' => [ + 'description' => 'The maximum number of active users.'."\n", + 'type' => 'string', + 'example' => '300', + 'title' => '', + ], + 'NewUsersPerMinute' => [ + 'description' => 'The maximum number of new users per minute.'."\n", + 'type' => 'string', + 'example' => '200', + 'title' => '', + ], + 'SessionDuration' => [ + 'description' => 'The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.'."\n", + 'type' => 'string', + 'example' => '3600', + 'title' => '', + ], + 'DisableSessionRenewalEnable' => [ + 'description' => 'Indicates whether session renewal is disabled. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'QueuingMethod' => [ + 'description' => 'The queuing method. Valid values:'."\n" + ."\n" + .'* random: Users gain access to the origin randomly, regardless of the arrival time.'."\n" + .'* fifo: Users gain access to the origin in order of arrival.'."\n" + .'* passthrough: Users pass through the waiting room and go straight to the origin.'."\n" + .'* reject-all: Users are blocked from reaching the origin.'."\n", + 'type' => 'string', + 'example' => 'random', + 'title' => '', + ], + 'QueuingStatusCode' => [ + 'description' => 'The HTTP status code to return while a user is in the queue. Valid values:'."\n" + ."\n" + .'* 200'."\n" + .'* 202'."\n" + .'* 429'."\n", + 'type' => 'string', + 'example' => '200', + 'title' => '', + ], + 'JsonResponseEnable' => [ + 'description' => 'Indicates whether JSON response is enabled. If you set this parameter to on, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'example' => 'on', + 'title' => '', + ], + 'Description' => [ + 'description' => 'The description of the waiting room.'."\n", + 'type' => 'string', + 'example' => '测试等候室', + 'title' => '', + ], + 'WaitingRoomType' => [ + 'description' => 'The type of the waiting room. Valid values:'."\n" + ."\n" + .'* default'."\n" + .'* custom'."\n", + 'type' => 'string', + 'example' => 'default', + 'title' => '', + ], + 'CustomPageHtml' => [ + 'description' => 'The HTML content or identifier of the custom queuing page. This parameter is valid only when `WaitingRoomType` is set to `custom`. The content must be URL-encoded.'."\n", + 'type' => 'string', + 'example' => '自定义HTML内容或标识', + 'title' => '', + ], + 'Language' => [ + 'description' => 'The language of the waiting room page. This parameter is returned when the waiting room type is set to default. Valid values:'."\n" + ."\n" + .'* enus: English.'."\n" + .'* zhcn: Simplified Chinese.'."\n" + .'* zhhk: Traditional Chinese.'."\n", + 'type' => 'string', + 'example' => 'zhcn', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Site.NotExist', + 'errorMessage' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\",\\n \\"WaitingRooms\\": [\\n {\\n \\"WaitingRoomId\\": \\"6a51d5bc6460887abd1291dc7d4d****\\\\n\\",\\n \\"Enable\\": \\"on\\",\\n \\"Name\\": \\"测试等候室\\",\\n \\"QueueAllEnable\\": \\"on\\",\\n \\"HostNameAndPath\\": [\\n {\\n \\"Subdomain\\": \\"test.\\\\n\\",\\n \\"Domain\\": \\"example.com\\\\n\\",\\n \\"Path\\": \\"/test\\"\\n }\\n ],\\n \\"CookieName\\": \\"__aliwaitingroom_example\\",\\n \\"TotalActiveUsers\\": \\"300\\",\\n \\"NewUsersPerMinute\\": \\"200\\",\\n \\"SessionDuration\\": \\"3600\\",\\n \\"DisableSessionRenewalEnable\\": \\"on\\",\\n \\"QueuingMethod\\": \\"random\\",\\n \\"QueuingStatusCode\\": \\"200\\",\\n \\"JsonResponseEnable\\": \\"on\\",\\n \\"Description\\": \\"测试等候室\\",\\n \\"WaitingRoomType\\": \\"default\\",\\n \\"CustomPageHtml\\": \\"自定义HTML内容或标识\\",\\n \\"Language\\": \\"zhcn\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'ListWaitingRooms', + 'description' => 'You can call this operation to query detailed configurations about all waiting rooms in a website, including the status, name, and queuing rules of each waiting room.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T06:13:40.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWaitingRooms', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWaitingRooms', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'OpenErService' => [ + 'summary' => 'OpenErService', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239354', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '5CC228B4-7A67-4016-9C9F-4A4133494A91', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ErService.HasOpened', + 'errorMessage' => 'You have already activated Edge Routine.', + 'description' => 'You have already activated Edge Routine.', + ], + [ + 'errorCode' => 'InsufficientAvailableQuota', + 'errorMessage' => 'Your account balance is insufficient.', + 'description' => 'Your account is in arrears, please pay the arrears before purchasing.', + ], + [ + 'errorCode' => 'NoRealNameAuthentication', + 'errorMessage' => 'You have not completed real-name authentication.', + 'description' => 'You have not completed real-name authentication.', + ], + [ + 'errorCode' => 'RiskControlRejection', + 'errorMessage' => 'In order to protect the security of your account, the order was suspended, please contact customer service for details.', + 'description' => 'In order to protect the security of your account, the order was suspended, please contact customer service for details.', + ], + [ + 'errorCode' => 'RR309', + 'errorMessage' => 'The system has detected that your payment method is at risk. Please complete the verification through the link in the email and the in-station letter. Please place the order again after the verification is passed.', + 'description' => 'The system has detected that your payment method is at risk. Please complete the verification through the link in the email and the in-station letter. Please place the order again after the verification is passed.', + ], + [ + 'errorCode' => 'RR307', + 'errorMessage' => 'Credit card verification is not complete. Please follow the guidance in the email and the internal message to complete the verification. Once verified, please place your order again.', + 'description' => 'Credit card verification is not complete. Please follow the guidance in the email and the internal message to complete the verification. Once verified, please place your order again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5CC228B4-7A67-4016-9C9F-4A4133494A91\\"\\n}","type":"json"}]', + 'title' => 'OpenErService', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-18T03:30:35.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'OpenErService', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:OpenErService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'PreloadCaches' => [ + 'summary' => 'Prefetches cache.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239241', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Content', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The files to be prefetched.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The single file to be prefetched.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://a.com/1.jpg?b=1', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Headers', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'By default, prefetch requests include the Accept-Encoding:gzip header. If you want a prefetch request to include other headers or implement multi-replica prefetch, you can specify a custom prefetch header by configuring the Headers parameter.'."\n", + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'string', + 'description' => 'The request header.'."\n", + 'example' => 'Accept-Encoding:gzip', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + ], + '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' => '9732E117-8A37-49FD-A36F-ABBB87556CA7', + ], + 'TaskId' => [ + 'description' => 'The prefetch task ID.'."\n", + 'type' => 'string', + 'example' => '16401427840', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + 'description' => 'Please provide both a start time and an end time.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'DomainNameOverLimit', + 'errorMessage' => 'A maximum of 500 domains are supported for each request.', + 'description' => 'Only 500 domain names are supported at a time. Please reduce the number of domain names to request again.', + ], + [ + 'errorCode' => 'InvalidTime', + 'errorMessage' => 'The query time cannot exceed the last 3 days.', + 'description' => 'The query time cannot exceed the last 3 days.', + ], + [ + 'errorCode' => 'MissingParameter.ObjectType', + 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', + 'description' => 'Specify the ObjectType parameter.', + ], + [ + 'errorCode' => 'InvalidStationParameter', + 'errorMessage' => 'The specified Station is invalid.', + 'description' => 'The specified node parameter is invalid.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'errorCode' => 'InvalidTaskId.Malformed', + 'errorMessage' => 'The specified taskId is invalid.', + 'description' => 'The specified task ID is invalid.', + ], + [ + 'errorCode' => 'InvalidParameters.InvalidUrls', + 'errorMessage' => 'The specified urls are invalid.', + 'description' => 'The requested URL parameter is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'You attempts have exceeded the daily limit.', + 'description' => 'Exceeding the same day quota limit. The number of submissions today has been exhausted. You can query the number of times a quota can be used today through the quota API.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordNotBelongToSite', + 'errorMessage' => 'The record name passed in does not belong to the current site.', + 'description' => 'The record name passed in does not belong to the current site.', + ], + [ + 'errorCode' => 'PreloadQueueFull', + 'errorMessage' => 'The prefetch queue is full. Try again later.', + 'description' => 'The prefetch queue is full, and you need to retry after the queue is processed.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9732E117-8A37-49FD-A36F-ABBB87556CA7\\",\\n \\"TaskId\\": \\"16401427840\\"\\n}","type":"json"}]', + 'title' => 'PreloadCaches', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-17T01:55:08.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2025-03-13T07:58:30.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-10-15T01:58:27.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PreloadCaches', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:PreloadCaches', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'PublishEdgeContainerAppVersion' => [ + 'summary' => 'Releases a specific version of a containerized application. You can call this operation to iterate an application.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239213', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The application ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'maxLength' => 64, + 'minLength' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'VersionId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ver-87962637161651****', + 'maxLength' => 64, + 'minLength' => 20, + 'title' => '', + ], + ], + [ + 'name' => 'PublishEnv', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The environment to which you want to release the version. Valid values:'."\n" + ."\n" + .'* prod: the production environment.'."\n" + .'* staging: the staging environment.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'prod', + 'title' => '', + ], + ], + [ + 'name' => 'Percentage', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The release percentage. Valid values: 1 to 100. Default value: 100.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '100', + 'minimum' => '1', + 'example' => '100', + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The time when the application version starts to be released. If you do not specify this parameter, the current time is used by default.'."\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' => '2023-06-05T16:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'Remarks', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The remarks. This parameter is empty by default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test publish app', + 'maxLength' => 1024, + 'title' => '', + ], + ], + [ + 'name' => 'PublishType', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies how the version is released. Valid values:'."\n" + ."\n" + .'* percentage: releases the version by percentage.'."\n" + .'* region: releases the version by region.'."\n" + ."\n" + .'If you do not specify this parameter, the version is released by percentage by default.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'percentage', + 'default' => 'percentage', + 'enum' => [ + 'percentage', + 'region', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Regions', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The regions to which the version is released.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The release region.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'jiangsu', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'FullRelease', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to fully release the version. This parameter takes effect only when PublishType is set to region.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'false', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.PublishEnv', + 'errorMessage' => 'The specified PublishEnv is invalid. Please check the PublishEnv parameter. It may not be set to either "prod" or "staging." Please make the necessary changes and call the interface again.', + 'description' => 'The PublishEnv parameter is invalid. Please check the PublishEnv parameter. You may not have set it to prod or staging one of them. Please modify it and call the interface again.', + ], + [ + 'errorCode' => 'InvalidParameter.Percentage', + 'errorMessage' => 'The Percentage parameter is invalid. Please check the Percentage parameter, which should be in the range of 1-100. Modify it accordingly and call the interface again.', + 'description' => 'The Percentage parameter is invalid. Check the Percentage parameter. The parameter range is 1-100. Modify the parameter and call the interface again.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.VersionId', + 'errorMessage' => 'The specified VersionId is invalid.  Please check the VersionId parameter. You may not have entered the parameter or the parameter does not start with ver-string. Please modify it and call the interface again.', + 'description' => 'The VersionId parameter is invalid. Please check the VersionId parameter. You may not have entered the parameter or the parameter does not start with ver-string. Please modify it and call the interface again.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'PublishEdgeContainerAppVersion', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PublishEdgeContainerAppVersion', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:PublishEdgeContainerAppVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'PurchaseCacheReserve' => [ + 'summary' => 'New Purchase of Cache Retention', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '238733', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'QuotaGb', + 'in' => 'query', + 'schema' => [ + 'description' => 'Cache retention specification (unit: GB).', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '512000', + 'title' => '', + ], + ], + [ + 'name' => 'CrRegion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Cache retention region'."\n" + .'- HK: Hong Kong, China'."\n" + .'- CN-beijing: Mainland China - Beijing', + 'type' => 'string', + 'required' => false, + 'example' => 'HK', + 'title' => '', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to auto-renew:'."\n" + .'- true: Auto-renew.'."\n" + .'- false: Do not auto-renew.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => 'Purchase period (unit: month).', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + 'title' => '', + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'Billing type'."\n" + .'- PREPAY: Prepaid.'."\n" + .'- POSTPAY: Postpaid.', + 'type' => 'string', + 'required' => false, + 'example' => 'PREPAY', + 'enum' => [ + 'POSTPAY', + 'PREPAY', + ], + 'title' => '', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to automatically pay. The default value is false.'."\n" + .'- true: Automatically pay.'."\n" + .'- false: Do not automatically pay.', + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [ + 'true' => 'true', + 'false' => 'false', + ], + 'example' => 'true', + 'default' => 'false', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response structure.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '30423A7F-A83D-1E24-B80E-86DD25790758', + ], + 'OrderId' => [ + 'description' => 'Order ID.', + 'type' => 'string', + 'example' => '31223****11', + 'title' => '', + ], + 'InstanceId' => [ + 'description' => 'Instance ID.', + 'type' => 'string', + 'example' => 'xcdn-ad*****s11w'."\n", + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CheckOrderFailed', + 'errorMessage' => 'Invalid order parameter.', + 'description' => 'Invalid order parameter.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InvalidSiteICP', + 'errorMessage' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + 'description' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + ], + [ + 'errorCode' => 'InvalidSiteName', + 'errorMessage' => 'Invalid website name. Check and try again.', + 'description' => 'Invalid website name. Check and try again.', + ], + [ + 'errorCode' => 'SYSTEM.NoSpecificCodeFailed', + 'errorMessage' => 'Invalid subscription duration. Check and try again.', + 'description' => 'Invalid subscription duration. Check and try again.', + ], + [ + 'errorCode' => 'CheckPlanFailed', + 'errorMessage' => 'Invalid plan name or code. Check and try again.', + 'description' => 'Invalid plan name or code. Check and try again.', + ], + [ + 'errorCode' => 'SubSiteUnavailable', + 'errorMessage' => 'Subdomains are allowed only in Enterprise plans. Upgrade your plan to add a subdomain to ESA.', + 'description' => 'Subdomains are allowed only in Enterprise plans. Upgrade your plan to add a subdomain to ESA.', + ], + [ + 'errorCode' => 'InsufficientAvailableQuota', + 'errorMessage' => 'Your account balance is insufficient.', + 'description' => 'Your account is in arrears, please pay the arrears before purchasing.', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account balance is insufficient.', + 'description' => 'Your account balance is insufficient, please recharge before purchasing.', + ], + [ + 'errorCode' => 'InvalidComponent', + 'errorMessage' => 'The order parameters is invalid.', + 'description' => 'The order parameters is invalid.', + ], + [ + 'errorCode' => 'RamAuthFailed', + 'errorMessage' => 'The sub-account has no operation permission.', + 'description' => '', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30423A7F-A83D-1E24-B80E-86DD25790758\\",\\n \\"OrderId\\": \\"31223****11\\",\\n \\"InstanceId\\": \\"xcdn-ad*****s11w\\\\n\\"\\n}","type":"json"}]', + 'title' => 'Purchase Cache Retention', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PurchaseCacheReserve', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:PurchaseCacheReserve', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'PurchaseRatePlan' => [ + 'summary' => 'Purchase New Package', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '239597', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'PlanName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Package name.', + 'type' => 'string', + 'required' => false, + 'example' => 'basic', + 'title' => '', + ], + ], + [ + 'name' => 'PlanCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Package code.', + 'type' => 'string', + 'required' => false, + 'example' => 'basicplan', + 'title' => '', + ], + ], + [ + 'name' => 'SiteName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site name.', + 'type' => 'string', + 'required' => false, + 'example' => 'test.com', + 'title' => '', + ], + ], + [ + 'name' => 'Coverage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The service location. Valid values:'."\n" + ."\n" + .'* domestic: the Chinese mainland.'."\n" + .'* global: global.'."\n" + .'* overseas: outside the Chinese mainland.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'domestic', + 'default' => 'overseas', + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The DNS setup option for the website. Valid values:'."\n" + ."\n" + .'* NS'."\n" + .'* CNAME'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'CNAME', + 'default' => 'CNAME', + 'enum' => [ + 'CNAME', + 'NS', + ], + 'title' => '', + ], + ], + [ + 'name' => 'AutoRenew', + 'in' => 'query', + 'schema' => [ + 'description' => 'Auto-renewal:'."\n" + .'- true: Enable auto-renewal.'."\n" + .'- false: Disable auto-renewal.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'Period', + 'in' => 'query', + 'schema' => [ + 'description' => 'Subscription period (in months).', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The billing method. Valid values:'."\n" + ."\n" + .'* PREPAY: subscription.'."\n" + .'* POSTPAY: pay-as-you-go.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'PREPAY', + 'enum' => [ + 'POSTPAY', + 'PREPAY', + ], + 'title' => '', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable auto payment.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'false', + 'title' => '', + ], + ], + [ + 'name' => 'Amount', + 'in' => 'query', + 'schema' => [ + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '99', + 'minimum' => '1', + 'description' => 'Quantity of the package to purchase. ', + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'Channel', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'description' => '', + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response structure.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '30423A7F-A83D-1E24-B80E-86DD25790758', + ], + 'OrderId' => [ + 'description' => 'Order ID.', + 'type' => 'string', + 'example' => '123123', + 'title' => '', + ], + 'InstanceId' => [ + 'description' => 'Instance ID.', + 'type' => 'string', + 'example' => 'esa-site-ads11w', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CheckOrderFailed', + 'errorMessage' => 'Invalid order parameter.', + 'description' => 'Invalid order parameter.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'InvalidSiteICP', + 'errorMessage' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + 'description' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + ], + [ + 'errorCode' => 'InvalidSiteName', + 'errorMessage' => 'Invalid website name. Check and try again.', + 'description' => 'Invalid website name. Check and try again.', + ], + [ + 'errorCode' => 'SYSTEM.NoSpecificCodeFailed', + 'errorMessage' => 'Invalid subscription duration. Check and try again.', + 'description' => 'Invalid subscription duration. Check and try again.', + ], + [ + 'errorCode' => 'CheckPlanFailed', + 'errorMessage' => 'Invalid plan name or code. Check and try again.', + 'description' => 'Invalid plan name or code. Check and try again.', + ], + [ + 'errorCode' => 'SubSiteUnavailable', + 'errorMessage' => 'Subdomains are allowed only in Enterprise plans. Upgrade your plan to add a subdomain to ESA.', + 'description' => 'Subdomains are allowed only in Enterprise plans. Upgrade your plan to add a subdomain to ESA.', + ], + [ + 'errorCode' => 'InsufficientAvailableQuota', + 'errorMessage' => 'Your account balance is insufficient.', + 'description' => 'Your account is in arrears, please pay the arrears before purchasing.', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account balance is insufficient.', + 'description' => 'Your account balance is insufficient, please recharge before purchasing.', + ], + [ + 'errorCode' => 'InvalidComponent', + 'errorMessage' => 'The order parameters is invalid.', + 'description' => 'The order parameters is invalid.', + ], + [ + 'errorCode' => 'RamAuthFailed', + 'errorMessage' => 'The sub-account has no operation permission.', + 'description' => '', + ], + [ + 'errorCode' => 'BuyWithSiteAmountErr', + 'errorMessage' => 'Site-based purchase plans do not support bulk purchasing.', + 'description' => 'Site-based purchase plans do not support bulk purchasing.', + ], + [ + 'errorCode' => 'EnterpriseAmountErr', + 'errorMessage' => 'Enterprise plans do not support bulk purchase.', + 'description' => 'Enterprise plans do not support bulk purchase.', + ], + [ + 'errorCode' => 'TrialService.HasOpened', + 'errorMessage' => 'You have already activated the trial service.', + 'description' => 'You have activated the trial service and cannot activate it again.', + ], + [ + 'errorCode' => 'UserQuantityExceed', + 'errorMessage' => 'Your current purchase quantity exceeds the available quantity. Please select a new quantity.', + 'description' => 'Your current purchase quantity exceeds the available quantity. Please select a new quantity.', + ], + [ + 'errorCode' => 'BASIC_INFO_UNCOMPLETED', + 'errorMessage' => 'You have not completed your personal basic information. Please complete the information and try again.', + 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate. (If the current account is a managed sub-account, please contact the main account and click this link to complete the information.) [ + [ + 'createdAt' => '2025-06-18T03:30:35.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2025-06-13T03:33:33.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2025-04-08T06:39:34.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2025-02-20T05:44:58.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:40.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PurchaseRatePlan', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:PurchaseRatePlan', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30423A7F-A83D-1E24-B80E-86DD25790758\\",\\n \\"OrderId\\": \\"123123\\",\\n \\"InstanceId\\": \\"esa-site-ads11w\\"\\n}","type":"json"}]', + 'translator' => 'machine', + ], + 'PurgeCaches' => [ + 'summary' => 'Purges resources cached on points of presence (POPs). You can purge the cache by file URL, directory, cache tag, hostname, or URL with specified parameters ignored, or purge all the cache.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238881', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBCJPGN', + 'FEATUREdcdnELTTM1', + 'FEATUREdcdnA9FG2P', + 'FEATUREdcdnRELTJV', + 'FEATUREdcdnEWYS3A', + 'FEATUREdcdn4QVGXU', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of refresh task. Possible values:'."\n" + .'- **file** (default): File refresh.'."\n" + .'- **cachekey**: Cachekey refresh.'."\n" + .'- **cachetag**: Cachetag refresh.'."\n" + .'- **directory**: Directory refresh.'."\n" + .'- **ignoreParams**: Ignore parameters refresh. Ignoring parameters means removing the ? and everything after it in the request URL. When performing an ignore parameters refresh, the user first submits the URL without parameters through the interface. The submitted URLs to be refreshed will then be matched against the cached resource URLs with the parameters removed. If the cached resource URL, after removing the parameters, matches the URL to be refreshed, the CDN node will refresh the cached resources.'."\n" + .'- **hostname**: Hostname refresh.'."\n" + .'- **purgeall**: Purge all cache under the site.', + 'type' => 'string', + 'required' => true, + 'example' => 'file', + 'enum' => [ + 'file', + 'cachetag', + 'directory', + 'ignoreparams', + 'hostname', + 'purgeall', + 'cachekey', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Content', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Content to be refreshed.', + 'type' => 'object', + 'properties' => [ + 'Files' => [ + 'description' => 'List of files to be refreshed, required when the type is file.', + 'type' => 'array', + 'items' => [ + 'description' => 'List of files to be refreshed, required when the type is file.'."\n" + ."\n" + .'> Up to 1000 items per request, and up to 10 different domains.', + 'type' => 'any', + 'required' => false, + 'example' => '["http://a.com/1.jpg?b=1", "http://a.com/2.jpg?b=1"]', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'CacheTags' => [ + 'description' => 'List of cachetags to be refreshed, required when the type is cachetag.', + 'type' => 'array', + 'items' => [ + 'description' => 'List of cachetags to be refreshed, required when the type is cachetag.'."\n" + ."\n" + .'> Up to 30 items per request.', + 'type' => 'string', + 'required' => false, + 'example' => '["tag1", "tag2"]', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Hostnames' => [ + 'description' => 'List of hostnames to be refreshed, required when the type is hostname.', + 'type' => 'array', + 'items' => [ + 'description' => 'List of hostnames to be refreshed, required when the type is hostname.'."\n" + .'> Up to 10 domains per request.', + 'type' => 'string', + 'required' => false, + 'example' => '["a.com", "b.com"]', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'IgnoreParams' => [ + 'description' => 'List of files with ignored parameters, required when the type is ignoreParams.', + 'type' => 'array', + 'items' => [ + 'description' => 'List of files with ignored parameters, required when the type is ignoreParams.'."\n" + ."\n" + .'> Up to 100 items per request, and up to 10 different domains.', + 'type' => 'string', + 'required' => false, + 'example' => '["http://a.com/1.jpg", "http://a.com/2.jpg"]', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Directories' => [ + 'description' => 'List of directories to be refreshed, required when the type is directory.', + 'type' => 'array', + 'items' => [ + 'description' => 'List of directories to be refreshed, required when the type is directory.'."\n" + ."\n" + .'> Up to 100 items per request, and up to 10 different domains.', + 'type' => 'string', + 'required' => false, + 'example' => '["http://a.com/path1/", "http://a.com/path2/"]', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'PurgeAll' => [ + 'description' => 'Flag for purging all content. Default is false, set to true when the type is purgeall.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'CacheKeys' => [ + 'description' => 'List of cachekeys to be refreshed, required when the type is cachekey.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Url' => [ + 'description' => 'URL address to be refreshed.', + 'type' => 'string', + 'required' => false, + 'example' => 'http://a.com/1.jpg?b=1', + 'title' => '', + ], + 'Headers' => [ + 'description' => 'When refreshing, specify the header information corresponding to the cache key. When the custom cache key feature switch is enabled, the cache key will be generated based on the specified header for refreshing.'."\n" + ."\n" + .'**UserGeo: Country/Region**'."\n" + .'- Country/region codes follow the ISO 3166-2 standard.'."\n" + ."\n" + .'**UserDeviceType: Device Type, currently there are three enum values**'."\n" + .'- desktop'."\n" + .' - tablet'."\n" + .' - mobile'."\n" + ."\n" + .'**UserLanguage: Language**'."\n" + .'- Language codes follow the ISO 639-1 or BCP47 standards. For example, input \'zh\' to refresh content in Chinese.', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'string', + 'description' => 'The value information corresponding to the cachekey header.', + 'example' => '{"Url":"http://www.example.com/dog_picture.jpg","Headers":{"cat": "789", "Cookie": "test444=444;test333=333;test222=222", "UserGeo": "US", "UserDeviceType": "desktop","UserLanguage": "zh-CN"}}', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Force', + 'in' => 'query', + 'schema' => [ + 'description' => 'Indicates whether to refresh all resources under the directory when the content from the origin and the source resource are inconsistent. The default is false.'."\n" + .'- **true**: Refreshes all resources under the specified directory.'."\n" + .'- **false**: Refreshes only the changed resources under the specified directory.'."\n" + ."\n" + .'> '."\n" + .'> Applies to: Directory refresh, cachetag refresh, ignoreParams refresh, hostname refresh, and purge all cache of the site.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'EdgeComputePurge', + 'in' => 'query', + 'schema' => [ + 'description' => 'Used for refreshing cached resources in edge computing, such as allowing the refresh of content cached using the CacheAPI interface of an edge function.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of the response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'ET5BF670-09D5-4D0B-BEBY-D96A2A528000', + ], + 'TaskId' => [ + 'description' => 'Task ID, which is returned when you create a refresh or preheat task.', + 'type' => 'string', + 'example' => '15940956620', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingTimeParameter', + 'errorMessage' => 'The StartTime and EndTime must be both specified.', + 'description' => 'Please provide both a start time and an end time.', + ], + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'DomainNameOverLimit', + 'errorMessage' => 'A maximum of 500 domains are supported for each request.', + 'description' => 'Only 500 domain names are supported at a time. Please reduce the number of domain names to request again.', + ], + [ + 'errorCode' => 'InvalidTime', + 'errorMessage' => 'The query time cannot exceed the last 3 days.', + 'description' => 'The query time cannot exceed the last 3 days.', + ], + [ + 'errorCode' => 'MissingParameter.ObjectType', + 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', + 'description' => 'Specify the ObjectType parameter.', + ], + [ + 'errorCode' => 'InvalidStationParameter', + 'errorMessage' => 'The specified Station is invalid.', + 'description' => 'The specified node parameter is invalid.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'errorCode' => 'InvalidTaskId.Malformed', + 'errorMessage' => 'The specified taskId is invalid.', + 'description' => 'The specified task ID is invalid.', + ], + [ + 'errorCode' => 'InvalidParameters.InvalidUrls', + 'errorMessage' => 'The specified urls are invalid.', + 'description' => 'The requested URL parameter is invalid.', + ], + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'You attempts have exceeded the daily limit.', + 'description' => 'Exceeding the same day quota limit. The number of submissions today has been exhausted. You can query the number of times a quota can be used today through the quota API.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordNotBelongToSite', + 'errorMessage' => 'The record name passed in does not belong to the current site.', + 'description' => 'The record name passed in does not belong to the current site.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'System load fluctuates, please try again later.', + 'description' => 'System load fluctuates, please try again later.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ET5BF670-09D5-4D0B-BEBY-D96A2A528000\\",\\n \\"TaskId\\": \\"15940956620\\"\\n}","type":"json"}]', + 'title' => 'PurgeCaches', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-13T07:58:30.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2025-02-10T01:55:17.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-12-06T02:11:35.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2024-10-15T01:58:27.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PurgeCaches', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:PurgeCaches', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'PutKv' => [ + 'summary' => 'Configures a key-value pair for a namespace. The request body can be up to 2 MB.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238811', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the namespace that you specify when you call the [CreateKvNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namespace', + 'title' => '', + ], + ], + [ + 'name' => 'Key', + 'in' => 'query', + 'schema' => [ + 'description' => 'The key name. The name can be up to 512 characters in length and cannot contain spaces or backslashes (\\\\).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_key', + 'title' => '', + ], + ], + [ + 'name' => 'Value', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The content of the key, which can be up to 2 MB (2 × 1000 × 1000). If the content is larger than 2 MB, call [PutKvWithHighCapacity](~~2850486~~).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_value', + 'title' => '', + ], + ], + [ + 'name' => 'Expiration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time when the key-value pair expires, which cannot be earlier than the current time. The value is a timestamp in seconds. If you specify both Expiration and ExpirationTtl, only ExpirationTtl takes effect.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1690081381', + 'title' => '', + ], + ], + [ + 'name' => 'ExpirationTtl', + 'in' => 'query', + 'schema' => [ + 'description' => 'The relative expiration time. Unit: seconds. If you specify both Expiration and ExpirationTtl, only ExpirationTtl takes effect.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '3600', + 'title' => '', + ], + ], + [ + 'name' => 'Base64', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether the content of the key is Base64-encoded. Set this parameter to true if you want to store the key content in binary format. When this parameter is set to true, the Value parameter must be Base64-encoded.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + ], + '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' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + ], + 'Length' => [ + 'description' => 'The length of the value in the key-value pair.'."\n", + 'type' => 'string', + 'example' => '4', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The content of the key. If the content has more than 256 characters in length, the system displays the first 100 and the last 100 characters, and omits the middle part.'."\n", + 'type' => 'string', + 'example' => 'test', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"Length\\": \\"4\\",\\n \\"Value\\": \\"test\\"\\n}","type":"json"}]', + 'title' => 'PutKv', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-20T13:49:27.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '50', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PutKv', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:PutKv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'write', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'PutKvWithHighCapacity' => [ + 'summary' => 'Configures a large key-value pair for a namespace. The request body can be up to 25 MB.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238726', + 'abilityTreeNodes' => [ + 'FEATUREdcdnGMYWU5', + ], + ], + 'parameters' => [ + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The name of the namespace that you specify when you call the [CreateKvNamespace](~~2850317~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_namesapce', + ], + ], + [ + 'name' => 'Key', + 'in' => 'query', + 'schema' => [ + 'description' => 'The key name. The name can be up to 512 characters in length and cannot contain spaces or backslashes (\\\\).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_key', + 'title' => '', + ], + ], + [ + 'name' => 'Url', + 'in' => 'query', + 'schema' => [ + 'description' => 'The download URL of the key-value pair that you want to upload. This parameter is automatically filled in when you use the SDK to call the operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7', + 'isFileTransferUrl' => true, + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F', + ], + 'Length' => [ + 'description' => 'The length of the value in the key-value pair.'."\n", + 'type' => 'string', + 'example' => '4', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The content of the key. If the content has more than 256 characters in length, the system displays the first 100 and the last 100 characters, and omits the middle part.'."\n", + 'type' => 'string', + 'example' => 'test', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidAccount.Malformed', + 'errorMessage' => 'The specified account is invalid.', + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'errorCode' => 'InvalidNameSpace.Malformed', + 'errorMessage' => 'The specified namespace is invalid.', + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.Malformed', + 'errorMessage' => 'The specified key is invalid.', + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'errorCode' => 'InvalidKey.ExceedsMaximum', + 'errorMessage' => 'The size of the key cannot exceed 512 bytes.', + 'description' => 'The length of the requested key is too large.', + ], + [ + 'errorCode' => 'InvalidValue.ExceedsMaximum', + 'errorMessage' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'description' => 'The value deposited is too large.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidKey.ExceedsCapacity', + 'errorMessage' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidParameters', + 'errorMessage' => 'The specified authentication parameters are invalid.', + 'description' => 'Authentication parameter input error.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'InvalidAccount.NotFound', + 'errorMessage' => 'The specified account does not exist.', + 'description' => 'The specified account does not exist.', + ], + [ + 'errorCode' => 'InvalidNameSpace.NotFound', + 'errorMessage' => 'The specified namespace does not exist.', + 'description' => '', + ], + [ + 'errorCode' => 'InvalidKey.NotFound', + 'errorMessage' => 'The specified key does not exist.', + 'description' => 'The specified key-value pair does not exist.', + ], + ], + 406 => [ + [ + 'errorCode' => 'InvalidNameSpace.Duplicate', + 'errorMessage' => 'The specified namespace already exists.', + 'description' => 'Specified storage space', + ], + [ + 'errorCode' => 'InvalidNameSpace.QuotaFull', + 'errorMessage' => 'The maximum number of namespaces is exceeded.', + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + ], + 429 => [ + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests are submitted.', + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'errorCode' => 'TooQuickRequests', + 'errorMessage' => 'Request for putting or deleting keys are frequently submitted.', + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\",\\n \\"Length\\": \\"4\\",\\n \\"Value\\": \\"test\\"\\n}","type":"json"}]', + 'title' => 'PutKvWithHighCapacity', + 'description' => 'This operation allows you to upload a larger request body than by using [PutKv](~~PutKv~~). For small request bodies, we recommend that you use [PutKv](~~PutKv~~) to minimize the server processing time. This operation must be called by using SDKs. The following sample code uses the Golang SDK and PutKvWithHighCapacityAdvance to call the operation.'."\n" + ."\n" + .' func TestPutKvWithHighCapacity() {'."\n" + .' // Initialize the configurations.'."\n" + .' cfg := new(openapi.Config)'."\n" + .' cfg.SetAccessKeyId("xxxxxxxxx")'."\n" + .' cfg.SetAccessKeySecret("xxxxxxxxxx")'."\n" + .' cli, err := NewClient(cfg)'."\n" + .' if err != nil {'."\n" + .' return err'."\n" + .' }'."\n" + .' runtime := &util.RuntimeOptions{}'."\n" + ."\n" + .' // Construct a request for uploading key-value pairs.'."\n" + .' namespace := "test-put-kv"'."\n" + .' key := "test_PutKvWithHighCapacity_0"'."\n" + .' value := strings.Repeat("t", 10*1024*1024)'."\n" + .' rawReq := &PutKvRequest{'."\n" + .' Namespace: &namespace,'."\n" + .' Key: &key,'."\n" + .' Value: &value,'."\n" + .' }'."\n" + .' payload, err := json.Marshal(rawReq)'."\n" + .' if err != nil {'."\n" + .' return err'."\n" + .' }'."\n" + ."\n" + .' // If the payload is greater than 2 MB, call the PutKvWithHighCapacity operation for upload.'."\n" + .' reqHighCapacity := &PutKvWithHighCapacityAdvanceRequest{'."\n" + .' Namespace: &namespace,'."\n" + .' Key: &key,'."\n" + .' UrlObject: bytes.NewReader([]byte(payload)),'."\n" + .' }'."\n" + ."\n" + .' resp, err := cli.PutKvWithHighCapacityAdvance(reqHighCapacity, runtime)'."\n" + .' if err != nil {'."\n" + .' return err'."\n" + .' }'."\n" + .' return nil'."\n" + .' }'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-09-20T13:49:26.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '2', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PutKvWithHighCapacity', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:PutKvWithHighCapacity', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'write', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'RebuildEdgeContainerAppStagingEnv' => [ + 'summary' => 'Rebuilds the staging environment for containerized applications.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238564', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-88068867578379****', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-3C82-72F8FD6DA2FE', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-3C82-72F8FD6DA2FE\\"\\n}","type":"json"}]', + 'title' => 'RebuildEdgeContainerAppStagingEnv', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'RebuildEdgeContainerAppStagingEnv', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:RebuildEdgeContainerAppStagingEnv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'ResetScheduledPreloadJob' => [ + 'summary' => 'Resets the progress of a scheduled prefetch task and starts the prefetch from the beginning.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239114', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the scheduled prefetch task.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '665d3af3621bccf3fe29e1a4'."\n", + 'title' => '', + ], + ], + ], + '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' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'AliUid' => [ + 'title' => '', + 'description' => 'The ID of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '15685865xxx14622', + ], + 'CreatedAt' => [ + 'title' => '', + 'description' => 'The time when the SQL task was created.'."\n", + 'type' => 'string', + 'example' => '2024-06-02T02:23:26Z', + ], + 'Domains' => [ + 'title' => '', + 'description' => 'The domain names to be prefetched.'."\n", + 'type' => 'string', + 'example' => 'testurl.com', + ], + 'ErrorInfo' => [ + 'title' => '', + 'description' => 'The error message that is returned.'."\n", + 'type' => 'string', + 'example' => 'invalid domain:test.com', + ], + 'FailedFileOss' => [ + 'title' => '', + 'description' => 'The URL of the OSS object that stores a list of URLs that failed the conditional check for prefetching.'."\n", + 'type' => 'string', + 'example' => 'https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7', + ], + 'FileId' => [ + 'title' => '', + 'description' => 'The ID of the URL list file, which can be used during downloads.'."\n", + 'type' => 'string', + 'example' => '665d3b48621bccf3fe29e1a7', + ], + 'Id' => [ + 'title' => '', + 'description' => 'The ID of the prefetch task.'."\n", + 'type' => 'string', + 'example' => '665d3af3621bccf3fe29e1a4', + ], + 'InsertWay' => [ + 'title' => '', + 'description' => 'The method to submit the URLs to be prefetched.'."\n", + 'type' => 'string', + 'example' => 'oss', + 'enum' => [ + 'file', + 'url', + ], + ], + 'Name' => [ + 'title' => '', + 'description' => 'The delivery project name.'."\n", + 'type' => 'string', + 'example' => 'example', + ], + 'SiteId' => [ + 'title' => '', + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '190007158391808', + ], + 'TaskSubmitted' => [ + 'title' => '', + 'description' => 'The number of submitted prefetch tasks.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'TaskType' => [ + 'title' => '', + 'description' => 'The task type. Valid values: refresh and preload.'."\n", + 'type' => 'string', + 'example' => 'preload', + 'enum' => [ + 'preload', + 'refresh', + 'path', + ], + ], + 'UrlCount' => [ + 'title' => '', + 'description' => 'The total number of URLs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'UrlSubmitted' => [ + 'title' => '', + 'description' => 'The number of submitted URLs.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidJob.JobCountOfSiteFull', + 'errorMessage' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectId', + 'errorMessage' => 'Invalid task ID or execution plan ID.', + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'errorCode' => 'MissingOssUrl', + 'errorMessage' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'errorCode' => 'MissingUrlList', + 'errorMessage' => 'Enter the URLs you want to prefetch.', + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUid.PermissionDenied', + 'errorMessage' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + ], + [ + [ + 'errorCode' => 'InvalidJob.NotFound', + 'errorMessage' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'errorCode' => 'LogNotFound', + 'errorMessage' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'errorCode' => 'InvalidExecution.NotFound', + 'errorMessage' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"AliUid\\": \\"15685865xxx14622\\",\\n \\"CreatedAt\\": \\"2024-06-02T02:23:26Z\\",\\n \\"Domains\\": \\"testurl.com\\",\\n \\"ErrorInfo\\": \\"invalid domain:test.com\\",\\n \\"FailedFileOss\\": \\"https://xxxobject.oss-cn-reginon.aliyuncs.com/9d91_xxxxxxxxxxx_158bb6e0f97c477791209bb46bd599f7\\",\\n \\"FileId\\": \\"665d3b48621bccf3fe29e1a7\\",\\n \\"Id\\": \\"665d3af3621bccf3fe29e1a4\\",\\n \\"InsertWay\\": \\"oss\\",\\n \\"Name\\": \\"example\\",\\n \\"SiteId\\": 190007158391808,\\n \\"TaskSubmitted\\": 1,\\n \\"TaskType\\": \\"preload\\",\\n \\"UrlCount\\": 2,\\n \\"UrlSubmitted\\": 1\\n}","type":"json"}]', + 'title' => 'ResetScheduledPreloadJob', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ResetScheduledPreloadJob', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:ResetScheduledPreloadJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'RevokeClientCertificate' => [ + 'summary' => 'Revokes an activated client certificate.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239109', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1234567890123', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com'."\n", + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A123425345', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 1234567890123,\\n \\"SiteName\\": \\"example.com\\\\n\\",\\n \\"Id\\": \\"baba39055622c008b90285a8838ed09a\\",\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A123425345\\"\\n}","type":"json"}]', + 'title' => 'RevokeClientCertificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'RevokeClientCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:RevokeClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'RollbackEdgeContainerAppVersion' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239284', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The application ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'app-88068867578379****', + 'maxLength' => 64, + 'minLength' => 20, + ], + ], + [ + 'name' => 'VersionId', + 'in' => 'query', + 'schema' => [ + 'title' => '', + 'description' => 'The ID of version that you want to roll back.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ver-87962637161651****', + 'maxLength' => 64, + 'minLength' => 20, + ], + ], + [ + 'name' => 'Remarks', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The remarks.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test rollback app', + 'maxLength' => 1024, + ], + ], + [ + 'name' => 'UsedPercent', + 'in' => 'query', + 'schema' => [ + 'description' => 'Indicates whether to use percentage-based rollback.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'Percentage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The adjusted publish percentage. Valid values: **1–100**. Default value: **0**.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter.VersionId', + 'errorMessage' => 'The specified VersionId is invalid.  Please check the VersionId parameter. You may not have entered the parameter or the parameter does not start with ver-string. Please modify it and call the interface again.', + 'description' => 'The VersionId parameter is invalid. Please check the VersionId parameter. You may not have entered the parameter or the parameter does not start with ver-string. Please modify it and call the interface again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'Roll Back Edge Container Application', + 'summary' => 'Roll back a specific version of an edge container application. You can use this API to quickly revert an abnormal version and minimize losses.', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-08T08:08:06.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'RollbackEdgeContainerAppVersion', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:RollbackEdgeContainerAppVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\"\\n}","type":"json"}]', + ], + 'SetCertificate' => [ + 'summary' => 'Used to configure whether to enable the certificate feature for a site and update certificate information. ', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239628', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'yourCertName', + 'maxLength' => 128, + 'title' => '', + ], + ], + [ + 'name' => 'CasId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate ID on Certificate Management Service.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '30000478'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate type. Valid values:'."\n" + ."\n" + .'* cas: a certificate purchased by using Certificate Management Service.'."\n" + .'* upload: a custom certificate that you upload.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cas', + 'enum' => [ + 'cas', + 'upload', + 'keyless', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Certificate', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate content.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + ], + [ + 'name' => 'PrivateKey', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The private key of the certificate.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '-----BEGIN PRIVATE KEY-----', + 'title' => '', + ], + ], + [ + 'name' => 'Region', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The region.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate ID on ESA.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'babae7c40fef412d887688b91c9e****', + 'title' => '', + ], + ], + [ + 'name' => 'KeyServerId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Keyless server ID. This parameter is valid only when Type is keyless. ', + 'type' => 'string', + 'required' => false, + 'example' => '1233112****', + 'title' => '', + ], + ], + ], + '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' => 'A666D44F-19D6-490E-97CF-1A64AB962C57', + ], + 'Id' => [ + 'type' => 'string', + 'description' => 'The certificate ID.'."\n", + 'example' => 'babae7c40fef412d887688b91c9e****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'Certificate.Duplicated', + 'errorMessage' => 'The certificate name already exists.', + 'description' => 'The certificate is duplicated.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidCertificate.NotFound', + 'errorMessage' => 'The specified certificate does not match the website. Check the validity of the certificate and try again.', + 'description' => 'The specified certificate does not match the website. Check the validity of the certificate and try again.', + ], + [ + 'errorCode' => 'InvalidSSLPub', + 'errorMessage' => 'The specified Certificate is invalid.', + 'description' => 'The value specified for the Certificate parameter is invalid.', + ], + [ + 'errorCode' => 'InvalidSSLPri', + 'errorMessage' => 'The specified PrivateKey is invalid.', + 'description' => 'The value specified for the PrivateKey parameter is invalid.', + ], + [ + 'errorCode' => 'CasId.MissingParameter', + 'errorMessage' => 'The CasId parameter is required.', + 'description' => 'The CasId parameter is missing.', + ], + [ + 'errorCode' => 'PrivateKey.MissingParameter', + 'errorMessage' => 'The PrivateKey parameter is required.', + 'description' => 'Missing PrivateKey parameter.', + ], + [ + 'errorCode' => 'Certificate.MissingParameter', + 'errorMessage' => 'The Certificate parameter is required.', + 'description' => 'Missing Certificate parameter.', + ], + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'UpdateFreeCertificate.NotSupport', + 'errorMessage' => 'The free certificate does not support the update operation.', + 'description' => 'The free certificate does not support the update operation.', + ], + [ + 'errorCode' => 'CertificateDomainNotMatchSite', + 'errorMessage' => 'The domain name in the specified certificate does not match the site.', + 'description' => 'The domain name in the certificate does not match the current site.', + ], + [ + 'errorCode' => 'CertificateNotMatchPrivateKey', + 'errorMessage' => 'The specified certificate does not match the private key.', + 'description' => 'The specified certificate and private key do not match.', + ], + [ + 'errorCode' => 'CertQuotaCheckFailed', + 'errorMessage' => 'The custom certificate quota verification failed. The number of uploaded certificates exceeds the upper limit allowed for the plan.', + 'description' => 'The custom certificate quota verification failed. The number of uploaded certificates exceeds the upper limit allowed for the plan.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"A666D44F-19D6-490E-97CF-1A64AB962C57\\",\\n \\"Id\\": \\"babae7c40fef412d887688b91c9e****\\"\\n}","type":"json"}]', + 'title' => 'Configure Site Certificate ', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-13T01:37:33.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-01-09T05:44:49.000Z', + 'description' => 'Response parameters changed', + ], + [ + 'createdAt' => '2024-10-15T03:45:00.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-10-03T13:48:40.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T09:53:46.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-06T06:59:01.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'SetCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:SetCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'translator' => 'machine', + ], + 'SetClientCertificateHostnames' => [ + 'summary' => 'Attach a domain name to the specified client CA certificate. If no certificate is specified, the domain name is attached to the ESA CA certificate.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239185', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Hostnames', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The domain names to associate.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'www.example.com', + 'title' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The ID of the client CA certificate.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'babab9db65ee5efcca9f3d41d4b50d**', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456789****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com ', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The ID of the client CA certificate.'."\n", + 'type' => 'string', + 'example' => 'babab9db65ee5efcca9f3d41d4b50d**', + 'title' => '', + ], + 'Hostnames' => [ + 'description' => 'List of attached domain names.', + 'type' => 'array', + 'items' => [ + 'description' => 'Domain name.', + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'ET5BF670-09D5-4D0B-BEBY-D96A2A528000', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.Function', + 'errorMessage' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + 'description' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + [ + [ + 'errorCode' => 'Certificate.NotFound', + 'errorMessage' => 'The specified certificate does not exist.', + 'description' => 'The specified certificate does not exist.', + ], + ], + ], + 'title' => 'Set domain name binding for client certificate', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-13T09:10:44.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'SetClientCertificateHostnames', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:SetClientCertificateHostnames', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"SiteId\\": 0,\\n \\"SiteName\\": \\"example.com \\",\\n \\"Id\\": \\"babab9db65ee5efcca9f3d41d4b50d**\\",\\n \\"Hostnames\\": [\\n \\"www.example.com\\"\\n ],\\n \\"RequestId\\": \\"ET5BF670-09D5-4D0B-BEBY-D96A2A528000\\"\\n}","type":"json"}]', + ], + 'SetDdosMaxBurstGbps' => [ + 'summary' => 'Sets the maximum burstable protection bandwidth for a DDoS instance in mainland China.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '254004', + 'abilityTreeNodes' => [ + 'FEATUREdcdn5DYCZJ', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the instance. You can call the [ListUserRatePlanInstances](~~2852398~~) operation to obtain the instance ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'esa-site-ads11w', + 'title' => '', + ], + ], + [ + 'name' => 'MaxBurstGbps', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum burstable protection bandwidth for the DDoS instance in mainland China. The unit is Gbps.', + 'type' => 'string', + 'required' => true, + 'example' => '300', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request. Alibaba Cloud generates this unique ID for each request. Use the ID to troubleshoot issues.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + 'description' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'PlanNotSupportCnDdos', + 'errorMessage' => 'The plan corresponding to the current instance does not include ddos platform protection in mainland China, so the DDOS elastic protection value cannot be set. Please upgrade the package and try again.', + 'description' => 'The plan corresponding to the current instance does not include ddos platform protection in mainland China, so the DDOS elastic protection value cannot be set. Please upgrade the package and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'SetDdosMaxBurstGbps', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\"\\n}","type":"json"}]', + ], + 'SetHttpDDoSAttackIntelligentProtection' => [ + 'summary' => 'Configures smart HTTP DDoS protection.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239326', + 'abilityTreeNodes' => [ + 'FEATUREdcdnO1ZP9O', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'AiMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The mode of smart HTTP DDoS protection. Valid values:'."\n" + ."\n" + .'* **observe**: alert.'."\n" + .'* **defense**: block.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'defense', + 'enum' => [ + 'observe', + 'defense', + ], + 'title' => '', + ], + ], + [ + 'name' => 'AiTemplate', + 'in' => 'query', + 'schema' => [ + 'description' => 'The level of smart HTTP DDoS protection. Valid values:'."\n" + ."\n" + .'* **level0**: very loose.'."\n" + .'* **level30**: loose.'."\n" + .'* **level60**: normal.'."\n" + .'* **level90**: strict.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'level60', + 'enum' => [ + 'level30', + 'level60', + 'level90', + 'level0', + ], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '156A6B-677B1A-4297B7-9187B7-2B44792', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****', + 'title' => '', + ], + 'AiMode' => [ + 'description' => 'The mode of smart HTTP DDoS protection. Valid values:'."\n" + ."\n" + .'* **observe**: alert.'."\n" + .'* **defense**: block.'."\n", + 'type' => 'string', + 'example' => 'defense', + 'title' => '', + ], + 'AiTemplate' => [ + 'description' => 'The level of smart HTTP DDoS protection. Valid values:'."\n" + ."\n" + .'* **level0**: very loose.'."\n" + .'* **level30**: loose.'."\n" + .'* **level60**: normal.'."\n" + .'* **level90**: strict.'."\n", + 'type' => 'string', + 'example' => 'level60', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'ErrSiteIdNoteEnterprise', + 'errorMessage' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + 'description' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + ], + ], + 403 => [ + [ + 'errorCode' => 'SiteIdDDoSVersionCheckFailed', + 'errorMessage' => 'SiteId DDoS version check failed.', + 'description' => 'Failed to check the DDoS version corresponding to the site.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'SetHttpDDoSAttackIntelligentProtection', + 'changeSet' => [ + [ + 'createdAt' => '2024-11-19T03:35:34.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'SetHttpDDoSAttackIntelligentProtection', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:SetHttpDDoSAttackIntelligentProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\",\\n \\"SiteId\\": 0,\\n \\"AiMode\\": \\"defense\\",\\n \\"AiTemplate\\": \\"level60\\"\\n}","type":"json"}]', + ], + 'SetHttpDDoSAttackProtection' => [ + 'summary' => 'Configures HTTP DDoS attack protection for a website.', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239030', + 'abilityTreeNodes' => [ + 'FEATUREdcdn5DYCZJ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'GlobalMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The level of HTTP DDoS attack protection. Valid values:'."\n" + ."\n" + .'* **very weak**: very loose.'."\n" + .'* **weak**: loose.'."\n" + .'* **default**: normal.'."\n" + .'* **hard**: strict.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'default', + 'enum' => [ + 'weak', + 'default', + 'hard', + 'very weak', + ], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D248E', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '123456****', + 'title' => '', + ], + 'GlobalMode' => [ + 'description' => 'The level of HTTP DDoS attack protection.'."\n", + 'type' => 'string', + 'example' => 'default'."\n", + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'ErrSiteIdNoteEnterprise', + 'errorMessage' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + 'description' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + ], + ], + 403 => [ + [ + 'errorCode' => 'SiteIdDDoSVersionCheckFailed', + 'errorMessage' => 'SiteId DDoS version check failed.', + 'description' => 'Failed to check the DDoS version corresponding to the site.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D248E\\",\\n \\"SiteId\\": 0,\\n \\"GlobalMode\\": \\"default\\\\n\\"\\n}","type":"json"}]', + 'title' => 'SetHttpDDoSAttackProtection', + 'changeSet' => [ + [ + 'createdAt' => '2024-11-19T03:35:34.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'SetHttpDDoSAttackProtection', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:SetHttpDDoSAttackProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'SetHttpDDoSAttackRuleAction' => [ + 'summary' => 'Set the Protection Action for Specified HTTP DDoS Attack Rules', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '263689', + 'abilityTreeNodes' => [ + 'FEATUREdcdn5DYCZJ', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'List of rule IDs to be operated on, separated by English commas (,).'."\n" + .'> You can call the [DescribeHttpDDoSAttackRules](~~DescribeHttpDDoSAttackRules~~) API to get this parameter.', + 'type' => 'string', + 'required' => true, + 'minLength' => 1, + 'example' => '100000', + 'title' => '', + ], + ], + [ + 'name' => 'RuleAction', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule action, with values:'."\n" + ."\n" + .'- **deny**: Block.'."\n" + ."\n" + .'- **js**: JS Verification.'."\n" + ."\n" + .'- **observe**: Observe.', + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'deny', + 'js', + 'observe', + ], + 'example' => 'js', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response Schema', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID', + 'type' => 'string', + 'example' => 'C370DAF1-C838-4288-A1A0-9A87633D2***', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'The specified SiteId is invalid.', + 'description' => 'The specified SiteId is invalid.Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'ErrSiteIdNoteEnterprise', + 'errorMessage' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + 'description' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + ], + ], + 403 => [ + [ + 'errorCode' => 'SiteIdDDoSVersionCheckFailed', + 'errorMessage' => 'SiteId DDoS version check failed.', + 'description' => 'Failed to check the DDoS version corresponding to the site.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'Set the Protection Action for Specified HTTP DDoS Attack Rules', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:SetHttpDDoSAttackRuleAction', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C370DAF1-C838-4288-A1A0-9A87633D2***\\"\\n}","type":"json"}]', + ], + 'SetHttpDDoSAttackRuleStatus' => [ + 'summary' => 'Set the Protection Status of Specified HTTP DDoS Attack Rules', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '263688', + 'abilityTreeNodes' => [ + 'FEATUREdcdn5DYCZJ', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'List of rule IDs to be operated on, separated by English commas (,).'."\n" + .'> You can call the [DescribeHttpDDoSAttackRules](~~DescribeHttpDDoSAttackRules~~) interface to get this parameter.', + 'type' => 'string', + 'required' => true, + 'minLength' => 1, + 'example' => '87570', + 'title' => '', + ], + ], + [ + 'name' => 'Status', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule status'."\n" + ."\n" + .'- **on**: Enable.'."\n" + .'- **off**: Disable.', + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response schema', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'ID of the request', + 'type' => 'string', + 'example' => 'F7B84CF8-F8A4-53F8-9B91-2643FD72042B', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'The specified SiteId is invalid.', + 'description' => 'The specified SiteId is invalid.Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'ErrSiteIdNoteEnterprise', + 'errorMessage' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + 'description' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + ], + ], + 403 => [ + [ + 'errorCode' => 'SiteIdDDoSVersionCheckFailed', + 'errorMessage' => 'SiteId DDoS version check failed.', + 'description' => 'Failed to check the DDoS version corresponding to the site.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'Set the Protection Status of Specified HTTP DDoS Attack Rules', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:SetHttpDDoSAttackRuleStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"F7B84CF8-F8A4-53F8-9B91-2643FD72042B\\"\\n}","type":"json"}]', + ], + 'SetOriginClientCertificateHostnames' => [ + 'summary' => 'Attach domain names to the origin fetch client certificate at the domain name granularity.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261756', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'babaabcd****', + 'title' => '', + ], + ], + [ + 'name' => 'Hostnames', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The domain names to associate.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'www.example.com', + 'title' => '', + ], + 'required' => true, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The ID of the client certificate.', + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'SiteName' => [ + 'description' => 'The website name.'."\n", + 'type' => 'string', + 'example' => 'example.com', + 'title' => '', + ], + 'Hostnames' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SiteId' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'example' => '123456789****', + 'format' => 'int64', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.Function', + 'errorMessage' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + 'description' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'Id.MissingParameter', + 'errorMessage' => 'The parameter Id is required.', + 'description' => 'The required parameter Id is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Attach domain names to the origin fetch client certificate at the domain name granularity.', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-31T09:21:09.000Z', + 'description' => 'Response parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'SetOriginClientCertificateHostnames', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:SetOriginClientCertificateHostnames', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"Id\\": \\"babaabcd****\\",\\n \\"SiteName\\": \\"example.com\\",\\n \\"Hostnames\\": [\\n \\"www.example.com\\"\\n ],\\n \\"SiteId\\": 0\\n}","type":"json"}]', + ], + 'StartScheduledPreloadExecution' => [ + 'summary' => 'Starts a scheduled prefetch plan based on the plan ID.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239332', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the prefetch plan.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '665d3b48621bccf3fe29e1a7', + 'title' => '', + ], + ], + ], + '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' => '65C66B7B-671A-8297-9187-2R5477247B76', + ], + 'Id' => [ + 'description' => 'The ID of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '665d3b48621bccf3fe29e1a7', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The start time of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '2024-05-31T17:10:48.849+08:00', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '2024-05-31T18:10:48.849+08:00', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'The time interval between each batch execution. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + 'SliceLen' => [ + 'description' => 'The number of URLs prefetched in each batch.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the prefetch plan. Valid values:'."\n" + ."\n" + .'* **waiting**'."\n" + .'* **running**'."\n" + .'* **finished**'."\n" + .'* **failed**'."\n" + .'* **stopped**', + 'type' => 'string', + 'example' => 'waiting', + 'title' => '', + ], + 'JobId' => [ + 'description' => 'The ID of the prefetch task.'."\n", + 'type' => 'string', + 'example' => '665d3af3621bccf3fe29e1a4', + 'title' => '', + ], + 'AliUid' => [ + 'description' => 'The ID of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '15685865xxx14622', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidJob.JobCountOfSiteFull', + 'errorMessage' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectId', + 'errorMessage' => 'Invalid task ID or execution plan ID.', + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'errorCode' => 'MissingOssUrl', + 'errorMessage' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'errorCode' => 'MissingUrlList', + 'errorMessage' => 'Enter the URLs you want to prefetch.', + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUid.PermissionDenied', + 'errorMessage' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + ], + [ + [ + 'errorCode' => 'InvalidJob.NotFound', + 'errorMessage' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'errorCode' => 'LogNotFound', + 'errorMessage' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'errorCode' => 'InvalidExecution.NotFound', + 'errorMessage' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"65C66B7B-671A-8297-9187-2R5477247B76\\",\\n \\"Id\\": \\"665d3b48621bccf3fe29e1a7\\",\\n \\"StartTime\\": \\"2024-05-31T17:10:48.849+08:00\\",\\n \\"EndTime\\": \\"2024-05-31T18:10:48.849+08:00\\",\\n \\"Interval\\": 60,\\n \\"SliceLen\\": 10,\\n \\"Status\\": \\"waiting\\",\\n \\"JobId\\": \\"665d3af3621bccf3fe29e1a4\\",\\n \\"AliUid\\": \\"15685865xxx14622\\"\\n}","type":"json"}]', + 'title' => 'StartScheduledPreloadExecution', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'StartScheduledPreloadExecution', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:StartScheduledPreloadExecution', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'StopScheduledPreloadExecution' => [ + 'summary' => 'Stops a scheduled prefetch plan based on the plan ID.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239019', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the prefetch plan.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '66599bd7397885b43804901c', + 'title' => '', + ], + ], + ], + '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' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + 'Id' => [ + 'description' => 'The ID of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '66599bd7397885b43804901c', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The start time of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '2024-05-31T17:10:48.849+08:00', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '2024-05-31T18:10:48.849+08:00', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'The time interval between each batch execution in the plan. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + 'SliceLen' => [ + 'description' => 'The number of URLs prefetched in each batch.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the prefetch plan. Valid values:'."\n" + ."\n" + .'* **waiting**'."\n" + .'* **running**'."\n" + .'* **finished**'."\n" + .'* **failed**'."\n" + .'* **stopped**', + 'type' => 'string', + 'example' => 'stopped', + 'title' => '', + ], + 'JobId' => [ + 'description' => 'The ID of the prefetch task.'."\n", + 'type' => 'string', + 'example' => '665d3af3621bccf3fe29e1a4', + 'title' => '', + ], + 'AliUid' => [ + 'description' => 'The ID of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '15685865xxx14622', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidJob.JobCountOfSiteFull', + 'errorMessage' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectId', + 'errorMessage' => 'Invalid task ID or execution plan ID.', + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'errorCode' => 'MissingOssUrl', + 'errorMessage' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'errorCode' => 'MissingUrlList', + 'errorMessage' => 'Enter the URLs you want to prefetch.', + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUid.PermissionDenied', + 'errorMessage' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + ], + [ + [ + 'errorCode' => 'InvalidJob.NotFound', + 'errorMessage' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'errorCode' => 'LogNotFound', + 'errorMessage' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'errorCode' => 'InvalidExecution.NotFound', + 'errorMessage' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\",\\n \\"Id\\": \\"66599bd7397885b43804901c\\",\\n \\"StartTime\\": \\"2024-05-31T17:10:48.849+08:00\\",\\n \\"EndTime\\": \\"2024-05-31T18:10:48.849+08:00\\",\\n \\"Interval\\": 60,\\n \\"SliceLen\\": 10,\\n \\"Status\\": \\"stopped\\",\\n \\"JobId\\": \\"665d3af3621bccf3fe29e1a4\\",\\n \\"AliUid\\": \\"15685865xxx14622\\"\\n}","type":"json"}]', + 'title' => 'StopScheduledPreloadExecution', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'StopScheduledPreloadExecution', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:StopScheduledPreloadExecution', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'TagResources' => [ + 'summary' => 'Adds one or more tags to resources.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238938', + 'abilityTreeNodes' => [ + 'FEATUREdcdn6S5O3S', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The region ID. Valid values:'."\n" + ."\n" + .'* China site (aliyun.com): cn-hangzhou'."\n" + .'* International site (alibabacloud.com): ap-southeast-1'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + 'title' => '', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The resource ID. Enter a website ID or DNS record ID.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The resource ID. Enter a website ID or DNS record ID.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'required' => true, + 'maxItems' => 51, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The tags that you want to add to the resource. You can enter up to 20 tags.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The tags that you want to add to the resource. You can enter up to 20 tags.'."\n", + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'title' => '', + 'description' => 'The tag keys.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'env', + ], + 'Value' => [ + 'title' => '', + 'description' => 'The tag value.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'value', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => true, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The type of the resource. Valid values:'."\n" + ."\n" + .'* Site: **site**'."\n" + .'* DNS records: **record**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'site', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '156A6B-677B1A-4297B7-9187B7-2B44792', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + [ + 'errorCode' => 'Record.NotFound', + 'errorMessage' => 'The record does not exist. Check your configurations and try again.', + 'description' => 'The record does not exist. Check your configurations and try again.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\"\\n}","type":"json"}]', + 'title' => 'TagResources', + 'changeSet' => [ + [ + 'createdAt' => '2025-08-21T07:40:23.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'TagResources', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'UntagResources' => [ + 'summary' => 'Deletes a resource tag based on a specified resource ID.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239579', + 'abilityTreeNodes' => [ + 'FEATUREdcdn6S5O3S', + ], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the region where the resources reside. Set the value to **cn-hangzhou**.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + 'title' => '', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The ID of resource N. Valid values of N: **1** to **50**.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The ID of resource N. Valid values of N: **1** to **50**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + 'title' => '', + ], + 'required' => true, + 'maxItems' => 51, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'description' => 'The key of tag N to remove from the resource. Valid values of N: **1** to **20**.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The key of tag N to remove from the resource. Valid values of N: **1** to **20**.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'env', + 'title' => '', + ], + 'required' => false, + 'maxItems' => 21, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The resource type.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'site', + 'title' => '', + ], + ], + [ + 'name' => 'All', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'Specifies whether to remove all tags. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n" + ."\n" + .'Default value: **false**.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '85H66C7B-671A-4297-9187-2C4477247A74', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 404 => [ + [ + 'errorCode' => 'InvalidResourceId.NotFound', + 'errorMessage' => 'The specified resource does not exist or is released.', + 'description' => 'The resource does not exist or has been released.', + ], + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + [ + 'errorCode' => 'Record.NotFound', + 'errorMessage' => 'The record does not exist. Modify it and try again.', + 'description' => 'The record does not exist. Modify it and try again.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"85H66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + 'title' => 'UntagResources', + 'changeSet' => [ + [ + 'createdAt' => '2025-08-21T07:40:23.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:40.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UntagResources', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'UpdateCacheReserveSpec' => [ + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '249938', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Instance ID.', + 'type' => 'string', + 'required' => false, + 'example' => 'esa-cr-9tuv*********', + 'title' => '', + ], + ], + [ + 'name' => 'TargetQuotaGb', + 'in' => 'query', + 'schema' => [ + 'description' => 'Cache requested size, in GB.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1000', + 'title' => '', + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'Billing type. Valid values:'."\n" + .'- PREPAY'."\n" + .'- POSTPAY', + 'enumValueTitles' => [ + 'PREPAY' => 'PREPAY', + 'POSTPAY' => 'POSTPAY', + ], + 'type' => 'string', + 'required' => false, + 'example' => 'PREPAY', + 'title' => '', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => 'Automatic payment.', + 'type' => 'boolean', + 'default' => 'false', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response structure.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '40423A7F-A83D-1E24-B80E-86DD25790759'."\n", + ], + 'OrderId' => [ + 'description' => 'Order ID.', + 'type' => 'string', + 'example' => '2223332122***'."\n", + 'title' => '', + ], + 'InstanceId' => [ + 'description' => 'Instance ID.', + 'type' => 'string', + 'example' => 'esa-cr-9tuv*********', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'CheckPlanFailed', + 'errorMessage' => 'Invalid plan name or code. Check and try again.', + 'description' => 'Invalid plan name or code. Check and try again.', + ], + [ + 'errorCode' => 'InvalidSiteICP', + 'errorMessage' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + 'description' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + ], + [ + 'errorCode' => 'InvalidSiteName', + 'errorMessage' => 'Invalid website name. Check and try again.', + 'description' => 'Invalid website name. Check and try again.', + ], + [ + 'errorCode' => 'SYSTEM.NoSpecificCodeFailed', + 'errorMessage' => 'Invalid subscription duration. Check and try again.', + 'description' => 'Invalid subscription duration. Check and try again.', + ], + [ + 'errorCode' => 'Order.InstanceHasUnpaidOrder', + 'errorMessage' => 'You have an unpaid order. Complete the payment or cancel the order first.', + 'description' => 'You have an unpaid order. Complete the payment or cancel the order first.', + ], + [ + 'errorCode' => 'InvalidInstance', + 'errorMessage' => 'The instance ID is missing or invalid. Make sure that the instance ID is valid and try again.', + 'description' => 'The instance ID is missing or invalid. Make sure that the instance ID is valid and try again.', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account balance is insufficient.', + 'description' => 'Your account balance is insufficient, please recharge before purchasing.', + ], + [ + 'errorCode' => 'InsufficientAvailableQuota', + 'errorMessage' => 'Your account balance is insufficient.', + 'description' => 'Your account is in arrears, please pay the arrears before purchasing.', + ], + [ + 'errorCode' => 'UpdowngradeConfigNoChange', + 'errorMessage' => 'Failed to change the configuration because the new configuration you specified is the same as the current one in use. Specify a correct configuration and try again.', + 'description' => 'The configuration for the upgrade or downgrade is not changed.', + ], + [ + 'errorCode' => 'InvalidComponent', + 'errorMessage' => 'The order parameters is invalid.', + 'description' => 'The order parameters is invalid.', + ], + [ + 'errorCode' => 'RamAuthFailed', + 'errorMessage' => 'The sub-account has no operation permission.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Cache Reserve Specification Change', + 'summary' => 'Cache Reserve Specification Change', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCacheReserveSpec', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UpdateCacheReserveSpec', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"40423A7F-A83D-1E24-B80E-86DD25790759\\\\n\\",\\n \\"OrderId\\": \\"2223332122***\\\\n\\",\\n \\"InstanceId\\": \\"esa-cr-9tuv*********\\"\\n}","type":"json"}]', + ], + 'UpdateCacheRule' => [ + 'summary' => 'Modify cache configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257965', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")', + 'title' => '', + ], + ], + [ + 'name' => 'BypassCache', + 'in' => 'query', + 'schema' => [ + 'description' => 'Set bypass cache mode. Value range:'."\n" + .'- cache_all: Cache all requests.'."\n" + .'- bypass_all: Bypass cache for all requests.', + 'type' => 'string', + 'required' => false, + 'example' => 'cache_all', + 'title' => '', + ], + ], + [ + 'name' => 'BrowserCacheMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Browser cache mode. Value range:'."\n" + .'- no_cache: Do not cache.'."\n" + .'- follow_origin: Follow origin cache policy.'."\n" + .'- override_origin: Override origin cache policy.', + 'type' => 'string', + 'required' => false, + 'example' => 'no_cache', + 'title' => '', + ], + ], + [ + 'name' => 'BrowserCacheTtl', + 'in' => 'query', + 'schema' => [ + 'description' => 'Browser cache expiration time, in seconds.', + 'type' => 'string', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + ], + [ + 'name' => 'EdgeCacheMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Edge cache mode. Value range:'."\n" + .'- follow_origin: Follow origin cache policy (if exists), otherwise use the default cache policy.'."\n" + .'- no_cache: Do not cache.'."\n" + .'- override_origin: Override origin cache policy.'."\n" + .'- follow_origin_bypass: Follow origin cache policy (if exists), otherwise do not cache.', + 'type' => 'string', + 'required' => false, + 'example' => 'follow_origin', + 'title' => '', + ], + ], + [ + 'name' => 'EdgeCacheTtl', + 'in' => 'query', + 'schema' => [ + 'description' => 'Edge cache expiration time, in seconds.', + 'type' => 'string', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + ], + [ + 'name' => 'EdgeStatusCodeCacheTtl', + 'in' => 'query', + 'schema' => [ + 'description' => 'Status code cache expiration time, in seconds.', + 'type' => 'string', + 'required' => false, + 'example' => '4xx=10', + 'title' => '', + ], + ], + [ + 'name' => 'SortQueryStringForCache', + 'in' => 'query', + 'schema' => [ + 'description' => 'Query string sorting. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'QueryStringMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The processing mode of query strings when generating cache keys. Values:'."\n" + .'- ignore_all: Ignore all.'."\n" + .'- exclude_query_string: Exclude specified query strings.'."\n" + .'- reserve_all: Default, reserve all.'."\n" + .'- include_query_string: Include specified query strings.', + 'type' => 'string', + 'required' => false, + 'example' => 'ignore_all', + 'title' => '', + ], + ], + [ + 'name' => 'QueryString', + 'in' => 'query', + 'schema' => [ + 'description' => 'Query strings to be retained or excluded, supporting multiple values separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + 'title' => '', + ], + ], + [ + 'name' => 'IncludeHeader', + 'in' => 'query', + 'schema' => [ + 'description' => 'Include the specified header names and their values when generating cache keys, supporting multiple values separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'headername', + 'title' => '', + ], + ], + [ + 'name' => 'IncludeCookie', + 'in' => 'query', + 'schema' => [ + 'description' => 'Include the specified cookie names and their values when generating cache keys, supporting multiple values separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'cookiename', + 'title' => '', + ], + ], + [ + 'name' => 'CacheReserveEligibility', + 'in' => 'query', + 'schema' => [ + 'description' => 'Cache retention eligibility. Used to control whether user requests bypass the cache retention node when returning to the origin. Value range:'."\n" + .'- bypass_cache_reserve: Requests bypass cache retention.'."\n" + .'- eligible_for_cache_reserve: Eligible for cache retention.', + 'type' => 'string', + 'required' => false, + 'example' => 'bypass_cache_reserve', + 'title' => '', + ], + ], + [ + 'name' => 'CheckPresenceHeader', + 'in' => 'query', + 'schema' => [ + 'description' => 'Check if the header exists when generating cache keys, and if it does, add the header name (case-insensitive) to the cache key. Supports multiple header names, separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'headername', + 'title' => '', + ], + ], + [ + 'name' => 'CheckPresenceCookie', + 'in' => 'query', + 'schema' => [ + 'description' => 'Check if the cookie exists when generating cache keys, and if it does, add the cookie name (case-insensitive) to the cache key. Supports multiple cookie names, separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'cookiename', + 'title' => '', + ], + ], + [ + 'name' => 'UserDeviceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'When generating cache keys, include the client device type. Value range: '."\n" + .'- on: enabled. '."\n" + .'- off: disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'UserGeo', + 'in' => 'query', + 'schema' => [ + 'description' => 'Include the client\'s geographical location when generating the cache key. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'UserLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => 'Include the client\'s language type when generating the cache key. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'ServeStale', + 'in' => 'query', + 'schema' => [ + 'description' => 'Serve stale cache. When enabled, the node can still use the expired cached files to respond to user requests even if the origin server is unavailable. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'AdditionalCacheablePorts', + 'in' => 'query', + 'schema' => [ + 'description' => 'Enable caching on specified ports. Value range: 8880, 2052, 2082, 2086, 2095, 2053, 2083, 2087, 2096.', + 'type' => 'string', + 'required' => false, + 'example' => '8880', + 'title' => '', + ], + ], + [ + 'name' => 'CacheDeceptionArmor', + 'in' => 'query', + 'schema' => [ + 'description' => 'Cache deception defense. Used to defend against web cache deception attacks; only the cache content that passes the validation will be cached. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller numeric values are executed first.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PostCache', + 'in' => 'query', + 'schema' => [ + 'description' => 'Toggle for the Post cache feature.', + 'title' => 'Toggle for the Post cache feature.', + 'type' => 'string', + 'example' => 'on', + 'required' => false, + ], + ], + [ + 'name' => 'PostBodySizeLimit', + 'in' => 'query', + 'schema' => [ + 'description' => 'Body size limit. The value is a numeric value in KB. Body sizes from 1 KB to 8 KB are supported. If the value is empty, it defaults to 8 KB.', + 'type' => 'string', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'PostBodyCacheKey', + 'in' => 'query', + 'schema' => [ + 'description' => 'Processing pattern for the cache key.', + 'title' => 'Processing pattern for the cache key.', + 'type' => 'string', + 'example' => 'ignore', + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Modify Site Cache Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCacheRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\"\\n}","type":"json"}]', + ], + 'UpdateCacheTag' => [ + 'summary' => 'Modifies the cache tag configuration of your website. You can call this operation when you need to specify tags in the Cache-Tag response header to use the purge by cache tag feature.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257332', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '5407498413****', + 'title' => '', + ], + ], + [ + 'name' => 'TagName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the custom cache tag.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example', + 'enum' => [], + 'title' => '', + ], + ], + [ + 'name' => 'CaseInsensitive', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to ignore case sensitivity. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the website configurations. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + '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' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\"\\n}","type":"json"}]', + 'title' => 'UpdateCacheTag', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCacheTag', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateCacheTag', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'UpdateCnameFlattening' => [ + 'summary' => 'Modifies the CNAME flattening configuration of a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257389', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'FlattenMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The CNAME flattening mode. Valid values:'."\n" + ."\n" + .'* flatten_all: flattens all CNAMEs.'."\n" + .'* flatten_at_root: flattens only the root domain. Default: flatten_at_root'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'flatten_all', + 'enum' => [ + 'flatten_all', + 'flatten_at_root', + ], + 'title' => '', + ], + ], + ], + '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' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\"\\n}","type":"json"}]', + 'title' => 'UpdateCnameFlattening', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCnameFlattening', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateCnameFlattening', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'UpdateCompressionRule' => [ + 'summary' => 'Modify compression rule', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257664', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '5407498413****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID. It can be obtained by calling the [ListCompressionRules](~~ListCompressionRules~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- To match all incoming requests: Set the value to true'."\n" + .'- To match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'Brotli', + 'in' => 'query', + 'schema' => [ + 'description' => 'Brotli compression. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Gzip', + 'in' => 'query', + 'schema' => [ + 'description' => 'Gzip compression. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Zstd', + 'in' => 'query', + 'schema' => [ + 'description' => 'Zstd compression. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. A smaller numeric value indicates higher priority. ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CE8EB0DE-3267-53D1-AB83-F36377D63FD0', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Modify Compression Rule Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-02-12T02:25:42.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCompressionRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CE8EB0DE-3267-53D1-AB83-F36377D63FD0\\"\\n}","type":"json"}]', + ], + 'UpdateCrossBorderOptimization' => [ + 'summary' => 'Modifies the configuration of the Chinese mainland network access optimization.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257427', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable Chinese mainland network access optimization. By default, it is disabled. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + ], + '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' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'CanNotOpenCrossBorderOptimization', + 'errorMessage' => 'Can not open cross border optimization.', + 'description' => 'Can not open cross border optimization.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'UpdateCrossBorderOptimization', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCrossBorderOptimization', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateCrossBorderOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\"\\n}","type":"json"}]', + ], + 'UpdateCustomHostname' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239650', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4DMKZ4', + ], + ], + 'parameters' => [ + [ + 'name' => 'HostnameId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the SaaS domain name. You can obtain the ID by calling the [ListCustomHostnames](~~3018667~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'title' => '', + 'example' => '1234567890123', + ], + ], + [ + 'name' => 'RecordId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the record to attach. You can obtain the ID by calling the [ListRecords](~~2850265~~) operation.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'title' => '', + 'example' => '1234567890123', + ], + ], + [ + 'name' => 'SslFlag', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The SSL switch.'."\n" + ."\n" + .'- **on**: Enables SSL.'."\n" + ."\n" + .'- **off**: Disables SSL.', + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + 'example' => 'on', + ], + ], + [ + 'name' => 'CertType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The certificate type. This parameter is required when SslFlag is set to on.'."\n" + ."\n" + .'- **free**: Free certificate.'."\n" + ."\n" + .'- **upload**: Uploaded certificate.'."\n" + ."\n" + .'- **cas**: Alibaba Cloud Security certificate.', + 'type' => 'string', + 'enum' => [ + 'free', + 'upload', + 'cas', + ], + 'title' => '', + 'required' => false, + 'example' => 'cas', + ], + ], + [ + 'name' => 'Certificate', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The content of the certificate. This parameter is required when CertType is set to upload.', + 'type' => 'string', + 'title' => '', + 'required' => false, + 'example' => '-----BEGIN CERTIFICATE-----', + ], + ], + [ + 'name' => 'PrivateKey', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The private key of the certificate. This parameter is required when CertType is set to upload.', + 'type' => 'string', + 'title' => '', + 'required' => false, + 'example' => '-----BEGIN PRIVATE KEY-----', + ], + ], + [ + 'name' => 'CasId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the Alibaba Cloud Security certificate. This parameter is required when CertType is set to cas.', + 'type' => 'integer', + 'format' => 'int64', + 'title' => '', + 'required' => false, + 'example' => '30000478'."\n", + ], + ], + [ + 'name' => 'CasRegion', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The region of the Alibaba Cloud Security certificate. This parameter is required when CertType is set to cas.'."\n" + ."\n" + .'- cn-hangzhou: The value for accounts on the Alibaba Cloud China Website (www\\.aliyun.com).'."\n" + ."\n" + .'- ap-southeast-1: The value for accounts on the Alibaba Cloud International Website (www\\.alibabacloud.com).', + 'type' => 'string', + 'title' => '', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + 'description' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'Record.ServiceBusy', + 'errorMessage' => 'The record is being configured. Try again later.', + 'description' => 'The record is being configured. Try again later.', + ], + ], + 404 => [ + [ + 'errorCode' => 'CustomHostname.NotFound', + 'errorMessage' => 'The custom hostname does not exist. Modify it and try again.', + 'description' => 'The custom hostname does not exist. Modify it and try again.', + ], + [ + 'errorCode' => 'CustomHostname.ApplyCertFailed', + 'errorMessage' => 'Fail to apply a free cert for custom hostname. Please try again later.', + 'description' => '', + ], + [ + 'errorCode' => 'CustomHostname.SetCertFailed', + 'errorMessage' => 'Fail to deploy a cert for custom hostname. Please try again later.', + 'description' => '', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'UpdateCustomHostname', + 'summary' => 'Updates the parameters of a Software as a Service (SaaS) domain name, such as the attached record ID and the certificate type.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + ], + 'UpdateCustomResponseCodeRule' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257647', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID. Get it by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '437375513708224', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '352816096987136', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule name. Do not set this parameter when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule switch. Do not set this parameter when adding a global configuration. Valid values:'."\n" + ."\n" + .'- on: Enable the rule.'."\n" + ."\n" + .'- off: Disable the rule.', + 'type' => 'string', + 'enum' => [ + 'on', + 'off', + ], + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule content. Use a conditional expression to match user requests. Do not set this parameter when adding a global configuration. There are two scenarios:'."\n" + ."\n" + .'- Match all incoming requests: Set the value to \\`true\\`.'."\n" + ."\n" + .'- Match specific requests: Set the value to a custom expression, such as: \\`(http.host eq "video.example.com")\\`.', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule execution order. A smaller value indicates higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'ReturnCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The response code.', + 'type' => 'string', + 'required' => false, + 'example' => '200', + 'title' => '', + ], + ], + [ + 'name' => 'PageId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The response page.', + 'type' => 'string', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => 'C7518056-E30F-55F8-97DD-004D8030703B', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'InvalidValOfDelHeader', + 'errorMessage' => 'The delete header operation does not support setting value.', + 'description' => 'The delete header operation does not support setting value.', + ], + [ + 'errorCode' => 'SiteFunction.WafPageNotExist', + 'errorMessage' => 'The custom page referenced in the custom response code configuration does not exist.', + 'description' => 'The custom page referenced in the custom response code configuration does not exist.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'UpdateCustomResponseCodeRule', + 'summary' => 'Modify the response code configuration for a site.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"C7518056-E30F-55F8-97DD-004D8030703B\\"\\n}","type":"json"}]', + ], + 'UpdateCustomScenePolicy' => [ + 'summary' => 'Modify the specified scenario-specific policy configuration information. ', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239280', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The policy name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test', + 'maxLength' => 128, + 'title' => '', + ], + ], + [ + 'name' => 'Template', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the policy template. Valid value:'."\n" + ."\n" + .'* **promotion**: major events.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'promotion', + 'enum' => [ + 'promotion', + ], + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time when the policy takes effect.'."\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' => '2023-04-03T16:00:00Z', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The time when the policy expires.'."\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' => '2023-04-03T19:00:00Z'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'Objects', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IDs of the websites that you want to associate with the policy. Separate multiple IDs with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '123456****,123457****'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'PolicyId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The policy ID, which can be obtained by calling the [DescribeCustomScenePolicies](~~2850508~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'minimum' => '1', + 'exclusiveMinimum' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'SiteIds', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site IDs to associate, separated by commas (,). ', + 'type' => 'string', + 'title' => '', + 'required' => false, + 'example' => '123456****,123457****'."\n", + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + 'Name' => [ + 'description' => 'The policy name.'."\n", + 'type' => 'string', + 'example' => 'test', + 'title' => '', + ], + 'Template' => [ + 'description' => 'The name of the policy template. Valid value:'."\n" + ."\n" + .'* **promotion**: major events.'."\n", + 'type' => 'string', + 'example' => 'promotion', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The time when the policy takes effect.'."\n" + ."\n" + .'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' => '2023-04-03T16:00:00Z'."\n", + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The time when the policy expires.'."\n" + ."\n" + .'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' => '2023-04-03T19:00:00Z'."\n", + 'title' => '', + ], + 'Objects' => [ + 'description' => 'The IDs of websites associated.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'string', + 'example' => '123456****', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PolicyId' => [ + 'description' => 'The policy ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1', + 'title' => '', + ], + 'SiteIds' => [ + 'description' => 'The site IDs to associate, separated by commas (,). ', + 'type' => 'string', + 'example' => '123456****,123457****'."\n", + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'PolicyNameExist', + 'errorMessage' => 'The policy name already exists.', + 'description' => 'Policy name already exists.', + ], + [ + 'errorCode' => 'CreateTimeError', + 'errorMessage' => 'The effective time of the same policy template cannot overlap.', + 'description' => 'The effective time of the same policy template cannot overlap.', + ], + [ + 'errorCode' => 'PolicyNotExist', + 'errorMessage' => 'The policy does not exist.', + 'description' => 'The policy does not exist. ', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectsAndSiteIds', + 'errorMessage' => 'The specified Objects and SiteIds variables cannot both be empty strings.', + 'description' => 'The specified Objects and SiteIds variables cannot both be empty strings.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'title' => 'Modify a scenario-specific policy ', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-03T09:31:40.000Z', + 'description' => 'Error codes changed, Request parameters changed, Response parameters changed', + ], + [ + 'createdAt' => '2025-03-12T02:36:32.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCustomScenePolicy', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:UpdateCustomScenePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\",\\n \\"Name\\": \\"test\\",\\n \\"Template\\": \\"promotion\\",\\n \\"StartTime\\": \\"2023-04-03T16:00:00Z\\\\n\\",\\n \\"EndTime\\": \\"2023-04-03T19:00:00Z\\\\n\\",\\n \\"Objects\\": [\\n \\"123456****\\"\\n ],\\n \\"PolicyId\\": 1,\\n \\"SiteIds\\": \\"123456****,123457****\\\\n\\"\\n}","type":"json"}]', + ], + 'UpdateDevelopmentMode' => [ + 'summary' => 'Modifies the development mode configuration of your website. If you enable Development Mode, all requests bypass caching components on POPs and are redirected to the origin server. This allows clients to retrieve the most recent resources on the origin server.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257405', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable Development Mode. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'enum' => [], + 'title' => '', + ], + ], + ], + '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' => '65C66B7B-671A-8297-9187-2R5477247B76', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"65C66B7B-671A-8297-9187-2R5477247B76\\"\\n}","type":"json"}]', + 'title' => 'UpdateDevelopmentMode', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateDevelopmentMode', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateDevelopmentMode', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'UpdateEdgeContainerAppLogRiver' => [ + 'summary' => 'Updates the log collection configuration of a containerized application.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '249447', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~2852396~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-88068867578379****', + 'title' => '', + ], + ], + [ + 'name' => 'Stdout', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to collect the standard output of the container.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'Path', + 'in' => 'query', + 'schema' => [ + 'description' => 'The log path of the container.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/root/hello.log', + 'title' => '', + ], + ], + ], + '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' => '42DE97FA-45D2-5615-9A31-55D9EC0D7563', + ], + 'Stdout' => [ + 'description' => 'Indicates whether the standard output of the container is collected.'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'Path' => [ + 'description' => 'The log path of the container.'."\n", + 'type' => 'string', + 'example' => '/root/hello.log', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter.appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"42DE97FA-45D2-5615-9A31-55D9EC0D7563\\",\\n \\"Stdout\\": true,\\n \\"Path\\": \\"/root/hello.log\\"\\n}","type":"json"}]', + 'title' => 'UpdateEdgeContainerAppLogRiver', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateEdgeContainerAppLogRiver', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateEdgeContainerAppLogRiver', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'UpdateEdgeContainerAppResourceReserve' => [ + 'summary' => 'Updates the resource reservation configuration of an edge container.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '264840', + 'abilityTreeNodes' => [ + 'FEATUREdcdnFPSR60', + ], + ], + 'parameters' => [ + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable resource reservation.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'Forever', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to permanently enable the reservation. Once it is enabled, you are not allowed to set the reservation deadline.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'DurationTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time of the reservation. The input time is UTC. It takes +8 hours to enter Beijing time. For example, if the current time is 2006-01-02 06:04:05, you need to enter "2006-01-02T14:04:05Z".'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2006-01-02T15:04:05Z', + 'title' => '', + ], + ], + [ + 'name' => 'ReserveSet', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Reserved resource list.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The reserved region object.'."\n", + 'type' => 'object', + 'properties' => [ + 'Region' => [ + 'description' => 'Information about the region. The Chinese mainland supports the input of regions and special administrative regions, and the regions outside the Chinese mainland support the input of countries. The following is the corresponding parameter mapping:'."\n" + ."\n" + .'Chinese mainland:'."\n" + ."\n" + .'* East China: huadong'."\n" + .'* South China: huanan'."\n" + .'* Central China: huazhong'."\n" + .'* North China: huabei'."\n" + .'* Northwest China: xibei'."\n" + .'* Southwest China: xinan'."\n" + .'* Northeast China: dongbei'."\n" + ."\n" + .'Special Administrative Regions and overseas:'."\n" + ."\n" + .'* Taiwan, China: tw'."\n" + .'* Macau, China: mo'."\n" + .'* Hong Kong, China: hk'."\n" + .'* Japan: jp'."\n" + .'* United States: us'."\n" + .'* Thailand: th'."\n" + .'* Korea: kr'."\n" + .'* Russia: ru'."\n" + .'* Singapore: sg'."\n" + .'* France: fr'."\n" + .'* Spain: es'."\n" + .'* Italy: it'."\n" + .'* Sweden: se'."\n" + .'* UAE: ae'."\n" + .'* Indonesia: id'."\n" + .'* Chile: cl'."\n" + .'* Philippines: ph'."\n" + .'* Malaysia: my'."\n" + .'* Vietnam: vn'."\n" + .'* Argentina: AR'."\n" + .'* Australia: au'."\n" + .'* Brazil: br'."\n" + .'* Colombia: co'."\n" + .'* Germany: de'."\n" + .'* UK: GB'."\n" + .'* Peru: pe'."\n" + .'* Saudi Arabia: sa'."\n" + .'* Netherlands: nl'."\n" + .'* South Africa: za'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'huazhong', + 'title' => '', + ], + 'Isp' => [ + 'description' => 'The ISP. The following types are supported. You do not need to enter the ISP in regions outside the Chinese mainland:'."\n" + ."\n" + .'* China Mobile: cmcc'."\n" + .'* China Telecom: chinanet'."\n" + .'* China Unicom: unicom'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cmcc', + 'title' => '', + ], + 'Replicas' => [ + 'description' => 'The number of container replicas.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The application ID, which can be obtained by calling the [ListEdgeContainerApps](~~ListEdgeContainerApps~~) operation.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'app-88068867578379****', + 'title' => '', + ], + ], + ], + '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' => '1AB799CF-562A-5CAF-A99E-4354053D814F', + ], + 'Enable' => [ + 'description' => 'Whether to enable resource reservation.'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'Forever' => [ + 'description' => 'Enable Permanent Incremental Backup'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + 'DurationTime' => [ + 'description' => 'The end time of the reservation. The input time is UTC. It takes +8 hours to enter Beijing time. For example, if the current time is 2006-01-02 06:04:05, you need to enter "2006-01-02T14:04:05Z".'."\n", + 'type' => 'string', + 'example' => '2006-01-02T15:04:05Z', + 'title' => '', + ], + 'ReserveSet' => [ + 'description' => 'Reserved resource list.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The reserved region object.'."\n", + 'type' => 'object', + 'properties' => [ + 'Region' => [ + 'description' => 'Information about the region. The Chinese mainland supports the input of regions and special administrative regions, and the regions outside the Chinese mainland support the input of countries. The following is the corresponding parameter mapping:'."\n" + ."\n" + .'Chinese mainland:'."\n" + ."\n" + .'* East China: huadong'."\n" + .'* South China: huanan'."\n" + .'* Central China: huazhong'."\n" + .'* North China: huabei'."\n" + .'* Northwest China: xibei'."\n" + .'* Southwest China: xinan'."\n" + .'* Northeast China: dongbei'."\n" + ."\n" + .'Special Administrative Regions and overseas:'."\n" + ."\n" + .'* Taiwan, China: tw'."\n" + .'* Macau, China: mo'."\n" + .'* Hong Kong, China: hk'."\n" + .'* Japan: jp'."\n" + .'* United States: us'."\n" + .'* Thailand: th'."\n" + .'* Korea: kr'."\n" + .'* Russia: ru'."\n" + .'* Singapore: sg'."\n" + .'* France: fr'."\n" + .'* Spain: es'."\n" + .'* Italy: it'."\n" + .'* Sweden: se'."\n" + .'* UAE: ae'."\n" + .'* Indonesia: id'."\n" + .'* Chile: cl'."\n" + .'* Philippines: ph'."\n" + .'* Malaysia: my'."\n" + .'* Vietnam: vn'."\n" + .'* Argentina: AR'."\n" + .'* Australia: au'."\n" + .'* Brazil: br'."\n" + .'* Colombia: co'."\n" + .'* Germany: de'."\n" + .'* UK: GB'."\n" + .'* Peru: pe'."\n" + .'* Saudi Arabia: sa'."\n" + .'* Netherlands: nl'."\n" + .'* South Africa: za'."\n", + 'type' => 'string', + 'example' => 'huazhong', + 'title' => '', + ], + 'Isp' => [ + 'description' => 'The ISP. The following types are supported. You do not need to enter the ISP in regions outside the Chinese mainland:'."\n" + ."\n" + .'* China Mobile: cmcc'."\n" + .'* China Telecom: chinanet'."\n" + .'* China Unicom: unicom'."\n", + 'type' => 'string', + 'example' => 'cmcc', + 'title' => '', + ], + 'Replicas' => [ + 'description' => 'The number of container replicas.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + [ + 'errorCode' => 'InvalidParameter.Appid', + 'errorMessage' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'description' => 'The format of the input application ID is incorrect. You can use the ListEdgeContainerApps API to obtain the application ID.', + ], + ], + 404 => [ + [ + 'errorCode' => 'InvalidApp.NotFound', + 'errorMessage' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"1AB799CF-562A-5CAF-A99E-4354053D814F\\",\\n \\"Enable\\": true,\\n \\"Forever\\": true,\\n \\"DurationTime\\": \\"2006-01-02T15:04:05Z\\",\\n \\"ReserveSet\\": [\\n {\\n \\"Region\\": \\"huazhong\\",\\n \\"Isp\\": \\"cmcc\\",\\n \\"Replicas\\": 1\\n }\\n ]\\n}","type":"json"}]', + 'title' => 'UpdateEdgeContainerAppResourceReserve', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateEdgeContainerAppResourceReserve', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateEdgeContainerAppResourceReserve', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'UpdateHttpIncomingRequestHeaderModificationRule' => [ + 'summary' => 'Updates the HTTP incoming request header modification rule.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257647', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '568181195163328', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The configuration ID. You can call the ListHttpIncomingRequestHeaderModificationRules operation to query the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '419717024278528', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule name. You do not need to set this parameter when you add global configurations.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the rule. Valid values: You do not need to set this parameter when you add global configurations. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content of the rule. A conditional expression is used to match a user request. You do not need to set this parameter when you add global configurations. Use cases:'."\n" + ."\n" + .'* true: Match all incoming requests.'."\n" + .'* Set the value to a custom expression, for example, (http.host eq "video.example.com"): Match the specified request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'RequestHeaderModification', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The configurations of modifying request headers. You can add, delete, or modify a request header.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of modifying a request header.'."\n", + 'type' => 'object', + 'properties' => [ + 'Operation' => [ + 'description' => 'The action. Valid values:'."\n" + ."\n" + .'* add: adds a response header.'."\n" + .'* del: deletes a response header.'."\n" + .'* modify: modifies a response header.'."\n", + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'add', + 'modify', + 'del', + ], + 'example' => 'add', + 'title' => '', + ], + 'Name' => [ + 'description' => 'The name of the request header.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'headerName', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The value of the request header.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'headerValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The value type. Valid values:'."\n" + ."\n" + .'* static'."\n" + .'* dynamic'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'static', + 'dynamic', + ], + 'example' => 'static', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'The order in which the rule is executed. A smaller value gives priority to the rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'BFEF3861-8BB7-5B63-954C-6575EA7FB2CA', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'InvalidValOfDelHeader', + 'errorMessage' => 'The delete header operation does not support setting value.', + 'description' => 'The delete header operation does not support setting value.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'UpdateHttpIncomingRequestHeaderModificationRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"BFEF3861-8BB7-5B63-954C-6575EA7FB2CA\\"\\n}","type":"json"}]', + ], + 'UpdateHttpIncomingResponseHeaderModificationRule' => [ + 'summary' => 'Updates the configuration of modifying HTTP response headers for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257652', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '498607398028944', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the configuration. You can call the ListHttpIncomingResponseHeaderModificationRules operation to query the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '352816096987136', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule name. You do not need to set this parameter when you add global configuration.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the rule. Valid values: You do not need to set this parameter when you add global configuration. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content of the rule. A conditional expression is used to match a user request. You do not need to set this parameter when you add global configuration. Use cases:'."\n" + ."\n" + .'* true: Match all incoming requests.'."\n" + .'* Set the value to a custom expression, for example, (http.host eq "video.example.com"): Match the specified request.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'ResponseHeaderModification', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Modifies a response header. You can add, delete, or modify a request header.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration of modifying a response header.'."\n", + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the response header.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'headerName', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'The action. Valid values:'."\n" + ."\n" + .'* add: adds a response header.'."\n" + .'* del: deletes a response header.'."\n" + .'* modify: modifies a response header.'."\n", + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'add', + 'modify', + 'del', + ], + 'example' => 'add', + 'title' => '', + ], + 'Value' => [ + 'description' => 'The value of the response header.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'headerValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The value type of the column. Valid values:'."\n" + ."\n" + .'* static'."\n" + .'* dynamic'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'static', + 'dynamic', + ], + 'example' => 'static', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'The order in which the rule is executed. A smaller value gives priority to the rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'InvalidValOfDelHeader', + 'errorMessage' => 'The delete header operation does not support setting value.', + 'description' => 'The delete header operation does not support setting value.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'UpdateHttpIncomingResponseHeaderModificationRule', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + ], + 'UpdateHttpRequestHeaderModificationRule' => [ + 'summary' => 'Modify HTTP Request Header Rules', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257647', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID. It can be obtained by calling the [ListHttpRequestHeaderModificationRules](~~2867483~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- To match all incoming requests: Set the value to true'."\n" + .'- To match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'RequestHeaderModification', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Modify request headers, supporting add, delete, and modify operations.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of modifying request headers.', + 'type' => 'object', + 'properties' => [ + 'Operation' => [ + 'description' => 'Operation method. Possible values:'."\n" + ."\n" + .'- add: Add.'."\n" + .'- del: Delete'."\n" + .'- modify: Modify.', + 'type' => 'string', + 'required' => true, + 'example' => 'add', + 'enum' => [ + 'add', + 'modify', + 'del', + ], + 'title' => '', + ], + 'Name' => [ + 'description' => 'Request header name.', + 'type' => 'string', + 'required' => true, + 'example' => 'headerName', + 'title' => '', + ], + 'Value' => [ + 'description' => 'Request header value.', + 'type' => 'string', + 'required' => false, + 'example' => 'headerValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'Value Type. Valid values: '."\n" + .'- static: Static mode. '."\n" + .'- dynamic: Dynamic mode. ', + 'type' => 'string', + 'enum' => [ + 'static', + 'dynamic', + ], + 'required' => false, + 'example' => 'static', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller numeric values are executed first. ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '2430E05E-1340-5773-B5E1-B743929F46F2', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'InvalidValOfDelHeader', + 'errorMessage' => 'The delete header operation does not support setting value.', + 'description' => 'The delete header operation does not support setting value.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Update HTTP Request Header Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:38.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateHttpRequestHeaderModificationRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2430E05E-1340-5773-B5E1-B743929F46F2\\"\\n}","type":"json"}]', + ], + 'UpdateHttpResponseHeaderModificationRule' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257652', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456******', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID. It can be obtained by calling the [ListHttpResponseHeaderModificationRules](~~2867483~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'ResponseHeaderModification', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Modify response headers, supporting three operation methods: add, delete, and modify.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of modifying response headers.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'Response header name.', + 'type' => 'string', + 'required' => true, + 'example' => 'headerName', + 'title' => '', + ], + 'Operation' => [ + 'description' => 'Operation method. Value range:'."\n" + .'- add: Add.'."\n" + .'- del: Delete'."\n" + .'- modify: Modify.', + 'type' => 'string', + 'required' => true, + 'example' => 'add', + 'enum' => [ + 'add', + 'modify', + 'del', + ], + 'title' => '', + ], + 'Value' => [ + 'description' => 'Response header value.', + 'type' => 'string', + 'required' => false, + 'example' => 'headerValue', + 'title' => '', + ], + 'Type' => [ + 'description' => 'Value Type. Valid values:'."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.', + 'type' => 'string', + 'enum' => [ + 'static', + 'dynamic', + ], + 'required' => false, + 'example' => 'static', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller Numeric values are executed first. ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-280B-72F8FD6DA2FE', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'InvalidValOfDelHeader', + 'errorMessage' => 'The delete header operation does not support setting value.', + 'description' => 'The delete header operation does not support setting value.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Update HTTP Response Header Configuration', + 'summary' => 'Modify HTTP response header rules', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:39.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateHttpResponseHeaderModificationRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-280B-72F8FD6DA2FE\\"\\n}","type":"json"}]', + ], + 'UpdateHttpsApplicationConfiguration' => [ + 'summary' => 'Modify HTTPS Application Configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257969', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")', + 'title' => '', + ], + ], + [ + 'name' => 'HttpsForce', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable forced HTTPS, default is disabled. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'HttpsForceCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Forced HTTPS redirect status code, value range:'."\n" + .'- 301'."\n" + .'- 302'."\n" + .'- 307'."\n" + .'- 308', + 'type' => 'string', + 'required' => false, + 'example' => '301', + 'title' => '', + ], + ], + [ + 'name' => 'AltSvc', + 'in' => 'query', + 'schema' => [ + 'description' => 'Feature switch, default is disabled. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'AltSvcClear', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether the Alt-Svc header includes the clear parameter, default is disabled. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'AltSvcPersist', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether the Alt-Svc header includes the persist parameter, default is disabled. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'AltSvcMa', + 'in' => 'query', + 'schema' => [ + 'description' => 'Alt-Svc validity period, in seconds, default is 86400 seconds.', + 'type' => 'string', + 'required' => false, + 'example' => '86400', + 'title' => '', + ], + ], + [ + 'name' => 'Hsts', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HSTS, default is disabled. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'HstsMaxAge', + 'in' => 'query', + 'schema' => [ + 'description' => 'HSTS expiration time, in seconds.', + 'type' => 'string', + 'required' => false, + 'example' => '3600', + 'title' => '', + ], + ], + [ + 'name' => 'HstsIncludeSubdomains', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to include subdomains in HSTS, default is disabled. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'HstsPreload', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HSTS preload, default is disabled. Value range:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller values are executed first.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'HttpsSniVerify', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable SNI validation. By default, it is disabled. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'HttpsNoSniDeny', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to deny TLS handshake requests without Server Name Indication (SNI). Disabled by default. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'HttpsSniWhitelist', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies the whitelist of allowed SNI entries, separated by spaces.', + 'type' => 'string', + 'required' => false, + 'example' => 'abc edf', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '35C66C7B-671H-4297-9187-2C4477247A78', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Modify Site HTTPS Application Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-03T07:09:13.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateHttpsApplicationConfiguration', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"35C66C7B-671H-4297-9187-2C4477247A78\\"\\n}","type":"json"}]', + ], + 'UpdateHttpsBasicConfiguration' => [ + 'summary' => 'Modify HTTPS Basic Configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257970', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1231231221****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3528160969****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'Https', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HTTPS. Default is enabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Tls10', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable TLS1.0. Default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Tls11', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable TLS1.1. Default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Tls12', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable TLS1.2. Default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Tls13', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable TLS1.3. Default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'CiphersuiteGroup', + 'in' => 'query', + 'schema' => [ + 'description' => 'Cipher suite group. Default is all cipher suites. Value range:'."\n" + .'- all: All cipher suites.'."\n" + .'- strict: Strong cipher suites.'."\n" + .'- custom: Custom cipher suites.', + 'type' => 'string', + 'required' => false, + 'example' => 'all', + 'title' => '', + ], + ], + [ + 'name' => 'Ciphersuite', + 'in' => 'query', + 'schema' => [ + 'description' => 'Custom cipher suite, indicating the specific encryption algorithm selected when CiphersuiteGroup is set to custom.', + 'type' => 'string', + 'required' => false, + 'example' => 'TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256', + 'title' => '', + ], + ], + [ + 'name' => 'OcspStapling', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable OCSP. Default is disabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Http2', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HTTP2. Default is enabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Http3', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HTTP3. Default is enabled. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. A smaller numeric value indicates higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.Function', + 'errorMessage' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + 'description' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Modify Site HTTPS Basic Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateHttpsBasicConfiguration', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + ], + 'UpdateIPv6' => [ + 'summary' => 'Modify Site IPv6 Configuration', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257436', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '5407498413****', + 'title' => '', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable IPv6. Valid values:'."\n" + ."\n" + .'* **on**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Region', + 'in' => 'query', + 'schema' => [ + 'description' => 'Area where IPv6 is enabled. Default value: x.x:'."\n" + ."\n" + .'- x.x: Global.'."\n" + .'- cn.cn: Mainland China.', + 'type' => 'string', + 'enum' => [ + 'x.x', + 'cn.cn', + ], + 'required' => false, + 'example' => 'x.x', + 'title' => '', + ], + ], + ], + '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' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Modify Site IPv6 Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:33:22.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateIPv6', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateIPv6', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + ], + 'UpdateImageTransform' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257354', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID. It can be obtained by calling the [ListImageTransforms](~~2869056~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '352816096987136', + 'title' => '', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Indicates whether to enable image transformation. Possible values:'."\n" + ."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'test', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, used to match user requests with conditional expressions. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- To match all incoming requests: Set the value to true.'."\n" + .'- To match specific requests: Set the value to a custom expression, for example: (http.host eq "video.example.com")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.request.uri.path.file_name eq \\"jpg\\")', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. A smaller numeric value indicates higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Modify Site Image Transformation Configuration', + 'summary' => 'Modify Site Image Transformation Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateImageTransform', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + ], + 'UpdateList' => [ + 'summary' => 'Updates a custom list.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239583', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The ID of the custom list, which can be obtained by calling the [ListLists](~~2850217~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '40000001', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The new name of the list.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The new description of the list.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'a custom list', + ], + ], + [ + 'name' => 'Items', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'title' => '', + 'description' => 'The items in the updated list. The value is a JSON array.'."\n", + 'type' => 'array', + 'items' => [ + 'title' => '', + 'description' => 'The item in the updated list.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '10.1.1.1', + ], + 'required' => true, + 'example' => 'a custom list', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'errorCode' => 'List.NotExist', + 'errorMessage' => 'The specified list does not exist.', + 'description' => 'The specified list does not exist.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\"\\n}","type":"json"}]', + 'title' => 'UpdateList', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:49.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T09:53:46.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateList', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'UpdateLoadBalancer' => [ + 'summary' => 'Modify Load Balancer', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238302', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'Enabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether the load balancer is enabled.'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.', + 'type' => 'boolean', + 'required' => false, + 'enumValueTitles' => [ + 'true' => 'true', + 'false' => 'false', + ], + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1159101787****', + 'title' => '', + ], + ], + [ + 'name' => 'AdaptiveRouting', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Configuration for fallback across pools.', + 'type' => 'object', + 'properties' => [ + 'FailoverAcrossPools' => [ + 'description' => 'Whether to fallback across pools.'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'DefaultPools', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'List of default pool IDs.', + 'type' => 'array', + 'items' => [ + 'description' => 'Default pool ID, integer type.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '96228666776****', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'FallbackPool', + 'in' => 'query', + 'schema' => [ + 'description' => 'Fallback pool ID, where traffic will be directed when all other pools are unavailable.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '96228666776****', + 'title' => '', + ], + ], + [ + 'name' => 'RandomSteering', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Weighted round-robin configuration, used to control the traffic distribution weights among different pools.', + 'type' => 'object', + 'properties' => [ + 'DefaultWeight' => [ + 'description' => 'Default round-robin weight, used for all pools that do not have a separately specified weight. Value range: integers between 0-100.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + 'title' => '', + ], + 'PoolWeights' => [ + 'description' => 'Weight configuration for each backend server pool, where the key is the pool ID and the value is the weight factor. The weight factor represents the proportion of relative traffic distribution.', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => [ + 'type' => 'integer', + 'format' => 'int32', + 'example' => '50', + 'description' => 'Weight of a single origin pool, a number between 0-100, where 0 indicates no traffic should be routed to this pool.', + 'title' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Rules', + 'in' => 'query', + 'allowEmptyValue' => false, + 'style' => 'json', + 'schema' => [ + 'description' => 'Rule configuration list, used to define behavior overrides under specific conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'Rule information.', + 'type' => 'object', + 'properties' => [ + 'RuleName' => [ + 'description' => 'Rule name. This parameter does not need to be set when adding global configurations.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_1', + 'title' => '', + ], + 'Rule' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter does not need to be set when adding global configurations. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, e.g., (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => 'http.request.method eq "GET" ', + 'title' => '', + ], + 'RuleEnable' => [ + 'description' => 'Rule switch. This parameter does not need to be set when adding global configurations. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + 'FixedResponse' => [ + 'description' => 'Execute a specified response after matching the rule.', + 'type' => 'object', + 'properties' => [ + 'ContentType' => [ + 'description' => 'Content-Type field in the HTTP Header.', + 'type' => 'string', + 'required' => false, + 'example' => 'application/json', + 'title' => '', + ], + 'Location' => [ + 'description' => 'Location field in the HTTP response.', + 'type' => 'string', + 'required' => false, + 'example' => 'http://www.example.com/index.html'."\n", + 'title' => '', + ], + 'MessageBody' => [ + 'description' => 'Response body value.', + 'type' => 'string', + 'required' => false, + 'example' => 'Hello World!'."\n", + 'title' => '', + ], + 'StatusCode' => [ + 'description' => 'Response status code.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '200', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Overrides' => [ + 'description' => 'Modify the corresponding load balancing configuration after matching the rule. The fields in the configuration will override the corresponding fields in the load balancer configuration.', + 'type' => 'any', + 'required' => false, + 'example' => '{'."\n" + .' "adaptive_routing": {'."\n" + .' "failover_across_pools": true'."\n" + .' },'."\n" + .' "sub_region_pools": {'."\n" + .' "AL,AT": ['."\n" + .' 92298024898****,'."\n" + .' 92304347804****'."\n" + .' ],'."\n" + .' "BG,BY": ['."\n" + .' 92298024898****'."\n" + .' ]'."\n" + .' },'."\n" + .' "default_pools": ['."\n" + .' 92298024898****,'."\n" + .' 92304347804****'."\n" + .' ],'."\n" + .' "fallback_pool": 92298024898****,'."\n" + .' "location_strategy": {'."\n" + .' "mode": "resolver_ip",'."\n" + .' "prefer_ecs": "always"'."\n" + .' },'."\n" + .' "random_steering": {'."\n" + .' "default_weight": 0.3,'."\n" + .' "pool_weights": {'."\n" + .' "92298024898****": 0.7,'."\n" + .' "92304347804****": 0.8'."\n" + .' }'."\n" + .' },'."\n" + .' "region_pools": {'."\n" + .' "CN,SEAS": ['."\n" + .' 92298024898****,'."\n" + .' 92304347804****'."\n" + .' ],'."\n" + .' "SAF,SAS": ['."\n" + .' 92304347804****'."\n" + .' ]'."\n" + .' },'."\n" + .' "session_affinity": "ip",'."\n" + .' "steering_policy": "geo",'."\n" + .' "ttl": 30'."\n" + .' }', + 'title' => '', + ], + 'Sequence' => [ + 'description' => 'The execution order of the rule. It can be left blank, in which case the rules will be executed in the order they appear in the list. If specified, it must be a positive integer, with higher values indicating higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + 'Terminates' => [ + 'description' => 'Whether to terminate the execution of subsequent rules.'."\n" + .'- true: Yes.'."\n" + .'- false: No, default value.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SessionAffinity', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'Session persistence, with possible values:'."\n" + .'- off: Not enabled.'."\n" + .'- ip: Session persistence by IP.'."\n" + .'- cookie: Session persistence by cookie.', + 'type' => 'string', + 'required' => false, + 'example' => 'ip', + 'enum' => [], + 'title' => '', + ], + ], + [ + 'name' => 'SteeringPolicy', + 'in' => 'query', + 'schema' => [ + 'description' => 'Load balancing policy.', + 'type' => 'string', + 'required' => false, + 'example' => 'order'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => [ + 'description' => 'Detailed description of the load balancer, for easier management and identification.', + 'type' => 'string', + 'required' => false, + 'example' => '负载均衡器描述'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'Ttl', + 'in' => 'query', + 'schema' => [ + 'description' => 'TTL value, the time-to-live for DNS records, with a default of 30 and a range of 10-600.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + ], + [ + 'name' => 'Monitor', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Monitor configuration for health checks.', + 'type' => 'object', + 'properties' => [ + 'Type' => [ + 'description' => 'Monitor protocol type, such as HTTP, used for health checks. When set to \'off\', no checks are performed.', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP', + 'title' => '', + ], + 'Method' => [ + 'description' => 'Monitor request method, such as GET, which is a method in the HTTP protocol.', + 'type' => 'string', + 'required' => false, + 'example' => 'GET', + 'title' => '', + ], + 'Port' => [ + 'description' => 'Origin server port.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '80', + 'title' => '', + ], + 'Path' => [ + 'description' => 'Monitor check path, such as /healthcheck, which is the HTTP request path.', + 'type' => 'string', + 'required' => false, + 'example' => '/health'."\n", + 'title' => '', + ], + 'Interval' => [ + 'description' => 'Monitor interval, such as 60 seconds, which is the frequency of checks.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + 'title' => '', + ], + 'Timeout' => [ + 'description' => 'Application health check timeout, in seconds, with a range of 1-10.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + 'title' => '', + ], + 'ExpectedCodes' => [ + 'description' => 'Expected status codes, such as 200,202, which indicate successful HTTP responses.', + 'type' => 'string', + 'required' => false, + 'example' => '200,202', + 'title' => '', + ], + 'FollowRedirects' => [ + 'description' => 'Whether to follow redirects.'."\n" + ."\n" + .'- true: Yes.'."\n" + .'- false: No.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'ConsecutiveUp' => [ + 'description' => 'Number of consecutive successful probes required to consider the target healthy, such as 3.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + 'title' => '', + ], + 'ConsecutiveDown' => [ + 'description' => 'Number of consecutive failed probes required to consider the target unhealthy, such as 5.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + 'title' => '', + ], + 'Header' => [ + 'description' => 'Monitor request header configuration.', + 'type' => 'any', + 'required' => false, + 'example' => ' {'."\n" + .' "host": ['."\n" + .' "example1.com",'."\n" + .' "example2.com"'."\n" + .' ]'."\n" + .' }', + 'title' => '', + ], + 'MonitoringRegion' => [ + 'enumValueTitles' => [ + 'OutsideChineseMainland' => 'OutsideChineseMainland', + 'ChineseMainland' => 'ChineseMainland', + 'Global' => 'Global', + ], + 'description' => 'The region where the detection point is located. The default value is Global.'."\n" + ."\n" + .'- Global: Global.'."\n" + .'- ChineseMainland: the Chinese mainland.'."\n" + .'- OutsideChineseMainland: Global (excluding the Chinese mainland).', + 'type' => 'string', + 'required' => false, + 'example' => 'Global', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'Load balancer ID, which can be obtained by calling the [ListLoadBalancers](~~2868897~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '95913670174****', + 'title' => '', + ], + ], + [ + 'name' => 'RegionPools', + 'in' => 'query', + 'schema' => [ + 'description' => 'Address pool corresponding to the primary region.', + 'type' => 'any', + 'required' => false, + 'example' => '{'."\n" + .' "ENAM": ['."\n" + .' 12345678****'."\n" + .' ],'."\n" + .' "WNAM": ['."\n" + .' 23456789****,'."\n" + .' 23456789****'."\n" + .' ]'."\n" + .'}', + 'title' => '', + ], + ], + [ + 'name' => 'SubRegionPools', + 'in' => 'query', + 'schema' => [ + 'description' => 'Address pool corresponding to the secondary region. When multiple secondary regions share the same address pool, the regions can be concatenated with commas as the key.', + 'type' => 'any', + 'required' => false, + 'example' => '{"AL,MO": [92298024898****],"CN-SH,CN-SX,CN-SC":[92304347804****,92843536908****]}', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response structure after successfully updating the load balancer.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F'."\n", + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'LoadBalancerQuotaCheckFailed', + 'errorMessage' => 'Load balancer enable quota check failed.', + 'description' => 'Your current plan cannot use the load balancer related functions. If you need to use it, upgrade the plan.', + ], + [ + 'errorCode' => 'LoadBalancerNumberExceedQuotaLimit', + 'errorMessage' => 'The number of load balancers you have added has reached the limit of the plan quota. Please delete the unused load balancers or upgrade the plan and try again.', + 'description' => 'The number of load balancers you have added has reached the limit of the plan quota. Please delete the unused load balancers or upgrade the plan and try again.', + ], + [ + 'errorCode' => 'LoadBalancerRuleQuotaCheckFailed', + 'errorMessage' => 'Your current plan does not support configuring load balancer custom rules, or the load balancer rules you have added exceed the plan quota limit. Please upgrade the plan or delete the rules that are no longer in use and try again.', + 'description' => 'Your current plan does not support configuring load balancer custom rules, or the load balancer rules you have added exceed the plan quota limit. Please upgrade the plan or delete the rules that are no longer in use and try again.', + ], + [ + 'errorCode' => 'LoadBalancerPolicyCheckFailed', + 'errorMessage' => 'Your current plan does not support the load balancer scheduling policy. Upgrade the plan and try again.', + 'description' => 'Your current plan does not support the load balancer scheduling policy. Upgrade the plan and try again.', + ], + [ + 'errorCode' => 'LoadBalancerHealthDetectionQuotaCheckFailed', + 'errorMessage' => 'Your current plan does not allow you to configure the load balancer\'s health detection. Upgrade the plan and try again.', + 'description' => 'Your current plan does not allow you to configure the load balancer\'s health detection. Upgrade the plan and try again.', + ], + [ + 'errorCode' => 'LoadBalancerHealthDetectionIntervalCheckFailed', + 'errorMessage' => 'The configured load balancer health detection interval exceeds the quota range allowed by the plan. Please revise the interval within the range or upgrade the plan and try again.', + 'description' => 'The configured load balancer health detection interval exceeds the quota range allowed by the plan. Please revise the interval within the range or upgrade the plan and try again.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'MonitorExpectedBodyInvalid', + 'errorMessage' => 'Invalid response body. Specify a response body that does not exceed 102,400 characters in length in your custom rule.', + 'description' => 'Invalid response body. Specify a response body that does not exceed 102,400 characters in length in your custom rule.', + ], + [ + 'errorCode' => 'MonitorExpectedCodesInvalid', + 'errorMessage' => 'Invalid expected status code for the probe.Make sure that you specify no more than 10 status codes in the probe settings, and each status code must be 3 to 4 characters in length.Examples: 200, 301, 3xx, 8000, and 88xx.', + 'description' => 'Invalid expected status code for the probe.Make sure that you specify no more than 10 status codes in the probe settings, and each status code must be 3 to 4 characters in length.Examples: 200, 301, 3xx, 8000, and 88xx.', + ], + [ + 'errorCode' => 'MonitorHeaderInvalid', + 'errorMessage' => 'Invalid request header for the probe. You can add up to 10 request headers, each with 1 to 9 values. The combined length of all headers and values cannot exceed 6,000 characters. You cannot configure the User-Agent header.', + 'description' => 'The incoming monitor is carrying an illegal request header. Make sure that the number of request headers does not exceed 10, that each request header has a value length between 1 and 10, and that you must not use the User-Agent request header (which is reserved for internal specific scenarios). In addition, the total length of all request headers and their values must not exceed 6000 characters. Please check and correct the request header configuration and try again.', + ], + [ + 'errorCode' => 'MonitorMethodNotSupport', + 'errorMessage' => 'Invalid HTTP method for the probe request. Valid values are GET and HEAD.', + 'description' => 'Invalid HTTP method for the probe request. Valid values are GET and HEAD.', + ], + [ + 'errorCode' => 'MonitorPathNotSupport', + 'errorMessage' => 'Invalid probe URL path.If you set the probe protocol to HTTP or HTTPS, make sure you specify a probe URL path that does not exceed 1,024 characters in length.', + 'description' => 'Invalid probe URL path.If you set the probe protocol to HTTP or HTTPS, make sure you specify a probe URL path that does not exceed 1,024 characters in length.', + ], + [ + 'errorCode' => 'MonitorPortNotSupport', + 'errorMessage' => 'Invalid probe port. Specify a valid port from 1 to 65535 for the probe request. Then, try again.', + 'description' => 'The incoming monitor listening port is not supported. The port value range is [1-65535]. Please ensure that the port is within the value range and try again.', + ], + [ + 'errorCode' => 'MonitorRetriesInvalid', + 'errorMessage' => 'Invalid number of probe retries. Specify an integer from 0 to 5. Then, try again.', + 'description' => 'Invalid number of probe retries. Specify an integer from 0 to 5. Then try again.', + ], + [ + 'errorCode' => 'MonitorTimeoutInvalid', + 'errorMessage' => 'Invalid timeout for the probe. Valid values are 1 to 10.', + 'description' => 'Invalid timeout for the probe. Valid values are 1 to 10.', + ], + [ + 'errorCode' => 'MonitorTypeNotSupport', + 'errorMessage' => 'Invalid protocol. Valid values are off, HTTP, HTTPS, TCP, UDP, ICMP Ping, and SMTP.', + 'description' => 'Invalid protocol. Valid values are off, HTTP, HTTPS, TCP, UDP, ICMP Ping, and SMTP.', + ], + [ + 'errorCode' => 'OriginPoolNotExist', + 'errorMessage' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + 'description' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + ], + [ + 'errorCode' => 'LoadBalancerNameConflict', + 'errorMessage' => 'The load balancer name or the hostname for the origin pool already exists. Try again with a unique name.', + 'description' => 'The load balancer name or the hostname for the origin pool already exists. Try again with a unique name.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'SourceCircleExist', + 'errorMessage' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + 'description' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + ], + [ + 'errorCode' => 'LoadBalancerNotExist', + 'errorMessage' => 'The specified load balancer name is invalid or load balancing is not enabled for your website.Make sure that you specify a valid load balancer name and load balancing is enabled. Then, try again.', + 'description' => 'The specified load balancer name is invalid or load balancing is not enabled for your website.Make sure that you specify a valid load balancer name and load balancing is enabled. Then, try again.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'QuotaExceeded', + 'errorMessage' => 'The quota is exceeded.', + 'description' => 'The quota is exceeded.', + ], + ], + [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Modify Existing Load Balancer Information', + 'description' => 'Through this interface, you can modify multiple configurations of the load balancer, including but not limited to the name of the load balancer, whether to enable acceleration, session persistence strategy, and various advanced settings related to traffic routing.>Changes to certain parameters may affect the stability of existing services, please operate with caution.>', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-16T02:25:11.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-02-13T01:34:54.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateLoadBalancer', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateLoadBalancer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\\\n\\"\\n}","type":"json"}]', + ], + 'UpdateManagedTransform' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257446', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'AddClientGeolocationHeader', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to include the header that indicates the geographical location of a client in an origin request. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'enum' => [], + 'title' => '', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'The version number of the website. You can use this parameter to specify a version of your website to apply the feature settings. By default, version 0 is used.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'AddRealClientIpHeader', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to include the "ali-real-client-ip" header that indicates the client\'s real IP address in an origin request. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'RealClientIpHeaderName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The header name for the real client IP.', + 'type' => 'string', + 'required' => false, + 'example' => 'test_header', + 'title' => '', + ], + ], + ], + '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' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Modify Site Managed Transformation Configuration', + 'summary' => 'Modify Site Managed Transformation Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-05-09T05:58:31.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateManagedTransform', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\"\\n}","type":"json"}]', + ], + 'UpdateNetworkOptimization' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257971', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) API.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '352816096987136', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Possible values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")', + 'title' => '', + ], + ], + [ + 'name' => 'SmartRouting', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable the smart routing service, default is disabled. Possible values:'."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Http2Origin', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable HTTP2 origin, default is disabled. Possible values:'."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Websocket', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable Websocket, default is enabled. Possible values:'."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Grpc', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable GRPC, default is disabled. Possible values:'."\n" + .'- on: Enable'."\n" + .'- off: Disable', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'UploadMaxFilesize', + 'in' => 'query', + 'schema' => [ + 'description' => 'Maximum upload file size, in MB, with a range of 100 to 500.', + 'type' => 'string', + 'required' => false, + 'example' => '100', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule execution order. A smaller numeric value indicates a higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Modify Site Network Optimization Configuration', + 'summary' => 'Modify network optimization configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateNetworkOptimization', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateNetworkOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\"\\n}","type":"json"}]', + ], + 'UpdateOriginPool' => [ + 'summary' => 'Modify the Monitor', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238439', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the origin pool, which can be obtained by calling the [ListOriginPools](~~2863947~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1038520525196928', + 'title' => '', + ], + ], + [ + 'name' => 'Enabled', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether the origin pool is enabled:'."\n" + ."\n" + .'- true: Enabled;'."\n" + .'- false: Disabled.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + ], + [ + 'name' => 'Origins', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Information about the origins added to the origin pool. Multiple origins are passed as an array.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about the origins added to the origin pool.', + 'type' => 'object', + 'properties' => [ + 'Name' => [ + 'description' => 'The name of the origin, which must be unique under one origin pool.', + 'type' => 'string', + 'required' => false, + 'example' => 'origin1', + 'title' => '', + ], + 'Address' => [ + 'description' => 'The address of the origin, e.g., www.example.com.', + 'type' => 'string', + 'required' => false, + 'example' => 'www.example.com', + 'title' => '', + ], + 'Enabled' => [ + 'description' => 'Whether the origin is enabled:'."\n" + ."\n" + .'- true: Enabled;'."\n" + .'- false: Disabled.', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', + ], + 'Header' => [ + 'description' => 'The request header to be included when fetching from the origin, supporting only Host.', + 'type' => 'any', + 'required' => false, + 'example' => '{'."\n" + .' "Host": ['."\n" + .' "example.com"'."\n" + .' ]'."\n" + .' }', + 'title' => '', + ], + 'Weight' => [ + 'description' => 'The weight, an integer between 0 and 100.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '50', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The type of the origin:'."\n" + ."\n" + .'- ip_domain: IP or domain type origin;'."\n" + .'- OSS: OSS address origin;'."\n" + .'- S3: AWS S3 origin.', + 'type' => 'string', + 'required' => false, + 'example' => 'OSS', + 'title' => '', + ], + 'AuthConf' => [ + 'description' => 'Authentication information. When the origin is OSS or S3 and requires authentication, you need to pass the related configuration information for authentication.', + 'type' => 'object', + 'properties' => [ + 'AuthType' => [ + 'description' => 'The type of authentication.'."\n" + ."\n" + .'- public: Public read/write, used when the origin is OSS or S3 and is set to public read/write;'."\n" + .'- private_same_account: Private same account, used when the origin is OSS and the authentication type is private within the same account;'."\n" + .'- private_cross_account: Private cross-account, used when the origin is OSS and the authentication type is private across accounts;'."\n" + .'- private: Used when the origin is S3 and the authentication type is private.', + 'type' => 'string', + 'required' => false, + 'example' => 'public', + 'title' => '', + ], + 'AccessKey' => [ + 'description' => 'The AccessKey required for private authentication.', + 'type' => 'string', + 'required' => false, + 'example' => 'yourAccessKeyID', + 'title' => '', + ], + 'SecretKey' => [ + 'description' => 'The SecretKey required for private authentication.', + 'type' => 'string', + 'required' => false, + 'example' => 'yourAccessKeySecret', + 'title' => '', + ], + 'Version' => [ + 'description' => 'The signature version required when the origin is AWS S3.', + 'type' => 'string', + 'required' => false, + 'example' => 'v2', + 'title' => '', + ], + 'Region' => [ + 'description' => 'The region of the origin required when the origin is AWS S3.', + 'type' => 'string', + 'required' => false, + 'example' => 'us-east-1'."\n", + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'IpVersionPolicy' => [ + 'type' => 'string', + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '216558609793952', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + 'Id' => [ + 'description' => 'Source address pool ID.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1038520525196928', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'SourceNumberExceedLimit', + 'errorMessage' => 'The number of sources in the origin pool exceeds the quota limit.', + 'description' => 'The number of sources that can be created in the origin pool has reached the upper limit of the package. Please check your package quota and upgrade the package to obtain more quota.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'OriginPoolNotExist', + 'errorMessage' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + 'description' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'OriginPoolNameConflict', + 'errorMessage' => 'The specified origin pool name already exists or its hostname conflicts with a load balancer name. Try again with a unique name.', + 'description' => 'The specified origin pool name already exists or its hostname conflicts with a load balancer name. Try again with a unique name.', + ], + [ + 'errorCode' => 'SourceAddressInvalid', + 'errorMessage' => 'Invalid origin address. Check whether the IP address or domain name is in the valid format.', + 'description' => 'Invalid origin address. Check whether the IP address or domain name is in the valid format.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'InvalidParameter.AddressConflict', + 'errorMessage' => 'Duplicate origin addresses. Make sure that each origin address for the same pool is unique.', + 'description' => 'Duplicate origin addresses. Make sure that each origin address for the same pool is unique.', + ], + [ + 'errorCode' => 'SourceCircleExist', + 'errorMessage' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + 'description' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + ], + [ + 'errorCode' => 'SourceInBlackList', + 'errorMessage' => 'The source is in the black list.', + 'description' => 'The source is in the black list.', + ], + [ + 'errorCode' => 'InvalidParameter.SourceIpInBlacklist', + 'errorMessage' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivateIpAsSourceUnsupported', + 'errorMessage' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'errorCode' => 'OriginPool.TypeNotSupport', + 'errorMessage' => 'The origin address pool type is not supported.', + 'description' => 'The origin address pool type is not supported.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'Update a Single Origin Pool', + 'changeSet' => [ + [ + 'createdAt' => '2025-05-20T11:43:19.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateOriginPool', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\",\\n \\"Id\\": 1038520525196928\\n}","type":"json"}]', + ], + 'UpdateOriginProtection' => [ + 'summary' => 'Enables or disables IP convergence.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '250098', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4VDL9A', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'OriginConverge', + 'in' => 'query', + 'schema' => [ + 'description' => 'The IP convergence status.'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'AutoConfirmIPList', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'example' => 'off', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + 'description' => '', + ], + ], + ], + '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' => '4C6B5E5A-42FC-5DF2-986C-4DAAE3C55086', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'OriginProtectionNotExist', + 'errorMessage' => 'The site is not configured with origin protection, so it cannot be modified or deleted.', + 'description' => 'The site is not configured with origin protection, so it cannot be modified or deleted.', + ], + [ + 'errorCode' => 'FunctionArgConflict.OriginProtection', + 'errorMessage' => 'The automatic enabling of the latest back-to-source IP list and the back-to-source convergence are mutually exclusive functions and cannot be enabled at the same time.', + 'description' => 'The automatic enabling of the latest back-to-source IP list and the back-to-source convergence are mutually exclusive functions and cannot be enabled at the same time.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'UpdateOriginProtection', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-21T06:58:57.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateOriginProtection', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C6B5E5A-42FC-5DF2-986C-4DAAE3C55086\\"\\n}","type":"json"}]', + ], + 'UpdateOriginProtectionIpWhiteList' => [ + 'summary' => 'Updates the IP whitelist for origin protection used by a website to the latest version.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '250107', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4VDL9A', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + ], + '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' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OriginProtectionNotExist', + 'errorMessage' => 'The site is not configured with origin protection, so it cannot be modified or deleted.', + 'description' => 'The site is not configured with origin protection, so it cannot be modified or deleted.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\"\\n}","type":"json"}]', + 'title' => 'UpdateOriginProtectionIpWhiteList', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-21T06:58:57.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateOriginProtectionIpWhiteList', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateOriginProtectionIpWhiteList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'UpdateOriginRule' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257994', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '5407498413****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Valid values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, used to match user requests with conditional expressions. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")', + 'title' => '', + ], + ], + [ + 'name' => 'OriginHost', + 'in' => 'query', + 'schema' => [ + 'description' => 'The HOST carried in the origin request.', + 'type' => 'string', + 'required' => false, + 'example' => 'origin.example.com'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'OriginScheme', + 'in' => 'query', + 'schema' => [ + 'description' => 'Protocol used for the origin request. Valid values:'."\n" + .'- http: Use HTTP protocol for origin pull.'."\n" + .'- https: Use HTTPS protocol for origin pull.'."\n" + .'- follow: Follow the client\'s protocol for origin pull.', + 'type' => 'string', + 'required' => false, + 'example' => 'http', + 'title' => '', + ], + ], + [ + 'name' => 'OriginSni', + 'in' => 'query', + 'schema' => [ + 'description' => 'SNI carried in the origin request.', + 'type' => 'string', + 'required' => false, + 'example' => 'origin.example.com'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'DnsRecord', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rewrite the DNS resolution record of the origin request.', + 'type' => 'string', + 'required' => false, + 'example' => 'test.example.com'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'OriginHttpPort', + 'in' => 'query', + 'schema' => [ + 'description' => 'Port of the origin server when using HTTP protocol for origin pull.', + 'type' => 'string', + 'required' => false, + 'example' => '8080', + 'title' => '', + ], + ], + [ + 'name' => 'OriginHttpsPort', + 'in' => 'query', + 'schema' => [ + 'description' => 'Port of the origin server when using HTTPS protocol for origin pull.', + 'type' => 'string', + 'required' => false, + 'example' => '4433', + 'title' => '', + ], + ], + [ + 'name' => 'Range', + 'in' => 'query', + 'schema' => [ + 'description' => 'Use range chunking for origin pull file download. Valid values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.'."\n" + .'- force: Force.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'OriginMtls', + 'in' => 'query', + 'schema' => [ + 'description' => 'mTLS switch. Valid values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'OriginVerify', + 'in' => 'query', + 'schema' => [ + 'description' => 'Origin certificate verification switch. Valid values:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'RangeChunkSize', + 'in' => 'query', + 'schema' => [ + 'description' => 'Range shard size. Valid values:'."\n" + .'- 512 KB'."\n" + .'- 1 MB'."\n" + .'- 2 MB'."\n" + .'- 4 MB', + 'type' => 'string', + 'required' => false, + 'example' => '1MB', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. Rules with smaller numeric values are executed first.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'OriginReadTimeout', + 'in' => 'query', + 'schema' => [ + 'description' => 'Origin read timeout (seconds).', + 'type' => 'string', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + ], + [ + 'name' => 'Follow302Enable', + 'in' => 'query', + 'schema' => [ + 'description' => '302 redirection toggle. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Follow302MaxTries', + 'in' => 'query', + 'schema' => [ + 'description' => 'Maximum number of 302 redirect attempts. Valid values: [1–5].', + 'type' => 'string', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'Follow302RetainArgs', + 'in' => 'query', + 'schema' => [ + 'description' => 'Toggle to retain original request parameters. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Follow302RetainHeader', + 'in' => 'query', + 'schema' => [ + 'description' => 'Toggle to retain original request headers. Valid values:'."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Follow302TargetHost', + 'in' => 'query', + 'schema' => [ + 'description' => 'The origin host after a 302 redirect is modified.', + 'type' => 'string', + 'required' => false, + 'example' => 'test.com', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Modify Origin Rule Configuration for Site', + 'summary' => 'Modify Origin Rule Configuration for Site', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-17T08:47:33.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-04-01T01:57:04.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-03-20T05:57:46.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2025-02-27T09:16:40.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateOriginRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + ], + 'UpdatePage' => [ + 'summary' => 'Modifies the configurations of a custom error page, such as the name, description, content type, and content of the page.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239594', + 'abilityTreeNodes' => [ + 'FEATUREdcdnL8HX1L', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The ID of the custom error page, which can be obtained by calling the [ListPages](~~2850223~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '50000001', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The name of the custom error page.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'example', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The description of the custom error page.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'a custom deny page', + ], + ], + [ + 'name' => 'ContentType', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The Content-Type field in the HTTP header. Valid values:'."\n" + ."\n" + .'* text/html'."\n" + .'* application/json'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'text/html', + ], + ], + [ + 'name' => 'Content', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => 'The Base64-encoded content of the error page. The content type is specified by the Content-Type field.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'PGh0bWw+aGVsbG8gcGFnZTwvaHRtbD4=', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'errorCode' => 'Page.NotExist', + 'errorMessage' => 'The specified custom error page does not exist or is not recognized by the system.Check whether the error page identifier is correct and matches an error page that has been created and registered in the system\'s error handling framework.If you want to create a new error page, make sure that the creation process is complete.', + 'description' => 'The specified custom error page does not exist or is not recognized by the system.Check whether the error page identifier is correct and matches an error page that has been created and registered in the system\'s error handling framework.If you want to create a new error page, make sure that the creation process is complete.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\"\\n}","type":"json"}]', + 'title' => 'UpdatePage', + 'changeSet' => [ + [ + 'createdAt' => '2024-12-26T15:07:29.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-09-25T07:02:48.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:39.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdatePage', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdatePage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'UpdateRatePlanSpec' => [ + 'summary' => 'You can invoke UpdateRatePlanSpec to modify the Package Tier. ', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239593', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Instance ID. ', + 'type' => 'string', + 'required' => false, + 'example' => 'xcdn-91fknmb80f0g', + 'title' => '', + ], + ], + [ + 'name' => 'TargetPlanName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Target package name. ', + 'type' => 'string', + 'required' => false, + 'example' => 'basic', + 'title' => '', + ], + ], + [ + 'name' => 'TargetPlanCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'Target package code. ', + 'type' => 'string', + 'required' => false, + 'example' => 'entranceplan', + 'title' => '', + ], + ], + [ + 'name' => 'OrderType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The specification update type. Valid values:'."\n" + ."\n" + .'* DOWNGRADE'."\n" + .'* UPGRADE'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'UPGRADE', + 'enum' => [ + 'UPGRADE', + ], + 'title' => '', + ], + ], + [ + 'name' => 'ChargeType', + 'in' => 'query', + 'schema' => [ + 'description' => 'Billing type: '."\n" + .'- PREPAY: subscription. '."\n" + .'- POSTPAY: pay-as-you-go. ', + 'type' => 'string', + 'required' => false, + 'example' => 'PREPAY', + 'title' => '', + ], + ], + [ + 'name' => 'AutoPay', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable auto payment.'."\n", + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => 'false', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request', + 'type' => 'string', + 'example' => '30423A7F-A83D-1E24-B80E-86DD25790758'."\n", + ], + 'OrderId' => [ + 'description' => 'Order ID. ', + 'type' => 'string', + 'example' => '2223332122***', + 'title' => '', + ], + 'InstanceId' => [ + 'description' => 'Instance ID. ', + 'type' => 'string', + 'example' => 'xcdn-as23ds***', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'CheckPlanFailed', + 'errorMessage' => 'Invalid plan name or code. Check and try again.', + 'description' => 'Invalid plan name or code. Check and try again.', + ], + [ + 'errorCode' => 'InvalidSiteICP', + 'errorMessage' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + 'description' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + ], + [ + 'errorCode' => 'InvalidSiteName', + 'errorMessage' => 'Invalid website name. Check and try again.', + 'description' => 'Invalid website name. Check and try again.', + ], + [ + 'errorCode' => 'SYSTEM.NoSpecificCodeFailed', + 'errorMessage' => 'Invalid subscription duration. Check and try again.', + 'description' => 'Invalid subscription duration. Check and try again.', + ], + [ + 'errorCode' => 'Order.InstanceHasUnpaidOrder', + 'errorMessage' => 'You have an unpaid order. Complete the payment or cancel the order first.', + 'description' => 'You have an unpaid order. Complete the payment or cancel the order first.', + ], + [ + 'errorCode' => 'InvalidInstance', + 'errorMessage' => 'The instance ID is missing or invalid. Make sure that the instance ID is valid and try again.', + 'description' => 'The instance ID is missing or invalid. Make sure that the instance ID is valid and try again.', + ], + [ + 'errorCode' => 'InsufficientBalance', + 'errorMessage' => 'Your account balance is insufficient.', + 'description' => 'Your account balance is insufficient, please recharge before purchasing.', + ], + [ + 'errorCode' => 'InsufficientAvailableQuota', + 'errorMessage' => 'Your account balance is insufficient.', + 'description' => 'Your account is in arrears, please pay the arrears before purchasing.', + ], + [ + 'errorCode' => 'UpdowngradeConfigNoChange', + 'errorMessage' => 'Failed to change the configuration because the new configuration you specified is the same as the current one in use. Specify a correct configuration and try again.', + 'description' => 'The configuration for the upgrade or downgrade is not changed.', + ], + [ + 'errorCode' => 'InvalidComponent', + 'errorMessage' => 'The order parameters is invalid.', + 'description' => 'The order parameters is invalid.', + ], + [ + 'errorCode' => 'RamAuthFailed', + 'errorMessage' => 'The sub-account has no operation permission.', + 'description' => '', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Package Upgrade/Downgrade ', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T06:13:39.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateRatePlanSpec', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UpdateRatePlanSpec', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30423A7F-A83D-1E24-B80E-86DD25790758\\\\n\\",\\n \\"OrderId\\": \\"2223332122***\\",\\n \\"InstanceId\\": \\"xcdn-as23ds***\\"\\n}","type":"json"}]', + 'translator' => 'machine', + ], + 'UpdateRecord' => [ + 'summary' => 'Update DNS records, supporting multiple record types and origin authentication configuration. ', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239650', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVFT29S', + ], + ], + 'parameters' => [ + [ + 'name' => 'RecordId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the record, which can be obtained by calling [ListRecords](~~2850265~~).', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Ttl', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The time-to-live (TTL) of the record, in seconds. The valid range is **30–86400**, or 1. When set to 1, the TTL is automatically determined.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '30', + 'title' => '', + ], + ], + [ + 'name' => 'Proxied', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'Specifies whether proxy acceleration is enabled for the record. Only CNAME and A/AAAA records support proxy acceleration. Valid values: '."\n" + .'- **true**: Enables proxy. '."\n" + .'- **false**: Disables proxy acceleration. ', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'description' => '', + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Data', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'DNS information of the record. The content required for this field varies depending on the record type. For details, refer to the [documentation](~~2708761~~)[documentation](https://www.alibabacloud.com/help/doc-detail/2708761.html). ', + 'type' => 'object', + 'properties' => [ + 'Value' => [ + 'description' => 'The value or partial content of the record. This parameter is required when adding A/AAAA, CNAME, NS, MX, TXT, CAA, SRV, or URI records. Its meaning varies depending on the record type:'."\n" + ."\n" + .'- **A/AAAA**: The IP address pointed to. When multiple IP addresses are specified, separate them with commas (","). At least one IPv4 address must be provided.'."\n" + .'- **CNAME**: The target domain name pointed to.'."\n" + .'- **NS**: The name server designated for the domain.'."\n" + .'- **MX**: A valid target mail server domain name.'."\n" + .'- **TXT**: A valid text string.'."\n" + .'- **CAA**: A valid certification authority domain name.'."\n" + .'- **SRV**: A valid target host domain name.'."\n" + .'- **URI**: A valid URI string.', + 'type' => 'string', + 'required' => false, + 'example' => 'example.com', + 'title' => '', + ], + 'Priority' => [ + 'description' => 'The priority of the record, ranging from **0 to 65535**. A smaller numeric value indicates a higher priority. This parameter is required when adding MX, SRV, or URI records.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + 'Flag' => [ + 'description' => 'The flag of the record. For CAA records, the Flag indicates its priority and processing method, with a range of **0 to 255**. This parameter is required when adding a CAA record.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '128', + 'title' => '', + ], + 'Tag' => [ + 'description' => 'The tag of the record. For CAA records, the Tag specifies its specific type and purpose. This parameter is required when adding a CAA record.', + 'type' => 'string', + 'required' => false, + 'example' => 'issue', + 'title' => '', + ], + 'Weight' => [ + 'description' => 'The weight of the record, ranging from **0 to 65535**. This parameter is required when adding SRV or URI records.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Port' => [ + 'description' => 'The port of the record, ranging from **0 to 65535**. This parameter is required when adding an SRV record.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Type' => [ + 'description' => 'The certificate type (for CERT records) or public key type (for SSHFP records). This parameter is required when adding CERT or SSHFP records.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'KeyTag' => [ + 'description' => 'The public key identity of the record, ranging from **0 to 65535**. This parameter is required when adding a CERT record.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Algorithm' => [ + 'description' => 'The encryption algorithm used by the record, ranging from **0 to 255**. This field is required when adding CERT or SSHFP records.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Certificate' => [ + 'description' => 'The public key certificate information of the record. This parameter is required when adding CERT, SMIMEA, or TLSA records.', + 'type' => 'string', + 'required' => false, + 'example' => 'dGVzdGFkYWxrcw==', + 'title' => '', + ], + 'Usage' => [ + 'description' => 'Usage identifier of the record, with a range of **0~255**. This parameter is required when adding SMIMEA or TLSA records. ', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Selector' => [ + 'description' => 'The type of certificate or public key used by the record, with a range of **0–255**. This parameter is required when adding SMIMEA and TLSA records.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'MatchingType' => [ + 'description' => 'The algorithm policy used by the record for matching or authenticating certificates, ranging from **0 to 255**. This parameter is required when adding SMIMEA or TLSA records.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + 'Fingerprint' => [ + 'description' => 'Public key fingerprint value of the record. This parameter is required when adding SSHFP records. ', + 'type' => 'string', + 'required' => false, + 'example' => 'abcdef1234567890', + 'title' => '', + ], + ], + 'required' => true, + 'example' => '{'."\n" + .' "value":"2.2.2.2"'."\n" + .'}', + 'title' => '', + ], + ], + [ + 'name' => 'SourceType', + 'in' => 'query', + 'schema' => [ + 'description' => 'Origin type for CNAME records. This parameter is required when adding a CNAME record. Valid values: '."\n" + ."\n" + .'- **OSS**: OSS origin. '."\n" + .'- **S3**: S3 origin. '."\n" + .'- **LB**: Server Load Balancer origin. '."\n" + .'- **OP**: Address pool origin. '."\n" + .'- **Domain**: Standard domain name origin. '."\n" + ."\n" + .'If this parameter is not specified or left empty, it defaults to Domain, indicating a standard domain name origin. ', + 'type' => 'string', + 'required' => false, + 'example' => 'OSS', + 'title' => '', + ], + ], + [ + 'name' => 'BizName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The business scenario for acceleration. This parameter is not required for records that do not enable acceleration. Valid values:'."\n" + .'- **video_image**: Video and image.'."\n" + .'- **api**: API.'."\n" + .'- **web**: Web page.', + 'type' => 'string', + 'required' => false, + 'example' => 'web', + 'title' => '', + ], + ], + [ + 'name' => 'Comment', + 'in' => 'query', + 'schema' => [ + 'description' => 'Comment for the record. ', + 'type' => 'string', + 'required' => false, + 'example' => 'This is a remark.', + 'title' => '', + ], + ], + [ + 'name' => 'AuthConf', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Authentication information for the origin of a CNAME record.', + 'type' => 'object', + 'properties' => [ + 'AuthType' => [ + 'description' => 'The origin authentication type. The supported authentication types vary depending on the origin type, which is specified by the SourceType parameter in this API. When the origin type is OSS or S3, you must specify the authentication type. Valid values:'."\n" + .'- **public**: Public-read. Select this value when the origin type is OSS or S3 and the origin is publicly readable.'."\n" + .'- **private**: Private read. Select this value when the origin type is S3 and the origin is privately readable.'."\n" + .'- **private_same_account**: Private same-account read. Select this value when the origin type is OSS, the origin is privately readable, and both the origin and the current service belong to the same Alibaba Cloud account.', + 'type' => 'string', + 'required' => false, + 'example' => 'private', + 'title' => '', + ], + 'SecretKey' => [ + 'description' => 'The SecretKey of the Alibaba Cloud account that owns the origin. This value is required when the origin type is OSS and the authentication type is private cross-account read, or when the origin type is S3 and the authentication type is private read.', + 'type' => 'string', + 'required' => false, + 'example' => 'u0Nkg5gBK*******QF5wvKMM504JUHt', + 'title' => '', + ], + 'AccessKey' => [ + 'description' => 'The AccessKey of the account to which the origin belongs. This value is required when the origin type is OSS and the origin authentication type is private cross-account read, or when the origin type is S3 and the origin authentication type is private read.', + 'type' => 'string', + 'required' => false, + 'example' => 'VIxuvJSA2S03f******kp208dy5w7', + 'title' => '', + ], + 'Region' => [ + 'description' => 'The signature algorithm version. This parameter is required when the origin type is S3 and the authentication type is private read. Supported versions:'."\n" + .'- **v2**'."\n" + .'- **v4**'."\n" + ."\n" + .'If not specified, the default value is v4.', + 'type' => 'string', + 'required' => false, + 'example' => 'v2', + 'title' => '', + ], + 'Version' => [ + 'description' => 'The region of the origin. This value is required when the origin type is S3. You can obtain the correct region from the official S3 website.', + 'type' => 'string', + 'required' => false, + 'example' => 'us-east-1', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'HostPolicy', + 'in' => 'query', + 'schema' => [ + 'description' => 'The origin fetch HOST policy, which takes effect only for CNAME records. It defines the policy for including the HOST header during origin fetch. Two modes are supported:'."\n" + .'- **follow_hostname**: Follow the host record.'."\n" + .'- **follow_origin_domain**: Follow the origin domain name.', + 'type' => 'string', + 'required' => false, + 'example' => 'follow_origin_domain', + 'enum' => [], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Request ID. ', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + 'description' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordData', + 'errorMessage' => 'Invalid record content. Adjust your configurations based on the API documentation.', + 'description' => 'Invalid record content. Adjust your configurations based on the API documentation.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'Record.Reserved', + 'errorMessage' => 'Another operation on the record is in progress. Try again later.', + 'description' => 'Another operation on the record is in progress. Try again later.', + ], + [ + 'errorCode' => 'Record.ServiceBusy', + 'errorMessage' => 'The record is being configured. Try again later.', + 'description' => 'The record is being configured. Try again later.', + ], + [ + 'errorCode' => 'Record.Conflict', + 'errorMessage' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + 'description' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + ], + [ + 'errorCode' => 'SourceCircleExist', + 'errorMessage' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + 'description' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidBiz', + 'errorMessage' => 'The incoming parameter value of the business type is empty or incorrect.', + 'description' => 'The incoming parameter value of the business type is empty or incorrect.', + ], + [ + 'errorCode' => 'Record.RecordValueContainSourceInBlacklist', + 'errorMessage' => 'The record value contains the blacklist address, and the details can be submitted for work order consultation.', + 'description' => 'The record value contains the blacklist address, and the details can be submitted for work order consultation.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidRecordNameSuffix', + 'errorMessage' => 'If you add other records, the suffix of the host record must be the same as the site name.', + 'description' => 'If you add another record, the suffix of the host record must be the same as the site name. Please adjust and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordNameExceedLimit', + 'errorMessage' => 'The length of the record name exceeds the maximum limit.', + 'description' => 'The record name cannot exceed 200 characters.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidHostPolicy', + 'errorMessage' => 'The host parameter in the origin fetch request is invalid.', + 'description' => 'The host parameter in the origin fetch request is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.CnameSiteRecordUnsupport', + 'errorMessage' => 'The current record type is not supported for a website connected by CNAME setup.', + 'description' => 'You can only add A/AAAA and CNAME records to a website connected by CNAME setup.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordCommentExceedLimit', + 'errorMessage' => 'The number of incoming record comment exceeds the maximum limit.', + 'description' => 'The record comment information is greater than 50 characters.', + ], + [ + 'errorCode' => 'QuotaExceed.WildCardRecord', + 'errorMessage' => 'The number of wildcard records exceeds the plan quota. Contact the sales team to increase your quota.', + 'description' => 'The number of wildcard records exceeds the plan quota. Contact the sales team to increase your quota.', + ], + [ + 'errorCode' => 'Record.AorAAAARecordValueContainInvalidIP', + 'errorMessage' => 'The A/AAAA record value contains the invalid IP.', + 'description' => 'When creating or editing an A/AAAA record, the record value contains an invalid IP.', + ], + [ + 'errorCode' => 'Record.AorAAAARecordValueIPExceedLimit', + 'errorMessage' => 'The number of IP addresses exceeds the limit for the A/AAAA record.', + 'description' => 'When creating or editing A/AAAA records, the number of IP addresses exceeds the limit. A host record only supports 8 IPv4 and 4 IPv6 IP addresses. Please adjust and try again.', + ], + [ + 'errorCode' => 'Record.CAARecordFlagExceedLimit', + 'errorMessage' => 'The value of the flag parameter for a CAA record is out of range.', + 'description' => 'The value of the flag parameter for a CAA record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CAARecordTagExceedLimit', + 'errorMessage' => 'The CAA record tag has illegal characters other than issue, issuewild, and iodef.', + 'description' => 'When creating or editing CAA records, illegal characters other than issue, issuewild, and iodef are passed in the tag value.', + ], + [ + 'errorCode' => 'Record.CERTRecordAlgorithmExceedLimit', + 'errorMessage' => 'The value of the algorithm parameter for the CERT record is out of range.', + 'description' => 'The value of the algorithm parameter for the CERT record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CERTRecordKeyTagExceedLimit', + 'errorMessage' => 'The value of the keyTag parameter for a CERT record is out of range.', + 'description' => 'The value of the keyTag parameter for a CERT record is out of range when creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CERTRecordTypeExceedLimit', + 'errorMessage' => 'The CERT record type is out of range.', + 'description' => 'The CERT record type parameter was out of range when creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualExistedIPASource', + 'errorMessage' => 'The CNAME record cannot be the origin of the added Layer 4 application. Check the values of other Layer 4 proxy records and try again.', + 'description' => 'The CNAME record cannot be the origin of the added Layer 4 application. Check the values of other Layer 4 proxy records and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualExistedPoolSource', + 'errorMessage' => 'The CNAME record cannot be the origin of the added source address pool. Check and try again.', + 'description' => 'The CNAME record cannot be the origin of the added source address pool. Check and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualExistedRecordSource', + 'errorMessage' => 'The CNAME record cannot be the origin of an added record. Check the record values of other records and try again.', + 'description' => 'The CNAME record cannot be the origin of an added record. Check the record values of other records and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualOtherExistedIPARecord', + 'errorMessage' => 'The record value of a CNAME record cannot be exactly the same as the name of another existing Layer 4 proxy record.', + 'description' => 'The record value of a CNAME record cannot be exactly the same as the name of another existing Layer 4 proxy record.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualOtherExistedRecord', + 'errorMessage' => 'The record value of a CNAME record cannot be the same as the name of another existing CNAME record.', + 'description' => 'The record value of a CNAME record cannot be the same as the name of another existing CNAME record.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueCannotEqualHostRecord', + 'errorMessage' => 'The record value of the CNAME record cannot be exactly the same as the host record.', + 'description' => 'The record value of the CNAME record cannot be exactly the same as the host record. Please adjust and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueExceedLimit', + 'errorMessage' => 'The CNAME record value cannot exceed 253 characters, please delete and try again.', + 'description' => 'The record value cannot exceed 253 characters, please delete and try again.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueInvalidDomainUnderline', + 'errorMessage' => 'Record values (DNS-only records) generally start with an underscore, a lowercase letter a-z, and the numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + 'description' => 'Record values (DNS-only records) generally start with an underscore, a lowercase letter a-z, and the numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + ], + [ + 'errorCode' => 'Record.CNameRecordValueInvalidRecordDomain', + 'errorMessage' => 'Record values (records with agent acceleration enabled) must start with a lowercase letter a-z and numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + 'description' => 'Record values (records with agent acceleration enabled) must start with a lowercase letter a-z and numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + ], + [ + 'errorCode' => 'Record.EmptyRecordValue', + 'errorMessage' => 'The record value is empty, please fill it in correctly and try again.', + 'description' => 'The record value is empty, please fill it in correctly and try again.', + ], + [ + 'errorCode' => 'Record.InvalidCertEncodeWithCERTRecord', + 'errorMessage' => 'The certificate value of the CERT record is not base64-encoded.', + 'description' => 'When you create or edit CERT record information, the certificate value of the CERT record is not base64-encoded.', + ], + [ + 'errorCode' => 'Record.InvalidFingerprintWithSSHFPRecord', + 'errorMessage' => 'The SSHFP record fingerprint value is not hexadecimal encoded.', + 'description' => 'When creating or editing SSHFP record information, the fingerprint value is not hexadecimal encoded.', + ], + [ + 'errorCode' => 'Record.InvalidIssueDataWithCAARecordTag', + 'errorMessage' => 'The tag of a CAA record can only be a semicolon or a valid domain name separated by semicolons.', + 'description' => 'When creating or editing CAA record information, the tag tag of a CAA record can only be a semicolon or a valid domain name separated by semicolons.', + ], + [ + 'errorCode' => 'Record.InvalidMailAddressWithCAARecordTag', + 'errorMessage' => 'The CAA record tag is prefixed with mailto:, it must be followed by a legal email address.', + 'description' => 'When creating or editing CAA record information, when Tag is iodef and Value is prefixed with mailto:, it must be followed by a legal email address.', + ], + [ + 'errorCode' => 'Record.InvalidSmimeaEncodeWithSMIMEARecord', + 'errorMessage' => 'The certificate value of the SMIMEA record is not base64-encoded.', + 'description' => 'When creating or editing SMIMEA record information, the certificate value of the SMIMEA record is not base64-encoded.', + ], + [ + 'errorCode' => 'Record.InvalidTslaEncodeWithTSLARecord', + 'errorMessage' => 'The certificate value passed in is not hexadecimal encoded with TSLA record.', + 'description' => 'When creating or editing TLSA record information, the certificate value passed in is not hexadecimal encoded.', + ], + [ + 'errorCode' => 'Record.InvalidURLWithURIRecord', + 'errorMessage' => 'The URI record value must be a valid URL address.', + 'description' => 'When creating or editing URI record information, the record value must be a valid URL address.', + ], + [ + 'errorCode' => 'Record.NoRecordNameConflictWithNSRecord', + 'errorMessage' => 'No record name can conflict with an NS record name.', + 'description' => 'No record name can conflict with an NS record name.', + ], + [ + 'errorCode' => 'Record.NSRecordCannotEqualSiteName', + 'errorMessage' => 'An NS record with the exact same name as the site name is not allowed.', + 'description' => 'Adding an NS record with the exact same name as the site name is not allowed.', + ], + [ + 'errorCode' => 'Record.OSSSourceInvalidAuthType', + 'errorMessage' => 'The recorded OSS origin station authentication type is not supported.', + 'description' => 'The recorded OSS origin station authentication type is not supported.', + ], + [ + 'errorCode' => 'Record.ParseJSONRecordValueFailed', + 'errorMessage' => 'The JSON data format of the record data is incorrect. Please adjust and try again.', + 'description' => 'The JSON data format of the record data is incorrect. Please adjust and try again.', + ], + [ + 'errorCode' => 'Record.PoolSourceNotExistPool', + 'errorMessage' => 'If the source station type of the record is source address pool, the input source address pool does not exist.', + 'description' => 'If the source station type of the record is source address pool, the input source address pool does not exist.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictForSpecifiedRecordType', + 'errorMessage' => 'The A/AAAA and CNAME records cannot have the same name.', + 'description' => 'The A/AAAA and CNAME records cannot have the same name.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithIPAName', + 'errorMessage' => 'The record name cannot have the same name as the Layer 4 proxy record.', + 'description' => 'When you create or edit DNS record information, the record name cannot have the same name as the Layer 4 proxy record.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithLBName', + 'errorMessage' => 'The record name cannot be the same as the Server Load Balancer record name.', + 'description' => 'When creating or editing DNS record information, the record name cannot be the same as the Server Load Balancer record name.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithNSRecord', + 'errorMessage' => 'The NS record name cannot be the same as any other type of record name.', + 'description' => 'When creating or editing DNS record information, the NS record name cannot be the same as any other type of record name.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithPoolName', + 'errorMessage' => 'The record name cannot be the same as the source address pool record name.', + 'description' => 'When creating or editing DNS record information, the record name cannot be the same as the source address pool record name.', + ], + [ + 'errorCode' => 'Record.RecordNameInBlacklist', + 'errorMessage' => 'The record name is in blacklist.', + 'description' => 'The record name is in the blacklist and cannot be added.', + ], + [ + 'errorCode' => 'Record.S3SourceInvalidAuthRegion', + 'errorMessage' => 'The recorded S3 origin belongs to a region that is not in the supported range.', + 'description' => 'The recorded S3 origin belongs to a region that is not in the supported range.', + ], + [ + 'errorCode' => 'Record.S3SourceInvalidAuthType', + 'errorMessage' => 'The recorded S3 origin authentication type is not supported.', + 'description' => 'The recorded S3 origin authentication type is not supported.', + ], + [ + 'errorCode' => 'Record.S3SourceInvalidAuthVersion', + 'errorMessage' => 'The version of the authentication signature algorithm of the S3 origin is not supported.', + 'description' => 'The version of the authentication signature algorithm of the S3 origin is not supported.', + ], + [ + 'errorCode' => 'Record.SourceAccessKeyExceedLimit', + 'errorMessage' => 'The character length of the AccessKey parameter value for the record source station is out of range.', + 'description' => 'The character length of the AccessKey parameter value for the record source station is out of range.', + ], + [ + 'errorCode' => 'Record.SourceEmptyAK', + 'errorMessage' => 'The AccessKey of the account to which the origin site belongs is empty.', + 'description' => 'The AccessKey of the account to which the origin site belongs is empty.', + ], + [ + 'errorCode' => 'Record.SourceEmptyAuthConf', + 'errorMessage' => 'The authentication information of the origin station is empty.', + 'description' => 'The recorded authentication information of the origin station is empty.', + ], + [ + 'errorCode' => 'Record.SourceEmptySecretKey', + 'errorMessage' => 'The SecretKey of the account to which the recorded origin site belongs is empty.', + 'description' => 'The SecretKey of the account to which the recorded origin site belongs is empty.', + ], + [ + 'errorCode' => 'Record.SourceSecretKeyExceedLimit', + 'errorMessage' => 'The character length of the SecretKey parameter value for the record source station is out of range.', + 'description' => 'The character length of the SecretKey parameter value for the record source station is out of range.', + ], + [ + 'errorCode' => 'Record.SRVRecordInvalidRecordName', + 'errorMessage' => 'SRV host record name is not valid. The SRV host record name must begin with an underscore (-) followed by a lowercase letter (a-z), a number (0-9), and a hyphen (-), followed by 1 arbitrary character, followed by an underscore (-) and a lowercase letter, number, or hyphen.', + 'description' => 'SRV host record name is not valid. The SRV host record name must begin with an underscore (-), followed by a lowercase letter (a-z), number (0-9), hyphen (-), followed by any character, followed by an underscore (-) and a lowercase letter, number, or hyphen.', + ], + [ + 'errorCode' => 'Record.SRVRecordPortExceedLimit', + 'errorMessage' => 'The SRV record port is out of range.', + 'description' => 'When creating or editing DNS record information, the SRV record port filled in is out of range.', + ], + [ + 'errorCode' => 'Record.SSHFPRecordAlgorithmExceedLimit', + 'errorMessage' => 'The algorithm parameter value for the SSHFP record is out of range.', + 'description' => 'The algorithm parameter value for the SSHFP record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.TTLExceedLimit', + 'errorMessage' => 'The TTL parameter value for a record is out of range.', + 'description' => 'The TTL parameter value for a record is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.TXTRecordValueExceedLimit', + 'errorMessage' => 'The TXT record value cannot exceed 450 characters.', + 'description' => 'When you create or edit DNS record information, the TXT record value cannot exceed 450 characters.', + ], + [ + 'errorCode' => 'Record.TypeExceedLimitWithSSHFPRecord', + 'errorMessage' => 'The SSHFP record Type parameter value is out of range.', + 'description' => 'The SSHFP record Type parameter value is out of range while creating or editing DNS record information.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameContainDoubleConsecutiveDot', + 'errorMessage' => 'Illegal host record name. The host record cannot contain consecutive dot.', + 'description' => 'Illegal host record name. The host record cannot contain consecutive dot.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameForbidStarSev', + 'errorMessage' => 'Illegal host record name, SRV record name disallowed asterisk.', + 'description' => 'Illegal host record name, SRV record name disallowed asterisk.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidATChar', + 'errorMessage' => 'Illegal host record name. The at symbol can only appear at the top of the host record and can only be followed. Symbol, other strings are not allowed.', + 'description' => 'Illegal host record name. The \'@\' symbol can only appear at the top of the host record and can only be followed. Symbol, other strings are not allowed.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidNamePrefixSuffix', + 'errorMessage' => 'Illegal host record name. Host record values cannot start or end with a dot, a hyphens.', + 'description' => 'Illegal host record name. Host record values cannot start or end with a dot, a hyphens.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidStartSymbol', + 'errorMessage' => 'Illegal host record name. The asterisk is only allowed in the first place of the host record, and only the following dot is allowed after the asterisk.', + 'description' => 'Illegal host record name. The asterisk is only allowed in the first place of the host record, and only the following dot is allowed after the asterisk.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameSeperateStringTooLarge', + 'errorMessage' => 'Illegal host record name. The number of characters in each segment separated by dot cannot exceed 63.', + 'description' => 'Illegal host record name. The number of characters in each segment separated by \'.\' cannot exceed 63.', + ], + [ + 'errorCode' => 'Record.UnsupportedSourceType', + 'errorMessage' => 'The recorded source station type is not in the supported range.', + 'description' => 'The recorded source station type is not in the supported range.', + ], + [ + 'errorCode' => 'Record.UnsupportedType', + 'errorMessage' => 'The record type parameter is unsupported.', + 'description' => 'The record type parameter is incorrect. Please check the record type parameter.', + ], + [ + 'errorCode' => 'Record.ValidProxiedForSpecifedRecordType', + 'errorMessage' => 'Only A/AAAA and CNAME types support proxy acceleration.', + 'description' => 'When creating or editing a record, proxy acceleration is enabled in the proxy state. Only A/AAAA and CNAME types support proxy acceleration.', + ], + [ + 'errorCode' => 'Record.RecordUsageExceedLimit', + 'errorMessage' => 'The usage parameter value filled in is out of range.', + 'description' => 'When creating or editing DNS record information, the usage parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordSelectorExceedLimit', + 'errorMessage' => 'The selector parameter value filled in is out of range.', + 'description' => 'While creating or editing DNS record information, the selector parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordMatchingTypeExceedLimit', + 'errorMessage' => 'The matchingType parameter value filled in is out of range.', + 'description' => 'While creating or editing DNS record information, the matchingType parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordPriorityExceedLimit', + 'errorMessage' => 'The record priority parameter value filled in is out of range.', + 'description' => 'When creating or editing DNS record information, the record priority parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordWeightExceedLimit', + 'errorMessage' => 'The record weight parameter value filled in is out of range.', + 'description' => 'When creating or editing DNS record information, the record weight parameter value filled in is out of range.', + ], + [ + 'errorCode' => 'Record.RecordNameConflictWithSameRecordType', + 'errorMessage' => 'Record conflicts with an existing host record that has the same name and value.', + 'description' => 'Record conflicts with an existing host record that has the same name and value.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameInvalidUnderLine', + 'errorMessage' => 'The host record name contains an illegal underscore. The underscore is only supported at the beginning of the TXT, CNAME, MX, SRV, and NS records. Proxy acceleration cannot be enabled, and records can only be added in the DNS mode.', + 'description' => 'The host record name contains an illegal underscore. The underscore is only supported at the beginning of the TXT, CNAME, MX, SRV, and NS records. Proxy acceleration cannot be enabled, and records can only be added in the DNS mode.', + ], + [ + 'errorCode' => 'InvalidParameter.CnameSiteRecordNoProxied', + 'errorMessage' => 'A non-proxied record was added for a website using a CNAME setup.', + 'description' => 'A non-proxied record was added for a website using a CNAME setup.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameOnlyContainSymbol', + 'errorMessage' => 'The host record value cannot exist separately in various symbols, and can be added with any lowercase letters or numbers.', + 'description' => 'The host record value cannot exist separately in various symbols, and can be added with any lowercase letters or numbers.'."\n", + ], + [ + 'errorCode' => 'Record.InvalidIodefDataWithCAARecordTag', + 'errorMessage' => 'The CAA record Tag value cannot start with mailto: or http:// or https.', + 'description' => 'When creating or editing CAA record information, the Tag value cannot start with mailto: http:// or mailto: https.', + ], + [ + 'errorCode' => 'Record.WildcardConflictForSpecifiedRecordType', + 'errorMessage' => 'The A/AAAA,CNAME records cannot add all and asterisk prefixed records at the same time.', + 'description' => 'A/AAAA,CNAME records cannot add all and asterisk prefixed records at the same time.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivateIpAsSourceUnsupported', + 'errorMessage' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'errorCode' => 'InvalidParameter.SourceIpInBlacklist', + 'errorMessage' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'errorCode' => 'SameNameRecordExceedLimit', + 'errorMessage' => 'The number of records with the same name exceeds the upper limit.', + 'description' => 'The number of records with the same name exceeds the upper limit.', + ], + [ + 'errorCode' => 'Record.UnmatchedRecordNameOnlyRangeChars', + 'errorMessage' => 'Illegal host record character. Only lowercase a-z, uppercase A- Z, digits 0-9, some special characters are supported as valid characters in host records.', + 'description' => 'Illegal host record character. Only lowercase a-z, uppercase A- Z, digits 0-9, \'-\', \'_\', \'.\', \'*\', and \'@\' are supported as valid characters in host records \',\' @ \'.'."\n", + ], + [ + 'errorCode' => 'Record.InvalidHTTPURLValueWithCAARecordTag', + 'errorMessage' => 'The CAA record is prefixed with http:// or https://, it must be followed by a valid URL.', + 'description' => 'When you create or edit a CAA record, if the Tag is `iodef` and the Value starts with `http://` or `https://`, it must be followed by a valid URL.', + ], + [ + 'errorCode' => 'Record.ProxiedAsCustomHostnameSource', + 'errorMessage' => 'Failed to disable proxy the record because it is the origin server of existing custom hostnames.Remove all references to the record and try again.', + 'description' => 'Failed to disable proxy the record because it is the origin server of existing custom hostnames.Remove all references to the record and try again.', + ], + ], + 404 => [ + [ + 'errorCode' => 'Record.NotFound', + 'errorMessage' => 'The record does not exist. Check your configurations and try again.', + 'description' => 'The record does not exist. Check your configurations and try again.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'Update DNS Record ', + 'description' => 'This API allows you to update DNS records, including but not limited to A/AAAA, CNAME, NS, MX, TXT, CAA, SRV, and URI records. You can modify record content by passing corresponding fields such as value, priority, and flags. For CNAME records pointing to origins that require authentication (such as OSS or S3), the API also supports configuring origin authentication information to ensure secure access.'."\n" + ."\n" + .'### Notes'."\n" + ."\n" + .'- The record value must match the record type; for example, a CNAME record must specify a target domain name.'."\n" + .'- Certain record types (such as MX and SRV) require a Priority value.'."\n" + .'- CAA records require specific fields such as Flag and Tag.'."\n" + .'- When updating security-related records such as CERT and SSHFP, you must accurately configure fields like Type and Algorithm.'."\n" + .'- When using OSS or S3 as the origin, provide authentication details in AuthConf based on Permission Configuration.'."\n", + 'requestParamsDescription' => 'The Data field of the record contains the DNS information of the record. The content required for this field varies depending on the record type. For details, refer to the [documentation](https://help.aliyun.com/document_detail/2708761.html)[documentation](https://www.alibabacloud.com/help/doc-detail/2708761.html). ', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-10T06:18:46.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-10-10T12:01:10.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2024-09-24T08:28:18.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-23T08:53:22.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '10', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateRecord', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + ], + 'UpdateRedirectRule' => [ + 'summary' => 'Update Redirect Rule', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257658', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID. It can be obtained by calling the [ListRedirectRules](~~2867474~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3528160969****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'Redirect type. Value range:'."\n" + ."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'static' => 'static', + 'dynamic' => 'dynamic', + ], + 'example' => 'static', + 'enum' => [ + 'static', + 'dynamic', + ], + 'title' => '', + ], + ], + [ + 'name' => 'TargetUrl', + 'in' => 'query', + 'schema' => [ + 'description' => 'The target URL after redirection.', + 'type' => 'string', + 'required' => false, + 'example' => 'http://www.exapmle.com/index.html'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'StatusCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The response status code used by the node to respond with the redirect address to the client. Value range:'."\n" + ."\n" + .'- 301'."\n" + .'- 302'."\n" + .'- 303'."\n" + .'- 307'."\n" + .'- 308', + 'type' => 'string', + 'required' => false, + 'example' => '301', + 'enum' => [ + '301', + '302', + '303', + '307', + '308', + ], + 'title' => '', + ], + ], + [ + 'name' => 'ReserveQueryString', + 'in' => 'query', + 'schema' => [ + 'description' => 'Preserve query string. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'The execution order of the rule. Rules with smaller values take higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => 'CB1A380B-09F0-41BB-A198-72F8FD6DA2FE'."\n", + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Update Redirect Configuration', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:38.000Z', + 'description' => 'Error codes changed, Request parameters changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateRedirectRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CB1A380B-09F0-41BB-A198-72F8FD6DA2FE\\\\n\\"\\n}","type":"json"}]', + ], + 'UpdateRewriteUrlRule' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257642', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Configuration ID. It can be obtained by calling the [ListRewriteUrlRules](~~2867480~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '3528160969****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding a global configuration.', + 'type' => 'string', + 'required' => false, + 'example' => 'example=123'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding a global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding a global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq \\"video.example.com\\")', + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'RewriteUriType', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'URI rewrite type. Value range:'."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'static' => 'static', + ], + 'example' => 'static', + 'enum' => [], + 'title' => '', + ], + ], + [ + 'name' => 'Uri', + 'in' => 'query', + 'schema' => [ + 'description' => 'The target URI after rewriting.', + 'type' => 'string', + 'required' => false, + 'example' => '/image/example.jpg'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RewriteQueryStringType', + 'in' => 'query', + 'schema' => [ + 'description' => 'Query string rewrite type. Value range:'."\n" + .'- static: Static mode.'."\n" + .'- dynamic: Dynamic mode.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'static' => 'static', + ], + 'example' => 'static', + 'enum' => [], + 'title' => '', + ], + ], + [ + 'name' => 'QueryString', + 'in' => 'query', + 'schema' => [ + 'description' => 'The query string after rewriting.', + 'type' => 'string', + 'required' => false, + 'example' => 'example=123'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule execution order. A smaller numeric value indicates higher priority.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Request response result.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '156A6B-677B1A-4297B7-9187B7-2B44792', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'VerifyExpressionError', + 'errorMessage' => 'Dynamic expression is invalid.', + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Modify Rewrite URL Configuration', + 'summary' => 'Modify Rewrite URL Rule', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-10T07:02:38.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2025-03-27T02:58:48.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateRewriteUrlRule', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"156A6B-677B1A-4297B7-9187B7-2B44792\\"\\n}","type":"json"}]', + ], + 'UpdateRoutineConfigDescription' => [ + 'summary' => 'Modifies the description of a routine.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239144', + 'abilityTreeNodes' => [ + 'FEATUREdcdn75UYDO', + ], + ], + 'parameters' => [ + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine name.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The routine description.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'description of this routine', + 'title' => '', + ], + ], + ], + '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' => 'EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395', + ], + 'Status' => [ + 'description' => 'Indicates whether the operation is successful.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'RoutineNotExist', + 'errorMessage' => 'The routine name does not exist. Check the routine name and try again.', + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'errorCode' => 'InternalOperationError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'RoutineUserServiceStatusHalt', + 'errorMessage' => 'Failed to update the configurations because you have overdue payments.', + 'description' => 'Failed to update the configurations because you have overdue payments.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EDBD3EB3-97DA-5465-AEF5-8DCA5DC5E395\\",\\n \\"Status\\": \\"OK\\"\\n}","type":"json"}]', + 'title' => 'UpdateRoutineConfigDescription', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateRoutineConfigDescription', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'UpdateRoutineRoute' => [ + 'summary' => 'Modifies the route configuration of an edge function.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '266196', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456******', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the configuration.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'RouteName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the route.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test_route', + 'title' => '', + ], + ], + [ + 'name' => 'RouteEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'The routing switch. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content of the rule.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq \\"video.example.com\\")'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'RoutineName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the function.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test-routine1', + 'title' => '', + ], + ], + [ + 'name' => 'Bypass', + 'in' => 'query', + 'schema' => [ + 'description' => 'Bypass mode. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'The order in which the rule is executed.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'Fallback', + 'in' => 'query', + 'schema' => [ + 'description' => 'The exception origin switch. After you turn on this switch, if a function exception occurs, such as CPU usage exceeding the upper limit, requests are sent to the origin. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + ], + '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' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'InvalidRoutine', + 'errorMessage' => 'The name of routine is invalid.', + 'description' => 'Edge function name is illegal.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'UpdateRoutineRoute', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-25T05:35:34.000Z', + 'description' => 'Request parameters changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateRoutineRoute', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateRoutineRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\"\\n}","type":"json"}]', + ], + 'UpdateScheduledPreloadExecution' => [ + 'summary' => 'Updates a scheduled prefetch plan based on the plan ID.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239314', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'Id', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the prefetch plan.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '66599bd7397885b43804901c', + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The start time of the prefetch plan.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2024-05-31T17:10:48.849+08:00', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The end time of the prefetch plan.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '2024-05-31T18:10:48.849+08:00', + 'title' => '', + ], + ], + [ + 'name' => 'Interval', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The time interval between each batch execution. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '60', + 'title' => '', + ], + ], + [ + 'name' => 'SliceLen', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The number of URLs prefetched in each batch.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + 'title' => '', + ], + ], + ], + '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' => '15C66C7B-671A-4297-9187-2C4477247A123425345', + ], + 'Id' => [ + 'description' => 'The ID of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '66599bd7397885b43804901c', + 'title' => '', + ], + 'StartTime' => [ + 'description' => 'The start time of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '2024-05-31T17:10:48.849+08:00', + 'title' => '', + ], + 'EndTime' => [ + 'description' => 'The end time of the prefetch plan.'."\n", + 'type' => 'string', + 'example' => '2024-05-31T18:10:48.849+08:00', + 'title' => '', + ], + 'Interval' => [ + 'description' => 'The time interval between each batch execution. Unit: seconds.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '60', + 'title' => '', + ], + 'SliceLen' => [ + 'description' => 'The number of URLs prefetched in each batch.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the prefetch plan. Valid values:'."\n" + ."\n" + .'* **waiting**'."\n" + .'* **running**'."\n" + .'* **finished**'."\n" + .'* **failed**'."\n" + .'* **stopped**', + 'type' => 'string', + 'example' => 'running', + 'title' => '', + ], + 'JobId' => [ + 'description' => 'The ID of the prefetch task.'."\n", + 'type' => 'string', + 'example' => '665d3af3621bccf3fe29e1a4', + 'title' => '', + ], + 'AliUid' => [ + 'description' => 'The ID of the Alibaba Cloud account.'."\n", + 'type' => 'string', + 'example' => '15685865xxx14622', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidEndTime.Mismatch', + 'errorMessage' => 'The specified EndTime is earlier than the StartTime.', + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'errorCode' => 'InvalidJob.JobCountOfSiteFull', + 'errorMessage' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.ObjectId', + 'errorMessage' => 'Invalid task ID or execution plan ID.', + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'errorCode' => 'MissingOssUrl', + 'errorMessage' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'errorCode' => 'MissingUrlList', + 'errorMessage' => 'Enter the URLs you want to prefetch.', + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'InvalidUid.PermissionDenied', + 'errorMessage' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + ], + [ + [ + 'errorCode' => 'InvalidJob.NotFound', + 'errorMessage' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'errorCode' => 'LogNotFound', + 'errorMessage' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'errorCode' => 'InvalidExecution.NotFound', + 'errorMessage' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A123425345\\",\\n \\"Id\\": \\"66599bd7397885b43804901c\\",\\n \\"StartTime\\": \\"2024-05-31T17:10:48.849+08:00\\",\\n \\"EndTime\\": \\"2024-05-31T18:10:48.849+08:00\\",\\n \\"Interval\\": 60,\\n \\"SliceLen\\": 10,\\n \\"Status\\": \\"running\\",\\n \\"JobId\\": \\"665d3af3621bccf3fe29e1a4\\",\\n \\"AliUid\\": \\"15685865xxx14622\\"\\n}","type":"json"}]', + 'title' => 'UpdateScheduledPreloadExecution', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateScheduledPreloadExecution', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateScheduledPreloadExecution', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'UpdateSeoBypass' => [ + 'summary' => 'Modifies the search engine crawler configuration for a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257452', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the feature. Valid values:'."\n" + ."\n" + .'* **on:**'."\n" + .'* **off**'."\n", + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Request ID.'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\"\\n}","type":"json"}]', + 'title' => 'UpdateSeoBypass', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSeoBypass', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateSeoBypass', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'UpdateSiteAccessType' => [ + 'summary' => 'Converts the DNS setup option of a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239615', + 'abilityTreeNodes' => [ + 'FEATUREdcdnMF1S4U', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890', + 'title' => '', + ], + ], + [ + 'name' => 'AccessType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The new DNS setup of the website. Valid values:'."\n" + ."\n" + .'* **NS**'."\n" + .'* **CNAME**'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'NS', + 'title' => '', + ], + ], + ], + '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' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'Site.UpdateAccessTypeUnable', + 'errorMessage' => 'Failed to change the DNS setup for the website. Check whether the website has configurations or DNS records that are incompatible with the target DNS setup option.', + 'description' => 'Failed to change the DNS setup for the website. Check whether the website has configurations or DNS records that are incompatible with the target DNS setup option.', + ], + [ + 'errorCode' => 'VerifyNameServerFailed', + 'errorMessage' => 'The NS verification failed. Please configure the NS provided by ESA on the domain name management platform and try again.', + 'description' => 'The NS verification failed. Please configure the NS provided by ESA on the domain name management platform and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + 'title' => 'UpdateSiteAccessType', + 'description' => 'When you change the DNS setup of a website from NS to CNAME, note the following prerequisites:'."\n" + ."\n" + .'* The website only has proxied A/AAAA and CNAME records.'."\n" + .'* The DNS passthrough mode and custom nameserver features are not enabled for the website.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-11-05T03:27:37.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:39.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteAccessType', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteAccessType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'UpdateSiteCoverage' => [ + 'summary' => 'Modifies the service location for a single website. This updates the acceleration configuration of the website to adapt to changes in traffic distribution, and improve user experience in specific regions.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239596', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Coverage', + 'in' => 'query', + 'schema' => [ + 'description' => 'The desired service location. Valid values:'."\n" + ."\n" + .'* **domestic**: the Chinese mainland'."\n" + .'* **global**: global'."\n" + .'* **overseas**: outside the Chinese mainland'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'global', + 'enum' => [ + 'domestic', + 'global', + 'overseas', + ], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '65C66B7B-671A-8297-9187-2R5477247B76', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'InvalidParameter.Coverage', + 'errorMessage' => 'The selected location is unavailable in your plan. Change the location to one that is covered by the plan and try again.', + 'description' => 'The selected location is unavailable in your plan. Change the location to one that is covered by the plan and try again.', + ], + [ + 'errorCode' => 'SiteHasTransportLayerApplications', + 'errorMessage' => 'The current site has an existing four-layer accelerated application, and the current operation is not allowed. If necessary, please contact customer service.', + 'description' => 'The current site has an existing four-layer accelerated application, and the current operation is not allowed. If necessary, please contact customer service.', + ], + [ + 'errorCode' => 'IpaNotActive', + 'errorMessage' => 'The ipa application is not active.', + 'description' => 'The ipa application is not active.', + ], + [ + 'errorCode' => 'InvalidSiteICP', + 'errorMessage' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + 'description' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + ], + ], + 500 => [ + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'UpdateSiteCoverage', + 'changeSet' => [ + [ + 'createdAt' => '2025-04-23T01:46:45.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-10-15T05:52:17.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-24T09:13:34.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:39.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteCoverage', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"65C66B7B-671A-8297-9187-2R5477247B76\\"\\n}","type":"json"}]', + ], + 'UpdateSiteCustomLog' => [ + 'summary' => 'Modifies the configuration of custom request header, response header, and cookie fields that are used to capture logs of a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238355', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'site id'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '11223****', + 'title' => '', + ], + ], + [ + 'name' => 'RequestHeaders', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The request header fields.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The request header field.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'x-acs-request-id', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'ResponseHeaders', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The response header fields.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The response header field.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'X_Swift_Error', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Cookies', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The cookie fields.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The cookie field.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'sessionId', + 'title' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'ET5BF670-09D5-4D0B-BEBY-D96A2A528000', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'RealTimeLog.NameCheckFail', + 'errorMessage' => 'Real-time log name field validity check failed.', + 'description' => 'The real-time log configuration field you entered contains illegal characters. Please delete the illegal characters and try again. The allowed characters include numbers, letters, underscore "_" and spaces "".', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ET5BF670-09D5-4D0B-BEBY-D96A2A528000\\"\\n}","type":"json"}]', + 'title' => 'UpdateSiteCustomLog', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-27T05:57:02.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteCustomLog', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteCustomLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'UpdateSiteDeliveryTask' => [ + 'summary' => 'Modifies a real-time log delivery task.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238989', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'TaskName', + 'in' => 'formData', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cdn-test-task', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'FieldName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The log fields that you want to include in real-time logs to be delivered. Separate the log fields with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ClientIP,UserAgent', + 'title' => '', + ], + ], + [ + 'name' => 'BusinessType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'* dcdn_log_access_l1 (default): access logs.'."\n" + .'* dcdn_log_er: Edge Routine logs.'."\n" + .'* dcdn_log_waf: firewall logs.'."\n" + .'* dcdn_log_ipa: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dcdn_log_er', + 'title' => '', + ], + ], + [ + 'name' => 'DiscardRate', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The discard rate.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0.0', + 'title' => '', + ], + ], + [ + 'name' => 'FilterVer', + 'in' => 'formData', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'EsaService.NotOpen', + 'errorMessage' => 'ESA service has not opend.', + 'description' => 'Edge Security Accelerator (ESA) is not turned on', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\"\\n}","type":"json"}]', + 'title' => 'UpdateSiteDeliveryTask', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-24T01:43:11.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-10-18T01:07:11.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-27T05:57:02.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteDeliveryTask', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteDeliveryTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'UpdateSiteDeliveryTaskStatus' => [ + 'summary' => 'Changes the status of a real-time log delivery task.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239089', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'TaskName', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cdn-test-task', + ], + ], + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'Method', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'online', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + ], + 'TaskName' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'cdn-test-task', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the delivery task. Valid values:'."\n" + ."\n" + .'* **online**'."\n" + .'* **offline**'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\",\\n \\"TaskName\\": \\"cdn-test-task\\",\\n \\"Status\\": \\"online\\"\\n}","type":"json"}]', + 'title' => 'UpdateSiteDeliveryTaskStatus', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-27T05:57:02.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteDeliveryTaskStatus', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteDeliveryTaskStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'UpdateSiteNameExclusive' => [ + 'summary' => 'Modifies the site hold configuration of a website. After you enable site hold, other accounts cannot add your website domain or its subdomains to ESA.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257454', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable site hold. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + ], + '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' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'UpdateSiteNameExclusive', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteNameExclusive', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteNameExclusive', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + ], + 'UpdateSitePause' => [ + 'summary' => 'Modifies the ESA proxy configuration of a website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257464', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'Paused', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to temporarily pause ESA on the website. If you set this parameter to true, all requests to the domains in your DNS records go directly to your origin server. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", + 'type' => 'boolean', + 'required' => true, + 'enumValueTitles' => [ + 'true' => 'true', + 'false' => 'false', + ], + 'example' => 'true', + 'title' => '', + ], + ], + ], + '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' => '6abd807e-ed2a-44de-ac54-ac38a62472e6', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'UpdateSitePause', + 'description' => '该API仅适用于NS方式接入的站点。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSitePause', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateSitePause', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6abd807e-ed2a-44de-ac54-ac38a62472e6\\"\\n}","type":"json"}]', + 'translator' => 'machine', + ], + 'UpdateSiteVanityNS' => [ + 'summary' => 'Updates the custom nameserver names for a single website.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239620', + 'abilityTreeNodes' => [ + 'FEATUREdcdnMF1S4U', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'VanityNSList', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom nameserver names. You can specify two to five custom nameserver names. Separate multiple names with commas (,).'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'ns1.example.com,ns2.example.com', + 'title' => '', + ], + ], + ], + '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' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'ApplyVanityNSError', + 'errorMessage' => 'Failed to apply for vanity NS resources. Please contact customer service.', + 'description' => 'Failed to apply for vanity NS resources. Please contact customer service.', + ], + [ + 'errorCode' => 'OperationDenied.VanityNSUnavailable', + 'errorMessage' => 'Only sites in NS access type can use vanity nameservers. Convert your site to NS access type and try again.', + 'description' => 'Sites that are accessed only by NS mode can use custom NS. Please adjust your site access mode and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidVanityNSNum', + 'errorMessage' => 'Enter 2 to 5 vanity nameservers. Correct them and try again.', + 'description' => 'Custom NS requires 2~5 names, please adjust and resubmit.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidVanityNSName', + 'errorMessage' => 'A vanity nameserver must be an absolute domain name. Correct it and try again.', + 'description' => 'You need to enter the full domain name to customize the NS name. Please adjust and submit it again.', + ], + [ + 'errorCode' => 'InvalidParameter.VanityNSNameDuplicate', + 'errorMessage' => 'The vanity nameservers are duplicated. Please delete it and try again.', + 'description' => 'Duplicate custom NS name exists, please delete and resubmit.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.CustomNS', + 'errorMessage' => 'Custom nameservers are not allowed in your plan. Check the plan description and upgrade the plan.', + 'description' => 'Custom nameservers are not allowed in your plan. Check the plan description and upgrade the plan.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'Record.Conflict', + 'errorMessage' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + 'description' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordsExceedLimit', + 'errorMessage' => 'The number of incoming records exceeds the maximum limit.', + 'description' => 'The number of incoming records exceeds the maximum limit.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\"\\n}","type":"json"}]', + 'title' => 'UpdateSiteVanityNS', + 'changeSet' => [ + [ + 'createdAt' => '2024-11-05T03:27:36.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:39.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteVanityNS', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteVanityNS', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'operationType' => 'write', + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'UpdateTieredCache' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257320', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'CacheArchitectureMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The tiered cache architecture mode. Valid values:'."\n" + ."\n" + .'* edge: edge tiered cache.'."\n" + .'* edge_smart: edge tiered cache + smart tiered cache.'."\n" + .'* edge_regional: edge tiered cache + regional tiered cache.'."\n" + .'* edge_regional_smart: edge tiered cache + regional tiered cache + smart tiered cache.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'edge_smart', + 'enum' => [ + 'edge', + 'edge_smart', + 'edge_regional', + 'edge_regional_smart', + ], + 'title' => '', + ], + ], + ], + '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' => '15C66C7B-671A-4297-9187-2C4477247A74', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'FunctionArgError', + 'errorMessage' => 'Failed to check the configured function parameters.', + 'description' => 'Failed to check the configured function parameters', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'UpdateTieredCache', + 'summary' => 'Modifies the tiered cache configuration of your website.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateTieredCache', + ], + ], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"15C66C7B-671A-4297-9187-2C4477247A74\\"\\n}","type":"json"}]', + ], + 'UpdateTransportLayerApplication' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '245118', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVFT29S', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~ListSites~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ApplicationId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'Transport layer application ID, which can be obtained by calling the [ListTransportLayerApplications](~~ListTransportLayerApplications~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '165503967****', + 'title' => '', + ], + ], + [ + 'name' => 'Rules', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'Forwarding rule list. Details of each rule. Except for the comment, all other parameters are required.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of each rule. Except for the comment, all other parameters are required.', + 'type' => 'object', + 'properties' => [ + 'Protocol' => [ + 'description' => 'Forwarding rule protocol, supports:'."\n" + ."\n" + .'- TCP: TCP protocol.'."\n" + .'- UDP: UDP protocol.', + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'TCP', + 'UDP', + ], + 'example' => 'TCP', + 'title' => '', + ], + 'EdgePort' => [ + 'description' => 'Edge port. Supports:'."\n" + ."\n" + .'- A single port, e.g., 80.'."\n" + .'- Port range, e.g., 81-85, representing ports 81, 82, 83, 84, 85.'."\n" + .'- Combination of ports and port ranges, separated by commas, e.g., 80,81-85,90, representing ports 80, 81, 82, 83, 84, 85, 90.'."\n" + .'- Edge ports within a single rule and between multiple rules must not overlap.', + 'type' => 'string', + 'required' => false, + 'example' => '80', + 'title' => '', + ], + 'SourceType' => [ + 'description' => 'Source type, supports:'."\n" + .'- **ip**: IP address.'."\n" + .'- **domain**: Domain name.'."\n" + .'- **OP**: Origin pool.'."\n" + .'- **LB**: Load balancer.', + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'ip', + 'domain', + 'LB', + 'OP', + ], + 'example' => 'ip', + 'title' => '', + ], + 'SourcePort' => [ + 'description' => 'Source port. Supports:'."\n" + ."\n" + .'- A single port, when the source port is a single port, any valid edge port combination is supported.'."\n" + .'- Port range, only when the edge port is a port range, the source port can be set as a port range, and the size of the range must match that of the edge port. For example, if the edge port is 90-93, the source port cannot be set to 81-85 because the source port range is 5 and the edge port range is 3, which do not match.', + 'type' => 'string', + 'required' => false, + 'example' => '80', + 'title' => '', + ], + 'ClientIPPassThroughMode' => [ + 'description' => 'Client IP pass-through protocol, supports:'."\n" + .'- **off**: No pass-through.'."\n" + .'- **PPv1**: PROXY Protocol v1, supports client IP pass-through for TCP protocol.'."\n" + .'- **PPv2**: PROXY Protocol v2, supports client IP pass-through for TCP and UDP protocols.'."\n" + .'- **SPP**: Simple Proxy Protocol, supports client IP pass-through for UDP protocol.', + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'off', + 'PPv1', + 'PPv2', + 'SPP', + ], + 'example' => 'SPP', + 'title' => '', + ], + 'Source' => [ + 'description' => 'Specific value of the source.', + 'type' => 'string', + 'required' => false, + 'example' => '1.1.1.1', + 'title' => '', + ], + 'Comment' => [ + 'description' => 'Comment information for the rule.', + 'type' => 'string', + 'required' => false, + 'example' => '123', + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'IpAccessRule', + 'in' => 'query', + 'schema' => [ + 'description' => 'IP access rule switch. When enabled, the IP access rules in WAF will take effect on the transport layer application.'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Ipv6', + 'in' => 'query', + 'schema' => [ + 'description' => 'IPv6 switch.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'CrossBorderOptimization', + 'in' => 'query', + 'schema' => [ + 'description' => 'Whether to enable China mainland network access optimization, default is disabled. Value range:'."\n" + ."\n" + .'- on: Enabled.'."\n" + .'- off: Disabled.', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [ + 'off' => 'off', + 'on' => 'on', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'StaticIp', + 'in' => 'query', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'Response for a successful request.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '9e5448c7-edaf-49aa-9887-0fcd0832306c', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordData', + 'errorMessage' => 'Invalid record content. Adjust your configurations based on the API documentation.', + 'description' => 'Invalid record content. Adjust your configurations based on the API documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.RecordType', + 'errorMessage' => 'Invalid record type. Adjust your configurations based on the API documentation.', + 'description' => 'Invalid record type. Adjust your configurations based on the API documentation.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'QuotaExceed.RecordCount', + 'errorMessage' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + 'description' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + ], + [ + 'errorCode' => 'Record.Conflict', + 'errorMessage' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + 'description' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'TransportLayerApplicationNotExist', + 'errorMessage' => 'The layer -4 accelerated application of the current operation does not exist. Modify it and try again.', + 'description' => 'The layer -4 accelerated application of the current operation does not exist. Modify it and try again.', + ], + [ + 'errorCode' => 'TransportLayerRulesExceedLimit', + 'errorMessage' => 'The configured forwarding rules have exceeded the maximum limit. Delete useless forwarding rules and try again.', + 'description' => 'The configured forwarding rules have exceeded the maximum limit. Delete useless forwarding rules and try again.', + ], + [ + 'errorCode' => 'SourceCircleExist', + 'errorMessage' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + 'description' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + ], + [ + 'errorCode' => 'InvalidParameter.InvalidRecordName', + 'errorMessage' => 'The record name you entered does not meet the specifications. Change the record name according to the product documentation.', + 'description' => 'The record name you entered does not meet the specifications. Please adjust the record name according to the product documentation.', + ], + [ + 'errorCode' => 'EdgePortsOverlap', + 'errorMessage' => 'There is overlap between multiple edge ports, please check and try again after modification.', + 'description' => 'There is overlap between multiple edge ports, please check and try again after modification.', + ], + [ + 'errorCode' => 'InvalidParameter.ClientIpPassThroughMode', + 'errorMessage' => 'Invalid client IP transfer protocol, please refer to the interface document and pass in valid parameters.', + 'description' => 'Invalid client IP transfer protocol, please refer to the interface document and pass in valid parameters.', + ], + [ + 'errorCode' => 'InvalidParameter.RuleSource', + 'errorMessage' => 'The origin of the forwarding rule does not exist or is invalid. Enter the correct origin and try again.', + 'description' => 'The origin of the forwarding rule does not exist or is invalid. Enter the correct origin and try again.', + ], + [ + 'errorCode' => 'InvalidParameter.Port', + 'errorMessage' => 'Invalid edge port or origin port. Enter a valid port as required in the interface document.', + 'description' => 'Invalid edge port or origin port. Enter a valid port as required in the interface document.', + ], + [ + 'errorCode' => 'InvalidParameter.Protocol', + 'errorMessage' => 'Invalid port protocol. Enter a valid port protocol as required by the interface documentation.', + 'description' => 'Invalid port protocol. Enter a valid port protocol as required by the interface documentation.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'errorCode' => 'IpaNotActive', + 'errorMessage' => 'The ipa application is not active.', + 'description' => 'The ipa application is not active.', + ], + [ + 'errorCode' => 'Record.NoResource', + 'errorMessage' => 'Failed to allocate resources for the record. Please submit a ticket for processing.', + 'description' => 'Failed to allocate resources for the record. Please submit a work order for processing.', + ], + [ + 'errorCode' => 'InvalidParameter.PrivateIpAsSourceUnsupported', + 'errorMessage' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'errorCode' => 'InvalidParameter.SourceIpInBlacklist', + 'errorMessage' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + 'description' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Update Transport Layer Acceleration Application', + 'summary' => 'Modify Transport Layer Application', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateTransportLayerApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9e5448c7-edaf-49aa-9887-0fcd0832306c\\"\\n}","type":"json"}]', + ], + 'UpdateUrlObservation' => [ + 'summary' => 'Updates the webpage monitoring configuration.', + 'path' => '', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '264795', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~ListSites~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the configuration. You can call the [ListUrlObservations](~~ListUrlObservations~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'SdkType', + 'in' => 'query', + 'schema' => [ + 'description' => 'SDK integration. Valid values:'."\n" + ."\n" + .'* **automatic** (Recommended)'."\n" + .'* **manual**'."\n", + 'type' => 'string', + 'required' => true, + 'enum' => [ + 'automatic', + 'manual', + ], + 'example' => 'manual', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'Id of the request'."\n", + 'type' => 'string', + 'example' => '04F0F334-1335-436C-A1D7-6C044FE73368'."\n", + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ArgQuotaCheckFailed', + 'errorMessage' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'ConfExceedLimit', + 'errorMessage' => 'The number of function configurations exceeds the limit. Please check the interface document to see the number of configurations that can be supported by a single function.', + 'description' => 'The number of configuration items for the current function has exceeded the upper limit set by the system.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"04F0F334-1335-436C-A1D7-6C044FE73368\\\\n\\"\\n}","type":"json"}]', + 'title' => 'UpdateUrlObservation', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateUrlObservation', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateUrlObservation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'UpdateUserDeliveryTask' => [ + 'summary' => 'Modifies the configurations of a delivery task, including the task name, log field, log category, and discard rate.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239266', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'TaskName', + 'in' => 'formData', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_project', + ], + ], + [ + 'name' => 'FieldName', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The log fields that you want to include in logs to be delivered. Separate the log fields with commas (,).'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'ClientRequestID,ClientRequestHost', + 'title' => '', + ], + ], + [ + 'name' => 'BusinessType', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The log category. Valid values:'."\n" + ."\n" + .'* dcdn_log_access_l1 (default): access logs.'."\n" + .'* dcdn_log_er: Edge Routine logs.'."\n" + .'* dcdn_log_waf: firewall logs.'."\n" + .'* dcdn_log_ipa: TCP/UDP proxy logs.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'dcdn_log_er', + 'title' => '', + ], + ], + [ + 'name' => 'DiscardRate', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The discard rate. Default value: 0.'."\n", + 'type' => 'number', + 'format' => 'float', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Details', + 'in' => 'formData', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'FilterVer', + 'in' => 'formData', + 'schema' => [ + 'type' => 'string', + 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'EsaService.NotOpen', + 'errorMessage' => 'ESA service has not opend.', + 'description' => 'Edge Security Accelerator (ESA) is not turned on', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\"\\n}","type":"json"}]', + 'title' => 'UpdateUserDeliveryTask', + 'changeSet' => [ + [ + 'createdAt' => '2025-06-24T01:43:11.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-12-26T08:21:56.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-10-18T01:07:11.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-27T05:57:02.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateUserDeliveryTask', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateUserDeliveryTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'UpdateUserDeliveryTaskStatus' => [ + 'summary' => 'Changes the status of a delivery task in your Alibaba Cloud account.', + 'methods' => [ + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238917', + 'abilityTreeNodes' => [ + 'FEATUREdcdn9K10I1', + ], + ], + 'parameters' => [ + [ + 'name' => 'TaskName', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'title' => '', + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'test_project', + ], + ], + [ + 'name' => 'Method', + 'in' => 'query', + 'schema' => [ + 'description' => 'Enables or disables the delivery task. Valid values: online and offline.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'online', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '34DCBC8A-****-****-****-6DAA11D7DDBD', + ], + 'TaskName' => [ + 'description' => 'The name of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'test_project', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the delivery task.'."\n", + 'type' => 'string', + 'example' => 'online', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalError', + 'errorMessage' => 'An internal exception occurred, please try again later.', + 'description' => 'An inner exception was triggered. Please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'EsaService.NotOpen', + 'errorMessage' => 'ESA service has not opend.', + 'description' => 'Edge Security Accelerator (ESA) is not turned on', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"34DCBC8A-****-****-****-6DAA11D7DDBD\\",\\n \\"TaskName\\": \\"test_project\\",\\n \\"Status\\": \\"online\\"\\n}","type":"json"}]', + 'title' => 'UpdateUserDeliveryTaskStatus', + 'description' => '## [](#)'."\n" + ."\n" + .'You can call this operation to enable or disable a delivery task by using TaskName and Method. The response includes the most recent status and operation result details of the task.'."\n", + 'changeSet' => [ + [ + 'createdAt' => '2024-10-18T01:07:11.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-27T05:57:02.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateUserDeliveryTaskStatus', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateUserDeliveryTaskStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'UpdateUserWafRuleset' => [ + 'summary' => 'Modifies the WAF ruleset configuration for a specified instance, including its position, name, and other properties.', + 'description' => '## Request description'."\n" + ."\n" + .'- This operation updates an existing WAF ruleset. You can modify the position, name, description, status, and expression of the ruleset.'."\n" + ."\n" + .'- Include only the parameters that you want to modify. Omit parameters that you do not want to change.'."\n" + ."\n" + .'- Note: Before you call this operation, ensure that the `InstanceId` and `Id` values are correct. Otherwise, the request may fail.', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + 'FEATUREdcdnBQ0J3E', + ], + ], + 'parameters' => [ + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The instance ID.', + 'type' => 'string', + 'required' => true, + 'example' => 'esa-xxxxxxx', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The WAF ruleset ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '10000001', + 'title' => '', + ], + ], + [ + 'name' => 'Position', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The position of the WAF ruleset.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The name of the WAF ruleset.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + 'title' => '', + ], + ], + [ + 'name' => 'Description', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The description of the WAF ruleset.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + 'title' => '', + ], + ], + [ + 'name' => 'Status', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The status of the WAF ruleset.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Expression', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The expression of the WAF ruleset.', + 'type' => 'string', + 'required' => false, + 'example' => 'ip.src == 1.1.1.1', + 'title' => '', + ], + ], + [ + 'name' => 'Shared', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'The shared configuration of the WAF ruleset.', + '$ref' => '#/components/schemas/WafBatchRuleShared', + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'Rules', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => 'A list of rule configurations in the WAF ruleset.', + 'type' => 'array', + 'items' => [ + 'description' => 'A rule configuration in the WAF ruleset.', + '$ref' => '#/components/schemas/WafRuleConfig', + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'example' => '['."\n" + .' {'."\n" + .' "Id": 20000001,'."\n" + .' "Name": "rule1",'."\n" + .' "Expression": "ip.src eq 1.1.1.1",'."\n" + .' "Action": "deny"'."\n" + .' }'."\n", + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '创建成功', + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response schema.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.', + 'type' => 'string', + 'example' => 'xxxx-xxxx-xxxx-xxxx', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Rule.Config.Noncompliance', + 'errorMessage' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + 'description' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + ], + [ + 'errorCode' => 'Rule.Config.Malformed', + 'errorMessage' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + 'description' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + ], + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'errorCode' => 'Ruleset.NotExist', + 'errorMessage' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + 'description' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"xxxx-xxxx-xxxx-xxxx\\"\\n}","type":"json"}]', + 'title' => 'UpdateUserWafRuleset', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateUserWafRuleset', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + ], + ], + 'UpdateVideoProcessing' => [ + 'summary' => 'Modifies the video processing configuration of the site.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '257664', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'ConfigId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the configuration. You can call the [ListVideoProcessings](~~ListVideoProcessings~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '35281609698****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The rule name. You do not need to set this parameter when you add global configuration.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'rule_example', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the rule. Valid values: You do not need to set this parameter when you add global configuration. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'enum' => [ + 'on', + 'off', + ], + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'The content of the rule. A conditional expression is used to match a user request. You do not need to set this parameter when you add global configuration. Two scenarios:'."\n" + ."\n" + .'* true: Match all incoming requests'."\n" + .'* Set the value to a custom expression, for example: (http.host eq "video.example.com"): Match the specified request'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '(http.host eq "video.example.com")', + 'title' => '', + ], + ], + [ + 'name' => 'Sequence', + 'in' => 'query', + 'schema' => [ + 'description' => 'The order in which the rule is executed. A smaller value gives priority to the rule.'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + 'title' => '', + ], + ], + [ + 'name' => 'VideoSeekEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Video seeking. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'title' => '', + ], + ], + [ + 'name' => 'FlvVideoSeekMode', + 'in' => 'query', + 'schema' => [ + 'description' => 'FLV Seeking Valid values:'."\n" + ."\n" + .'* by_byte: Seek by byte.'."\n" + .'* by_time: Seek by time.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'by_byte', + 'title' => '', + ], + ], + [ + 'name' => 'Mp4SeekStart', + 'in' => 'query', + 'schema' => [ + 'description' => 'Customize the mp4 start parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'start', + 'title' => '', + ], + ], + [ + 'name' => 'Mp4SeekEnd', + 'in' => 'query', + 'schema' => [ + 'description' => 'Customize the mp4 end parameter.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'end', + 'title' => '', + ], + ], + [ + 'name' => 'FlvSeekStart', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom start parameter for FLV files.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'start', + 'title' => '', + ], + ], + [ + 'name' => 'FlvSeekEnd', + 'in' => 'query', + 'schema' => [ + 'description' => 'The custom end parameter for FLV files.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'end', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '3558df77-8a7a-4060-a900-2d7949403836', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ApplyVipError', + 'errorMessage' => 'Failed to apply for ip resources, please contact customer service.', + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'errorCode' => 'CanNotSetSequence', + 'errorMessage' => 'Non-regular configuration, you cannot set Sequence parameters.', + 'description' => 'Sequence parameters is not allowed in global configuration.', + ], + [ + 'errorCode' => 'CacheReserveSiteExceedLimit', + 'errorMessage' => 'The number of binding sites of the cache reserve instance exceeds the limit. The number of binding sites of a single cache reserve instance is limited. Please see the document for the limit.', + 'description' => 'The number of sites for which the cache reserve instance bindings exceeds the limit.', + ], + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'errorCode' => 'VersionNotValid', + 'errorMessage' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.Configs', + 'errorMessage' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'errorCode' => 'InvalidParameter.FunctionName', + 'errorMessage' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'IllegalOperation.VersionManagement', + 'errorMessage' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.VersionManagement', + 'errorMessage' => 'Insufficient quota for version management. Contact technical support.', + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'CachceReserveInstanceCheckFalied', + 'errorMessage' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + 'description' => 'If the site uses the back-to-source whitelist node and the cache holding instance is not in the back-to-source whitelist, the cache holding instance cannot be associated with the site. If you want to use both functions at the same time, please contact customer service for details.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'UpdateVideoProcessing', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateVideoProcessing', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3558df77-8a7a-4060-a900-2d7949403836\\"\\n}","type":"json"}]', + ], + 'UpdateWafRule' => [ + 'summary' => 'Update WAF Rule Page', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239582', + 'abilityTreeNodes' => [ + 'FEATUREdcdnV3YEJ8', + 'FEATUREdcdnUTRW1O', + 'FEATUREdcdnSU2QP6', + 'FEATUREdcdnV3G3FZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'title' => '规则ID', + 'description' => 'WAF rule ID, which can be obtained by calling the [ListWafRules](~~2878257~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '20000001', + ], + ], + [ + 'name' => 'Position', + 'in' => 'formData', + 'schema' => [ + 'title' => '规则在规则集中的位置顺序', + 'description' => 'The position of the rule in the rule set.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'Status', + 'in' => 'formData', + 'schema' => [ + 'title' => '规则状态', + 'description' => 'Rule status.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + ], + ], + [ + 'name' => 'Config', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'title' => '规则配置', + 'description' => 'Rule configuration.', + 'required' => false, + '$ref' => '#/components/schemas/WafRuleConfig', + 'example' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求ID', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + 'Id' => [ + 'description' => 'WAF rule ID, which can be obtained by calling the [ListWafRules](~~2878257~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20000001', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'Rule.NotExist', + 'errorMessage' => 'The specified rule does not exist.', + 'description' => 'The specified rule does not exist in the current context or system configuration. Please verify the existence of the rule identifier and ensure it has been correctly defined or implemented.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + ], + 403 => [ + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'errorCode' => 'Rule.Config.Malformed', + 'errorMessage' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + 'description' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + ], + [ + 'errorCode' => 'Rule.Config.Noncompliance', + 'errorMessage' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + 'description' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + ], + [ + 'errorCode' => 'Rule.Position.Invalid', + 'errorMessage' => 'The specified position for the rule is invalid.Check and adjust the configuration to make sure it meets the requirements.', + 'description' => 'The specified position for the rule is invalid.Check and adjust the configuration to make sure it meets the requirements.', + ], + [ + 'errorCode' => 'Rule.Name.AlreadyExists', + 'errorMessage' => 'The specified rule name already exists.Try again with a unique name or modify the existing rule name.', + 'description' => 'The specified rule name already exists.Try again with a unique name or modify the existing rule name.', + ], + [ + 'errorCode' => 'Expression.Invalid', + 'errorMessage' => 'The specified expression is invalid: %s.', + 'description' => 'The specified expression is invalid.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Update WAF Rule', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:49.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:33.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateWafRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateWafRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Id\\": 20000001\\n}","type":"json"}]', + ], + 'UpdateWafRuleset' => [ + 'summary' => 'Update WAF Ruleset', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239645', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBQ0J3E', + 'FEATUREdcdn1OLUH8', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'title' => '站点ID', + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => false, + 'example' => '1', + ], + ], + [ + 'name' => 'SiteVersion', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site version.', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + 'title' => '', + ], + ], + [ + 'name' => 'Id', + 'in' => 'formData', + 'schema' => [ + 'title' => '规则集ID', + 'description' => 'ID of the WAF ruleset, which can be obtained by calling the [ListWafRulesets](~~2878359~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '10000001', + ], + ], + [ + 'name' => 'Status', + 'in' => 'formData', + 'schema' => [ + 'title' => '规则集状态', + 'description' => 'The target status to change for the ruleset.', + 'type' => 'string', + 'required' => false, + 'example' => 'on', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => '请求ID', + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'SpecifiedVersionReadOnly', + 'errorMessage' => 'The specified version number is read-only and cannot be modified.', + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + ], + 403 => [ + [ + 'errorCode' => '%s.NotSupport', + 'errorMessage' => 'The specified resource type %s is not supported.', + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'errorCode' => '%s.OverQuota', + 'errorMessage' => 'The quantity of %s exceeds the quota.', + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'errorCode' => '%s.WrongValueMatched', + 'errorMessage' => 'The value of specified parameter %s can not pass the matching check.', + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'errorCode' => 'Ruleset.NotExist', + 'errorMessage' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + 'description' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\"\\n}","type":"json"}]', + 'title' => 'Update WAF Ruleset', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-25T07:02:49.000Z', + 'description' => 'Error codes changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:38.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateWafRuleset', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateWafRuleset', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'UpdateWaitingRoom' => [ + 'summary' => 'Modifies the configurations of a waiting room.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239629', + 'abilityTreeNodes' => [ + 'FEATUREdcdnO4KC7Z', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '7096621098****', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the waiting room, which can be obtained by calling the [ListWaitingRooms](~~2850279~~) operation.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '6a51d5bc6460887abd129****', + 'title' => '', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the waiting room. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the waiting room.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '节假日促销等候室', + 'title' => '', + ], + ], + [ + 'name' => 'QueueAllEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to queue all requests. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'HostNameAndPath', + 'in' => 'query', + 'style' => 'json', + 'schema' => [ + 'description' => 'The hostname and path.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the hostname and path.'."\n", + 'type' => 'object', + 'properties' => [ + 'Subdomain' => [ + 'description' => 'The subdomain.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test.', + 'title' => '', + ], + 'Domain' => [ + 'description' => 'The domain name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example.com'."\n", + 'title' => '', + ], + 'Path' => [ + 'description' => 'The probe path.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '/test'."\n", + 'title' => '', + ], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + ], + [ + 'name' => 'CookieName', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the custom cookie.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '__aliwaitingroom_example'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'TotalActiveUsers', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of active users.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + ], + [ + 'name' => 'NewUsersPerMinute', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of new users per minute.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '200', + 'title' => '', + ], + ], + [ + 'name' => 'SessionDuration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5', + 'title' => '', + ], + ], + [ + 'name' => 'DisableSessionRenewalEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to disable session renewal. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'QueuingMethod', + 'in' => 'query', + 'schema' => [ + 'description' => 'The queuing method. Valid values:'."\n" + ."\n" + .'* random: Users gain access to the origin randomly, regardless of the arrival time.'."\n" + .'* fifo: Users gain access to the origin in order of arrival.'."\n" + .'* passthrough: Users pass through the waiting room and go straight to the origin.'."\n" + .'* reject-all: Users are blocked from reaching the origin.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'random', + 'enum' => [ + 'fifo', + 'random', + 'passthrough', + 'reject-all', + ], + 'title' => '', + ], + ], + [ + 'name' => 'QueuingStatusCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The HTTP status code to return while a user is in the queue. Valid values:'."\n" + ."\n" + .'* 200'."\n" + .'* 202'."\n" + .'* 429'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '200', + 'enum' => [ + '200', + '202', + '429', + ], + 'title' => '', + ], + ], + [ + 'name' => 'JsonResponseEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable JSON response. If JSON response is enabled, a JSON body is returned for requests to the waiting room with the header Accept: application/json. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The description of the waiting room.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '特别活动排队页面', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the waiting room. Valid values:'."\n" + ."\n" + .'* default'."\n" + .'* custom'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'default', + 'enum' => [ + 'default', + 'custom', + ], + 'title' => '', + ], + ], + [ + 'name' => 'CustomPageHtml', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The content of the custom waiting room page. You must specify this parameter if you set WaitingRoomType to custom. The content must be Base64-encoded.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SGVsbG8gd29ybGQ=', + 'title' => '', + ], + ], + [ + 'name' => 'Language', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The language of the waiting room page. You must specify this parameter if you set WaitingRoomType to default. Valid values:'."\n" + ."\n" + .'* enus: English.'."\n" + .'* zhcn: Simplified Chinese.'."\n" + .'* zhhk: Traditional Chinese.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'zhcn', + 'enum' => [ + 'enus', + 'zhcn', + 'zhhk', + ], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0195619f-eab3-4a66-ac00-ed53d913e72e', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'WaitingRoomNotExist', + 'errorMessage' => 'The waiting room that you want to modify does not exist or does not belong to you. Confirm and try again.', + 'description' => 'The waiting room that you want to modify does not exist or does not belong to you. Confirm and try again.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'UpdateWaitingRoom', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T06:13:38.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateWaitingRoom', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateWaitingRoom', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0195619f-eab3-4a66-ac00-ed53d913e72e\\"\\n}","type":"json"}]', + ], + 'UpdateWaitingRoomEvent' => [ + 'summary' => 'Modifies the configurations of a waiting room event.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239617', + 'abilityTreeNodes' => [ + 'FEATUREdcdnVCBH9N', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****'."\n", + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomEventId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the waiting room event, which can be obtained by calling the [ListWaitingRoomEvents](~~2850279~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '89677721098****', + 'title' => '', + ], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable the waiting room event. Valid values:'."\n" + ."\n" + .'* `on`'."\n" + .'* `off`'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'query', + 'schema' => [ + 'description' => 'The name of the waiting room event.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '测试事件2', + 'title' => '', + ], + ], + [ + 'name' => 'TotalActiveUsers', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of active users.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '200', + 'title' => '', + ], + ], + [ + 'name' => 'NewUsersPerMinute', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum number of new users per minute.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '300', + 'title' => '', + ], + ], + [ + 'name' => 'SessionDuration', + 'in' => 'query', + 'schema' => [ + 'description' => 'The maximum duration for which a session remains valid after a user leaves the origin. Unit: minutes.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '5', + 'title' => '', + ], + ], + [ + 'name' => 'DisableSessionRenewalEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to disable session renewal. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'off', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'QueuingMethod', + 'in' => 'query', + 'schema' => [ + 'description' => 'The queuing method. Valid values:'."\n" + ."\n" + .'* random: Users gain access to the origin randomly, regardless of the arrival time.'."\n" + .'* fifo: Users gain access to the origin in order of arrival.'."\n" + .'* passthrough: Users pass through the waiting room and go straight to the origin.'."\n" + .'* reject-all: All requests are blocked from accessing the origin.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'fifo', + 'enum' => [ + 'fifo', + 'random', + 'passthrough', + 'reject-all', + ], + 'title' => '', + ], + ], + [ + 'name' => 'QueuingStatusCode', + 'in' => 'query', + 'schema' => [ + 'description' => 'The HTTP status code to return while a user is in the queue. Valid values:'."\n" + ."\n" + .'* 200'."\n" + .'* 202'."\n" + .'* 429'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '200', + 'enum' => [ + '200', + '202', + '429', + ], + 'title' => '', + ], + ], + [ + 'name' => 'JsonResponseEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable JSON response. Valid values:'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'off', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Description', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The description of the waiting room.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'http://yywyyw.com', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomType', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the waiting room. Valid values:'."\n" + ."\n" + .'* default'."\n" + .'* custom'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'custom', + 'enum' => [ + 'default', + 'custom', + ], + 'title' => '', + ], + ], + [ + 'name' => 'CustomPageHtml', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The content of the custom waiting room page. You must specify this parameter if you set WaitingRoomType to custom. The content must be Base64-encoded.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'SGVsbG8gd29ybGQ=', + 'title' => '', + ], + ], + [ + 'name' => 'StartTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The start time of the event. This value is a UNIX timestamp.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1719763200', + 'title' => '', + ], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => [ + 'description' => 'The end time of the event. This value is a UNIX timestamp.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1719849600', + 'title' => '', + ], + ], + [ + 'name' => 'PreQueueEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable pre-queuing.'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'PreQueueStartTime', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The start time for pre-queuing.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => '1719763200', + 'title' => '', + ], + ], + [ + 'name' => 'RandomPreQueueEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Specifies whether to enable random queuing.'."\n" + ."\n" + .'* on'."\n" + .'* off'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Language', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => [ + 'description' => 'The default language. Valid values:'."\n" + ."\n" + .'* `enus`: English.'."\n" + .'* `zhcn`: Simplified Chinese.'."\n" + .'* `zhhk`: Traditional Chinese.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'enus', + 'enum' => [ + 'enus', + 'zhcn', + 'zhhk', + ], + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'The response parameters.'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0195619f-eab3-4a66-ac00-ed53d913e72e', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'InvalidConfigId', + 'errorMessage' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'description' => 'The ConfigId does not exist.', + ], + [ + 'errorCode' => 'WaitingRoomEventNotExist', + 'errorMessage' => 'The waiting room event that you want to modify does not exist. Specify a valid one.', + 'description' => 'The waiting room event that you want to modify does not exist. Specify a valid one.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'UpdateWaitingRoomEvent', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-21T03:40:42.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:39.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateWaitingRoomEvent', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateWaitingRoomEvent', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0195619f-eab3-4a66-ac00-ed53d913e72e\\"\\n}","type":"json"}]', + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + ], + 'UpdateWaitingRoomRule' => [ + 'summary' => 'Modify Waiting Room Rule', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239642', + 'abilityTreeNodes' => [ + 'FEATUREdcdnA885EB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'Site ID, which can be obtained by calling the [ListSites](~~2850189~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456****', + 'title' => '', + ], + ], + [ + 'name' => 'WaitingRoomRuleId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The ID of the waiting room bypass rule to be updated, which can be obtained by calling the [ListWaitingRoomRules](~~2850279~~) interface.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '8987739839****', + 'title' => '', + ], + ], + [ + 'name' => 'RuleName', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule name. This parameter is not required when adding global configuration.', + 'type' => 'string', + 'required' => true, + 'example' => 'test1', + 'title' => '', + ], + ], + [ + 'name' => 'RuleEnable', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule switch. This parameter is not required when adding global configuration. Value range:'."\n" + .'- on: Enable.'."\n" + .'- off: Disable.', + 'type' => 'string', + 'required' => true, + 'example' => 'on', + 'enum' => [ + 'on', + 'off', + ], + 'title' => '', + ], + ], + [ + 'name' => 'Rule', + 'in' => 'query', + 'schema' => [ + 'description' => 'Rule content, using conditional expressions to match user requests. This parameter is not required when adding global configuration. There are two usage scenarios:'."\n" + .'- Match all incoming requests: Set the value to true'."\n" + .'- Match specific requests: Set the value to a custom expression, for example: (http.host eq "video.example.com")', + 'type' => 'string', + 'required' => true, + 'example' => '(http.request.uri.path.file_name eq \\"jpg\\")', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'description' => 'Information returned upon successful response.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Request ID, used for tracking the progress of request processing.', + 'type' => 'string', + 'example' => '9bfe9d95-7bf6-469d-a628-ed7bc9f25073', + 'title' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'CompileRuleError', + 'errorMessage' => 'Rule compilation failed, please check the rule information passed in to ensure that the rule is written according to the syntax described in the document.', + 'description' => 'Rule compilation failed. Check the incoming rule configuration. For details, see the rule configuration format described in the interface document.', + ], + [ + 'errorCode' => 'SiteConfigLengthExceedLimit', + 'errorMessage' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'errorCode' => 'ConfigConflicts', + 'errorMessage' => 'Configuration conflicts, usually when multiple configurations are configured under the same function of the same site, such as duplicate rule names between multiple configurations.', + 'description' => 'The parameter uniqueness check failed. Check for duplicate parameter values.', + ], + [ + 'errorCode' => 'RuleRegexQuotaCheckFailed', + 'errorMessage' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'NestedRuleQuotaCheckFailed', + 'errorMessage' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'errorCode' => 'ServiceInvokeFailed', + 'errorMessage' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'errorCode' => 'FunctionConflict', + 'errorMessage' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgName', + 'errorMessage' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'errorCode' => 'InvalidParameter.ArgValue', + 'errorMessage' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'errorCode' => 'InstanceNotExist', + 'errorMessage' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'errorCode' => 'LockFailed', + 'errorMessage' => 'The system is handling requests you previously submitted. Try again later.', + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'errorCode' => 'WaitingRoomRuleNotExist', + 'errorMessage' => 'The waiting room bypass rule that you want to modify does not exist. Specify a valid one.', + 'description' => 'The waiting room bypass rule that you want to modify does not exist. Specify a valid one.', + ], + [ + 'errorCode' => 'FunctionQuotaCheckFailed', + 'errorMessage' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.FunctionArg', + 'errorMessage' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'errorCode' => 'MissingParameter', + 'errorMessage' => 'The specified ArgName is required for this function.', + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + ], + 404 => [ + [ + 'errorCode' => 'SiteNotFound', + 'errorMessage' => 'The website does not exist or does not belong to you.', + 'description' => 'The website does not exist or does not belong to you.', + ], + ], + ], + 'title' => 'Modify Waiting Room Bypass Rule', + 'description' => 'This interface allows you to modify the rule settings of a specific waiting room in a site, including the rule name, enable status, and rule content, etc.', + 'changeSet' => [ + [ + 'createdAt' => '2025-02-21T03:40:42.000Z', + 'description' => 'Request parameters changed', + ], + [ + 'createdAt' => '2024-09-18T06:13:39.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateWaitingRoomRule', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateWaitingRoomRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9bfe9d95-7bf6-469d-a628-ed7bc9f25073\\"\\n}","type":"json"}]', + ], + 'UploadClientCaCertificate' => [ + 'summary' => 'Uploads a client certificate authority (CA) certificate.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239190', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + [ + 'name' => 'Certificate', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate content.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'yourCertName', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response'."\n", + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'baba39055622c008b90285a8838ed09a', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the certificate.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-12-01T02:13:07Z', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-12-01T02:13:07Z', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The CA that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.'."\n", + 'type' => 'string', + 'example' => 'babab9db65ee5efcca9f3d41d4b50d66', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'ValidityDays' => [ + 'description' => 'The validity period of the certificate. Unit: day.'."\n", + 'type' => 'string', + 'example' => '300', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.Function', + 'errorMessage' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + 'description' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"Id\\": \\"baba39055622c008b90285a8838ed09a\\",\\n \\"Status\\": \\"OK\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"NotBefore\\": \\"2023-12-01T02:13:07Z\\",\\n \\"NotAfter\\": \\"2024-12-01T02:13:07Z\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"SerialNumber\\": \\"babab9db65ee5efcca9f3d41d4b50d66\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"ValidityDays\\": \\"300\\"\\n}","type":"json"}]', + 'title' => 'UploadClientCaCertificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UploadClientCaCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UploadClientCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'UploadFile' => [ + 'summary' => 'Uploads the file that contains resources to be purged or prefetched.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239245', + 'abilityTreeNodes' => [ + 'FEATUREdcdnBCJPGN', + 'FEATUREdcdnRELTJV', + 'FEATUREdcdnEWYS3A', + 'FEATUREdcdn4TTNAL', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID. You can call the [ListSites](~~2850189~~) operation to obtain the ID.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Url', + 'in' => 'query', + 'schema' => [ + 'description' => 'The OSS URL of the file that contains resources to be purged or prefetched.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'https://xxxxx.oss-cn-shenzhen.aliyuncs.com/test_oss_file?Expires=1708659191&OSSAccessKeyId=**********&Signature=**********', + 'isFileTransferUrl' => true, + 'title' => '', + ], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => [ + 'description' => 'The type of the purge or prefetch task. Valid values:'."\n" + ."\n" + .'* **file** (default): purges the cache by file.'."\n" + .'* **preload**: prefetches the file.'."\n" + .'* **directory**: purges the cache by directory.'."\n" + .'* **ignoreParams**: purges the cache by URL with specified parameters ignored.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'file', + 'enum' => [ + 'file', + 'preload', + 'directory', + 'ignoreparams', + ], + 'title' => '', + ], + ], + [ + 'name' => 'UploadTaskName', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The name of the upload task.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'purge_task_2024_11_11', + 'maxLength' => 128, + 'title' => '', + ], + ], + ], + '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' => '3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F', + ], + 'UploadId' => [ + 'description' => 'The ID of the file upload task. You can use this ID for task submission or query subsequently.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'example' => '159253299357****', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InvalidTime', + 'errorMessage' => 'The query time cannot exceed the last 3 days.', + 'description' => 'The query time cannot exceed the last 3 days.', + ], + [ + 'errorCode' => 'MissingParameter.ObjectType', + 'errorMessage' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', + 'description' => 'Specify the ObjectType parameter.', + ], + [ + 'errorCode' => 'InvalidParameters', + 'errorMessage' => 'The specified parameters are invalid.', + 'description' => 'Parameter is illegal.', + ], + [ + 'errorCode' => 'ExceedFileUpload', + 'errorMessage' => 'The size of the uploaded file exceeds the upper limit. Select a file less than 10 MB.', + 'description' => 'The size of the uploaded file exceeds the upper limit. Select a file less than 10 MB.', + ], + [ + 'errorCode' => 'TooManyRequests', + 'errorMessage' => 'Too many requests.Please try again later.', + 'description' => 'Requests are too frequent, please try again later.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3C6CCEC4-6B88-4D4A-93E4-D47B3D92CF8F\\",\\n \\"UploadId\\": 0\\n}","type":"json"}]', + 'title' => 'UploadFile', + 'description' => '> '."\n" + ."\n" + .'* The file can be up to 10 MB in size.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UploadFile', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UploadFile', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + 'UploadOriginCaCertificate' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261740', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890***', + 'title' => '', + ], + ], + [ + 'name' => 'Certificate', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate content.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'example', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => 'EEEBE525-F576-1196-8DAF-2D70CA3F4D2F'."\n", + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'Status' => [ + 'description' => 'Indicates whether the operation is successful.'."\n" + ."\n" + .'* OK'."\n" + .'* Fail'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com ', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-12-01T02:13:07Z', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-12-01T02:13:07Z', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The CA that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.'."\n", + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1daa', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'ValidityDays' => [ + 'description' => 'The validity period of the certificate. Unit: day.'."\n", + 'type' => 'string', + 'example' => '365', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.Function', + 'errorMessage' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + 'description' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'title' => 'Upload Origin Server CA Certificate', + 'summary' => 'Upload the origin server CA certificate.', + 'description' => 'You can add multiple origin servers under a source address. Origin servers of types such as domain name, IP address, OSS, and S3 are supported. Origin fetch authentication is supported for OSS and S3 origin servers.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UploadOriginCaCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UploadOriginCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"EEEBE525-F576-1196-8DAF-2D70CA3F4D2F\\\\n\\",\\n \\"Id\\": \\"babaabcd****\\",\\n \\"Status\\": \\"OK\\",\\n \\"CommonName\\": \\"www.example.com \\",\\n \\"NotBefore\\": \\"2023-12-01T02:13:07Z\\",\\n \\"NotAfter\\": \\"2024-12-01T02:13:07Z\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"SerialNumber\\": \\"babaded901474b9693acf530e0fb1daa\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"ValidityDays\\": \\"365\\"\\n}","type":"json"}]', + ], + 'UploadOriginClientCertificate' => [ + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261751', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Certificate', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate content.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + ], + [ + 'name' => 'PrivateKey', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The private key of the certificate.'."\n", + 'type' => 'string', + 'required' => true, + 'example' => '-----BEGIN PRIVATE KEY-----', + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate name.'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'test', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '36af3fcc-43d0-441c-86b1-428951dc8225', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID.'."\n", + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the certificate.'."\n", + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.'."\n", + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.'."\n", + 'type' => 'string', + 'example' => '2023-12-01T02:13:07Z', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.'."\n", + 'type' => 'string', + 'example' => '2024-12-01T02:13:07Z', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The CA that issued the certificate.'."\n", + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.'."\n", + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1daa', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.'."\n", + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.'."\n", + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'ValidityDays' => [ + 'description' => 'The validity period of the certificate. Unit: day.'."\n", + 'type' => 'string', + 'example' => '365', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.Function', + 'errorMessage' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + 'description' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'CertificateNotMatchPrivateKey', + 'errorMessage' => 'The specified certificate does not match the private key.', + 'description' => 'The specified certificate and private key do not match.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'title' => 'Upload a domain-granularity origin fetch client certificate.', + 'summary' => 'Upload a domain-granularity origin fetch client certificate.', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UploadOriginClientCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UploadOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"36af3fcc-43d0-441c-86b1-428951dc8225\\",\\n \\"Id\\": \\"babaabcd****\\",\\n \\"Status\\": \\"OK\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"NotBefore\\": \\"2023-12-01T02:13:07Z\\",\\n \\"NotAfter\\": \\"2024-12-01T02:13:07Z\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"SerialNumber\\": \\"babaded901474b9693acf530e0fb1daa\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca66\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"ValidityDays\\": \\"365\\"\\n}","type":"json"}]', + ], + 'UploadSiteOriginClientCertificate' => [ + 'summary' => 'Upload site origin client certificate', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '261744', + 'abilityTreeNodes' => [ + 'FEATUREdcdnX7NWEB', + ], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'Site ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '123456789****', + 'title' => '', + ], + ], + [ + 'name' => 'Certificate', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate content.', + 'type' => 'string', + 'required' => true, + 'example' => '-----BEGIN CERTIFICATE-----', + 'title' => '', + ], + ], + [ + 'name' => 'PrivateKey', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The private key of the certificate.', + 'type' => 'string', + 'required' => true, + 'example' => '-----BEGIN PRIVATE KEY-----', + 'title' => '', + ], + ], + [ + 'name' => 'Name', + 'in' => 'formData', + 'schema' => [ + 'description' => 'The certificate name.', + 'type' => 'string', + 'required' => false, + 'example' => 'example', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'Request ID.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + 'Id' => [ + 'description' => 'The certificate ID on ESA.', + 'type' => 'string', + 'example' => 'babaabcd****', + 'title' => '', + ], + 'Status' => [ + 'description' => 'The status of the certificate.', + 'type' => 'string', + 'example' => 'OK', + 'title' => '', + ], + 'CommonName' => [ + 'description' => 'The Common Name of the certificate.', + 'type' => 'string', + 'example' => 'www.example.com', + 'title' => '', + ], + 'NotBefore' => [ + 'description' => 'The time when the certificate takes effect.', + 'type' => 'string', + 'example' => '2023-12-01T02:13:07Z', + 'title' => '', + ], + 'NotAfter' => [ + 'description' => 'The time when the certificate expires.', + 'type' => 'string', + 'example' => '2024-12-01T02:12:49Z', + 'title' => '', + ], + 'Issuer' => [ + 'description' => 'The CA that issued the certificate.', + 'type' => 'string', + 'example' => 'GlobalSign nv-sa', + 'title' => '', + ], + 'SerialNumber' => [ + 'description' => 'The serial number of the certificate.', + 'type' => 'string', + 'example' => 'babaded901474b9693acf530e0fb1d**', + 'title' => '', + ], + 'FingerprintSha256' => [ + 'description' => 'The SHA-256 fingerprint of the certificate.', + 'type' => 'string', + 'example' => '1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca**', + 'title' => '', + ], + 'SignatureAlgorithm' => [ + 'description' => 'The signature algorithm of the certificate.', + 'type' => 'string', + 'example' => 'SHA256-RSA', + 'title' => '', + ], + 'ValidityDays' => [ + 'description' => 'The validity period of the certificate. Unit: day.', + 'type' => 'string', + 'example' => '365', + 'title' => '', + ], + ], + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Certificate.StatusError', + 'errorMessage' => 'The status of the certificate is invalid.', + 'description' => 'The specified certificate status is invalid.', + ], + [ + 'errorCode' => 'InvalidParameter.SiteId', + 'errorMessage' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'errorCode' => 'MissingSiteId', + 'errorMessage' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'errorCode' => 'QuotaCheckFailed.Function', + 'errorMessage' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + 'description' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + ], + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'CertificateNotMatchPrivateKey', + 'errorMessage' => 'The specified certificate does not match the private key.', + 'description' => 'The specified certificate and private key do not match.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Unauthorized.InvalidTime', + 'errorMessage' => 'The specified authentication time is invalid.', + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'errorCode' => 'Unauthorized.InvalidToken', + 'errorMessage' => 'Token authentication failed.', + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"Id\\": \\"babaabcd****\\",\\n \\"Status\\": \\"OK\\",\\n \\"CommonName\\": \\"www.example.com\\",\\n \\"NotBefore\\": \\"2023-12-01T02:13:07Z\\",\\n \\"NotAfter\\": \\"2024-12-01T02:12:49Z\\",\\n \\"Issuer\\": \\"GlobalSign nv-sa\\",\\n \\"SerialNumber\\": \\"babaded901474b9693acf530e0fb1d**\\",\\n \\"FingerprintSha256\\": \\"1dc5fc9af4eead2570c70d94b416130baeb6d4429b51fd3557379588456aca**\\",\\n \\"SignatureAlgorithm\\": \\"SHA256-RSA\\",\\n \\"ValidityDays\\": \\"365\\"\\n}","type":"json"}]', + 'title' => 'Upload Site-level Origin Client Certificate', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UploadSiteOriginClientCertificate', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UploadSiteOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + ], + 'VerifyCustomHostname' => [ + 'summary' => 'Verifies the ownership of a Software as a Service (SaaS) domain name. After a domain name is verified, the site is automatically activated.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239650', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4DMKZ4', + ], + ], + 'parameters' => [ + [ + 'name' => 'HostnameId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => [ + 'description' => 'The ID of the SaaS domain name. You can call the [ListCustomHostnames](~~3018667~~) operation to obtain the ID.', + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'title' => '', + 'example' => '1234567890123', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The ID of the request. This is a unique identifier generated by Alibaba Cloud for the request.', + 'type' => 'string', + 'example' => '0AEDAF20-4DDF-4165-8750-47FF9C1929C9', + 'title' => '', + ], + 'Passed' => [ + 'description' => 'Indicates whether the verification passed.', + 'type' => 'boolean', + 'title' => '', + 'example' => 'true', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 200 => [ + [ + 'errorCode' => 'CustomHostname.VerifyUnpassed', + 'errorMessage' => 'The custom hostname ownership verification failed. Complete the verification and try again.', + 'description' => 'The custom hostname ownership verification failed. Complete the verification and try again.', + ], + ], + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'The specified parameter is invalid.', + 'description' => 'The specified parameter is invalid.', + ], + [ + 'errorCode' => 'NoPermission', + 'errorMessage' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + 'description' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + ], + [ + 'errorCode' => 'Instance.NotOnline', + 'errorMessage' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'errorCode' => 'Record.ServiceBusy', + 'errorMessage' => 'The record is being configured. Try again later.', + 'description' => 'The record is being configured. Try again later.', + ], + [ + 'errorCode' => 'CustomHostname.InvalidICP', + 'errorMessage' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + 'description' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + ], + [ + 'errorCode' => 'CustomHostname.ConflictWithExistingResource', + 'errorMessage' => 'The custom hostname conflicts with existing resources, such as sites, records, load balancers, source address pools, custom hostnames and Layer 4 proxy records.', + 'description' => 'The custom hostname conflicts with existing resources, such as sites, records, load balancers, source address pools, custom hostnames and Layer 4 proxy records.', + ], + ], + 404 => [ + [ + 'errorCode' => 'CustomHostname.NotFound', + 'errorMessage' => 'The custom hostname does not exist. Modify it and try again.', + 'description' => 'The custom hostname does not exist. Modify it and try again.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'title' => 'VerifyCustomHostname', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0AEDAF20-4DDF-4165-8750-47FF9C1929C9\\",\\n \\"Passed\\": true\\n}","type":"json"}]', + ], + 'VerifySite' => [ + 'summary' => 'Verifies the ownership of a website domain. Websites that pass the verification are automatically activated.', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '239614', + 'abilityTreeNodes' => [ + 'FEATUREdcdn4W8FYZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'SiteId', + 'in' => 'query', + 'schema' => [ + 'description' => 'The website ID, which can be obtained by calling the [ListSites](~~2850189~~) operation.'."\n", + 'type' => 'integer', + 'format' => 'int64', + 'required' => true, + 'example' => '1234567890123', + 'title' => '', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => 'The request ID.'."\n", + 'type' => 'string', + 'example' => '65C66B7B-671A-8297-9187-2R5477247B76', + 'title' => '', + ], + 'Passed' => [ + 'description' => 'Indicates whether the verification passed. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", + 'type' => 'boolean', + 'example' => 'true', + 'title' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'InternalException', + 'errorMessage' => 'Failed to call the service. Try again later or contact technical support.', + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'errorCode' => 'Site.ServiceBusy', + 'errorMessage' => 'This website is being configured. Try again later.', + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'errorCode' => 'Site.Conflict', + 'errorMessage' => 'Duplicate website names exist across multiple accounts. Rename or delete one and try again.', + 'description' => 'Duplicate website names exist across multiple accounts. Rename or delete one and try again.', + ], + [ + 'errorCode' => 'InvalidParameter', + 'errorMessage' => 'Invalid parameter. Check the parameter configuration.', + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"65C66B7B-671A-8297-9187-2R5477247B76\\",\\n \\"Passed\\": true\\n}","type":"json"}]', + 'title' => 'VerifySite', + 'description' => '1. For a website connected by using NS setup, this operation verifies whether the nameservers of the website are the nameservers assigned by Alibaba Cloud.'."\n" + .'2. For a website connected by using CNAME setup, this operation verifies whether the website has a TXT record whose hostname is _esaauth.[websiteDomainName] and record value is the value of VerifyCode to the DNS records of your domain. You can see the VerifyCode field in the site information.', + 'changeSet' => [ + [ + 'createdAt' => '2024-09-18T06:13:38.000Z', + 'description' => 'Error codes changed', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'VerifySite', + ], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:VerifySite', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'ap-southeast-1', + 'regionName' => 'Singapore', + 'areaId' => 'asiaPacific', + 'areaName' => 'Asia Pacific', + 'public' => 'esa.ap-southeast-1.aliyuncs.com', + 'endpoint' => 'esa.ap-southeast-1.aliyuncs.com', + 'vpc' => 'esa-vpc.ap-southeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou', + 'regionName' => 'China (Hangzhou)', + 'areaId' => 'asiaPacific', + 'areaName' => 'Asia Pacific', + 'public' => 'esa.cn-hangzhou.aliyuncs.com', + 'endpoint' => 'esa.cn-hangzhou.aliyuncs.com', + 'vpc' => 'esa-vpc.cn-hangzhou.aliyuncs.com', + ], + ], + 'errorCodes' => [ + [ + 'code' => '%s.NotSupport', + 'message' => 'The specified resource type %s is not supported.', + 'http_code' => 403, + 'description' => 'The specified resource type is not supported. To use this type of resource, please contact us.', + ], + [ + 'code' => '%s.OverQuota', + 'message' => 'The quantity of %s exceeds the quota.', + 'http_code' => 403, + 'description' => 'The amount of this resource exceeds the quota. If you need to apply for more quota, please contact us.', + ], + [ + 'code' => '%s.WrongValueMatched', + 'message' => 'The value of specified parameter %s can not pass the matching check.', + 'http_code' => 403, + 'description' => 'The value of the specified parameter can not pass the matching check. If you determine that you need to use this parameter value, please contact us.', + ], + [ + 'code' => 'AccountBlacklist', + 'message' => 'Account blacklist restrictions, please submit a work order to contact customer service for processing.', + 'http_code' => 400, + 'description' => 'Account blacklist restrictions, please submit a work order to contact customer service for processing.', + ], + [ + 'code' => 'AccountStatusIllegal', + 'message' => 'The account status is illegal.', + 'http_code' => 400, + 'description' => 'The account status is illegal.', + ], + [ + 'code' => 'ActiveSiteNotExist', + 'message' => 'Failed to match an active website based on the hostname you specified. Check whether the hostname is correct or activate the website first.', + 'http_code' => 400, + 'description' => 'Failed to match an active website based on the hostname you specified. Check whether the hostname is correct or activate the website first.', + ], + [ + 'code' => 'AppAlreadyExist', + 'message' => 'The containerized application name already exists. Specify another name.', + 'http_code' => 400, + 'description' => 'The containerized application name already exists. Specify another name.', + ], + [ + 'code' => 'ApplyCertificateNotAllowed', + 'message' => 'The certificate application is not allowed for current site.', + 'http_code' => 400, + 'description' => 'The current site is not allowed to request a free certificate, please make sure the site is activated. To apply for a wildcard domain name certificate, make sure that the current site is accessed in NS mode.', + ], + [ + 'code' => 'ApplyVanityNSError', + 'message' => 'Failed to apply for vanity NS resources. Please contact customer service.', + 'http_code' => 400, + 'description' => 'Failed to apply for vanity NS resources. Please contact customer service.', + ], + [ + 'code' => 'ApplyVipError', + 'message' => 'Failed to apply for ip resources, please contact customer service.', + 'http_code' => 400, + 'description' => 'Failed to apply for IP resources, please contact customer service.', + ], + [ + 'code' => 'ArgQuotaCheckFailed', + 'message' => 'The passed-in parameter value failed to verify the validity of the plan. Please check the plan document to obtain the range of parameters that can be configured for the site plan.', + 'http_code' => 400, + 'description' => 'The current plan does not support the configuration of restricted parameters, please check the input parameters.', + ], + [ + 'code' => 'BASIC_INFO_UNCOMPLETED', + 'message' => 'You have not completed your personal basic information. Please complete the information and try again.', + 'http_code' => 400, + 'description' => 'You have not completed your basic personal information. Please complete the information and re-operate. (If the current account is a managed sub-account, please contact the main account and click this link to complete the information.) <"/>esarealtimelogpushsls.dcdnservices.aliyuncs.com<"/><"/>.', + 'http_code' => 400, + 'description' => 'You do not have permissions to create a service-linked role.Contact your account administrator to attach the AliyunESAFullAccess policy or a custom policy that grants permissions to create a service-linked role to the current user.Service: <"/><"/>esarealtimelogpushsls.dcdnservices.aliyuncs.com<"/><"/>.', + ], + [ + 'code' => 'CreateTimeError', + 'message' => 'The effective time of the same policy template cannot overlap.', + 'http_code' => 400, + 'description' => 'The effective time of the same policy template cannot overlap.', + ], + [ + 'code' => 'DependedByOthers', + 'message' => 'Failed to call the service. Try again later or contact technical support.', + 'http_code' => 400, + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'code' => 'DnsSecDenied', + 'message' => 'Only sites accessed by NS can enable DNSSEC.', + 'http_code' => 400, + 'description' => 'Only sites accessed by NS can enable the DNSSEC function.', + ], + [ + 'code' => 'Domain.NotSupport.Waf', + 'message' => 'Failed to enable WAF for the domain due to incompatible scheduling domain configurations or properties. Check and adjust your configurations and try again. If the problem persists, contact technical support.', + 'http_code' => 403, + 'description' => 'Failed to enable WAF for the domain due to incompatible scheduling domain configurations or properties. Check and adjust your configurations and try again. If the problem persists, contact technical support.', + ], + [ + 'code' => 'DomainInRiskList', + 'message' => 'The domain you added may be at risk. If you have any questions, please submit a ticket.', + 'http_code' => 400, + 'description' => 'The domain name you added may be at risk. If you have any questions, please submit a work order.', + ], + [ + 'code' => 'DomainNameOverLimit', + 'message' => 'A maximum of 500 domains are supported for each request.', + 'http_code' => 400, + 'description' => 'Only 500 domain names are supported at a time. Please reduce the number of domain names to request again.', + ], + [ + 'code' => 'DuplicateRequirementTicket', + 'message' => 'Repeated demand order.', + 'http_code' => 400, + 'description' => 'Repeated demand order.', + ], + [ + 'code' => 'EdgeContainer.HasOpened', + 'message' => 'You have already activated Edge Container.', + 'http_code' => 400, + 'description' => 'You have already activated Edge Container.', + ], + [ + 'code' => 'EdgePortsOverlap', + 'message' => 'There is overlap between multiple edge ports, please check and try again after modification.', + 'http_code' => 400, + 'description' => 'There is overlap between multiple edge ports, please check and try again after modification.', + ], + [ + 'code' => 'EnterpriseAmountErr', + 'message' => 'Enterprise plans do not support bulk purchase.', + 'http_code' => 400, + 'description' => 'Enterprise plans do not support bulk purchase.', + ], + [ + 'code' => 'ErrSiteIdNoteEnterprise', + 'message' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + 'http_code' => 400, + 'description' => 'This feature is unavailable because your website is not associated with an Enterprise plan. Upgrade your plan to Enterprise.', + ], + [ + 'code' => 'ErService.HasOpened', + 'message' => 'You have already activated Edge Routine.', + 'http_code' => 400, + 'description' => 'You have already activated Edge Routine.', + ], + [ + 'code' => 'ErService.NotOpen', + 'message' => 'Er service has not opend.', + 'http_code' => 403, + 'description' => 'Er service has not opend.', + ], + [ + 'code' => 'EsaService.NotOpen', + 'message' => 'ESA service has not opend.', + 'http_code' => 403, + 'description' => 'Edge Security Accelerator (ESA) is not turned on', + ], + [ + 'code' => 'ExceedFileUpload', + 'message' => 'The size of the uploaded file exceeds the upper limit. Select a file less than 10 MB.', + 'http_code' => 400, + 'description' => 'The size of the uploaded file exceeds the upper limit. Select a file less than 10 MB.', + ], + [ + 'code' => 'Expression.Invalid', + 'message' => 'Expression syntax error or data type mismatched.', + 'http_code' => 403, + 'description' => 'Expression syntax error or data type mismatched.', + ], + [ + 'code' => 'Expression.Invalid', + 'message' => 'The specified expression is invalid: %s.', + 'http_code' => 403, + 'description' => 'The specified expression is invalid.', + ], + [ + 'code' => 'Forbidden', + 'message' => 'You are not authorized to operate this resource, or this API does not support RAM.', + 'http_code' => 403, + 'description' => 'You are not authorized to operate this resource, or this API does not support RAM.', + ], + [ + 'code' => 'FunctionConflict', + 'message' => 'The feature configuration conflicts. Sites with version management enabled cannot configure this feature.', + 'http_code' => 400, + 'description' => 'The currently configured function conflicts with other functions. If you need to configure, delete the conflicting function configurations first.', + ], + [ + 'code' => 'FunctionQuotaCheckFailed', + 'message' => 'The quota verification for this function fails. It may be that the configuration of this function exceeds the limit of the site plan. Please check the plan introduction document corresponding to this site.', + 'http_code' => 400, + 'description' => 'The current plan does not support the configuration of restricted functions, please check the plan related function description.', + ], + [ + 'code' => 'HostnameNumberExceedLimit', + 'message' => 'The maximum number of hostnames associated with the CA certificate you specified has been reached.', + 'http_code' => 400, + 'description' => 'The number of domain names bound to CA certificates exceeds the limit. A maximum of 50 domain names can be bound to each CA certificate.', + ], + [ + 'code' => 'Id.MissingParameter', + 'message' => 'The parameter Id is required.', + 'http_code' => 400, + 'description' => 'The required parameter Id is missing.', + ], + [ + 'code' => 'IllegalOperation.VersionManagement', + 'message' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + 'http_code' => 400, + 'description' => 'The version management operation failed because incompatible features or environment settings are configured. Adjust your configurations and try again.', + ], + [ + 'code' => 'Instance.NotOnline', + 'message' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + 'http_code' => 400, + 'description' => 'Your plan is unavailable due to an overdue payment. Complete the payment first.', + ], + [ + 'code' => 'Instance.ReleaseFailed', + 'message' => 'Instance release failed.', + 'http_code' => 400, + 'description' => 'Instance release failed.', + ], + [ + 'code' => 'Instance.UpdateSpecError', + 'message' => 'The security instance can only be changed after 31 days of purchase, and can only be changed once a natural month.', + 'http_code' => 400, + 'description' => 'The security instance can only be changed after 31 days of purchase, and can only be changed once a natural month.', + ], + [ + 'code' => 'InstanceNotExist', + 'message' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + 'http_code' => 400, + 'description' => 'The instance does not exist. Check whether the specified instance ID is correct or whether the instance belongs to your account.', + ], + [ + 'code' => 'InsufficientAvailableQuota', + 'message' => 'Your account balance is insufficient.', + 'http_code' => 400, + 'description' => 'Your account is in arrears, please pay the arrears before purchasing.', + ], + [ + 'code' => 'InsufficientBalance', + 'message' => 'Your account balance is insufficient.', + 'http_code' => 400, + 'description' => 'Your account balance is insufficient, please recharge before purchasing.', + ], + [ + 'code' => 'InternalError', + 'message' => 'An internal exception occurred, please try again later.', + 'http_code' => 400, + 'description' => 'An inner exception was triggered. Please try again later.', + ], + [ + 'code' => 'InternalError', + 'message' => 'Failed to call the service. Try again later or contact technical support.', + 'http_code' => 500, + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'code' => 'InternalException', + 'message' => 'Failed to call the service. Try again later or contact technical support.', + 'http_code' => 400, + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'code' => 'InternalOperationError', + 'message' => 'Failed to call the service. Try again later or contact technical support.', + 'http_code' => 400, + 'description' => 'Failed to call the service. Try again later or contact technical support.', + ], + [ + 'code' => 'Invalid.Parameter', + 'message' => 'Invalid request parameters for querying standard logs. Check and try again.', + 'http_code' => 400, + 'description' => 'Invalid request parameters for querying standard logs. Check and try again.', + ], + [ + 'code' => 'Invalid.Value', + 'message' => 'Invalid value in the key-value pair. Make sure the value is Base64-encoded.', + 'http_code' => 400, + 'description' => 'Invalid value in the key-value pair. Make sure the value is Base64-encoded.', + ], + [ + 'code' => 'InvalidAccount.Malformed', + 'message' => 'The specified account is invalid.', + 'http_code' => 400, + 'description' => 'The account number is not entered correctly, for example, the input is empty.', + ], + [ + 'code' => 'InvalidAccount.NotFound', + 'message' => 'The specified account does not exist.', + 'http_code' => 404, + 'description' => 'The specified account does not exist.', + ], + [ + 'code' => 'InvalidApp.NotFound', + 'message' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + 'http_code' => 404, + 'description' => 'The application does not exist. Check whether the application ID you specified is correct and try again.', + ], + [ + 'code' => 'InvalidArgName', + 'message' => 'The parameter name does not exist, please check the function interface document.', + 'http_code' => 400, + 'description' => 'The parameter name does not exist, please check the function interface document.', + ], + [ + 'code' => 'InvalidCertificate.NotFound', + 'message' => 'The specified certificate does not match the website. Check the validity of the certificate and try again.', + 'http_code' => 400, + 'description' => 'The specified certificate does not match the website. Check the validity of the certificate and try again.', + ], + [ + 'code' => 'InvalidComponent', + 'message' => 'The order parameters is invalid.', + 'http_code' => 400, + 'description' => 'The order parameters is invalid.', + ], + [ + 'code' => 'InvalidConfigId', + 'message' => 'The input configuration ID: ConfigId it does not exist, query the existing configuration and its valid ConfigId through the ListSiteFunction.', + 'http_code' => 400, + 'description' => 'The ConfigId does not exist.', + ], + [ + 'code' => 'InvalidEndTime.Malformed', + 'message' => 'The specified EndTime is invalid.', + 'http_code' => 400, + 'description' => 'Please provide the correct end time format. The date format follows ISO8601 notation and uses UTC time. The format is: yyyy-MM-ddTHH:mm:ssZ.', + ], + [ + 'code' => 'InvalidEndTime.Mismatch', + 'message' => 'The specified EndTime is earlier than the StartTime.', + 'http_code' => 400, + 'description' => 'The end time you entered is earlier than the start time. Please check and try again.', + ], + [ + 'code' => 'InvalidExecution.CountFull', + 'message' => 'The maximum number of prefetch plans has been reached. Delete some completed tasks and try again.', + 'http_code' => 400, + 'description' => 'The maximum number of prefetch plans has been reached. Delete some completed tasks and try again.', + ], + [ + 'code' => 'InvalidExecution.NotFound', + 'message' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + 'http_code' => 404, + 'description' => 'The execution plan does not exist. Check whether the parameters such as the execution ID, start time, and end time are correct.', + ], + [ + 'code' => 'InvalidFunctions.Malformed', + 'message' => 'The specified Functions is invalid.', + 'http_code' => 400, + 'description' => 'The specified configuration is invalid.', + ], + [ + 'code' => 'InvalidInstance', + 'message' => 'The instance ID is missing or invalid. Make sure that the instance ID is valid and try again.', + 'http_code' => 400, + 'description' => 'The instance ID is missing or invalid. Make sure that the instance ID is valid and try again.', + ], + [ + 'code' => 'InvalidJob.JobCountOfSiteFull', + 'message' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + 'http_code' => 400, + 'description' => 'The maximum number of prefetch tasks for the website has been reached. Delete some unwanted ones and try again.', + ], + [ + 'code' => 'InvalidJob.NotFound', + 'message' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + 'http_code' => 404, + 'description' => 'The task does not exist. Check whether the task ID is correct or whether the task has been deleted.', + ], + [ + 'code' => 'InvalidKey.ExceedsCapacity', + 'message' => 'The maximum storage capacity of the Edge KV namespace has been reached. Delete unwanted key-value pairs to save the storage.', + 'http_code' => 403, + 'description' => 'The maximum storage capacity of the Edge KV namespace has been reached. Delete unwanted key-value pairs to save the storage.', + ], + [ + 'code' => 'InvalidKey.ExceedsCapacity', + 'message' => 'The maximum capacity of a single namespace cannot exceed 1 GB.', + 'http_code' => 403, + 'description' => 'The capacity of the storage space exceeds the limit.', + ], + [ + 'code' => 'InvalidKey.ExceedsMaximum', + 'message' => 'The size of the key cannot exceed 512 bytes.', + 'http_code' => 400, + 'description' => 'The length of the requested key is too large.', + ], + [ + 'code' => 'InvalidKey.Malformed', + 'message' => 'The specified key is invalid.', + 'http_code' => 400, + 'description' => 'Key name input error, such as entering an empty string.', + ], + [ + 'code' => 'InvalidKey.NotFound', + 'message' => 'The specified key does not exist.', + 'http_code' => 404, + 'description' => 'The specified key-value pair does not exist.', + ], + [ + 'code' => 'InvalidKey.QuotaFull', + 'message' => 'The total number of IP exceeds the quota.', + 'http_code' => 406, + 'description' => 'The total number of ip addresses exceeds the quota.', + ], + [ + 'code' => 'InvalidKey.TooManyDimensions', + 'message' => 'Request contains too many dimensions.', + 'http_code' => 400, + 'description' => 'Request contains too many dimensions. For more information, see OpenAPI Documentation .'."\n", + ], + [ + 'code' => 'InvalidNameSpace.Duplicate', + 'message' => 'The specified namespace already exists.', + 'http_code' => 406, + 'description' => 'Specified storage space', + ], + [ + 'code' => 'InvalidNameSpace.Malformed', + 'message' => 'The specified namespace is invalid.', + 'http_code' => 400, + 'description' => 'The bucket name is entered incorrectly, such as an empty string.', + ], + [ + 'code' => 'InvalidNameSpace.NotFound', + 'message' => 'The specified namespace does not exist.', + 'http_code' => 404, + 'description' => '', + ], + [ + 'code' => 'InvalidNameSpace.QuotaFull', + 'message' => 'The maximum number of namespaces is exceeded.', + 'http_code' => 406, + 'description' => 'The number of storage spaces exceeds the capacity limit.', + ], + [ + 'code' => 'InvalidNextToken', + 'message' => 'The specified parameter NextToken is invalid.', + 'http_code' => 400, + 'description' => 'The parameter NextToken is illegal.', + ], + [ + 'code' => 'InvalidPageSize.ValueNotSupported', + 'message' => 'The PageSize value is invalid. The default value is set to 20. The acceptable range is between 1 and 500.', + 'http_code' => 400, + 'description' => 'The request PageSize value is invalid. The default value is 20 and the value range is 1-500.', + ], + [ + 'code' => 'InvalidParameter', + 'message' => 'Invalid parameter. Check the parameter configuration.', + 'http_code' => 400, + 'description' => 'Invalid parameter. Check the parameter configuration.', + ], + [ + 'code' => 'InvalidParameter', + 'message' => 'Parameter verification failed. Check your configurations and try again.', + 'http_code' => 400, + 'description' => 'Parameter verification failed. Check your configurations and try again.', + ], + [ + 'code' => 'InvalidParameter', + 'message' => 'The specified parameter is invalid.', + 'http_code' => 400, + 'description' => 'The specified parameter is invalid.', + ], + [ + 'code' => 'InvalidParameter.AddressConflict', + 'message' => 'Duplicate origin addresses. Make sure that each origin address for the same pool is unique.', + 'http_code' => 400, + 'description' => 'Duplicate origin addresses. Make sure that each origin address for the same pool is unique.', + ], + [ + 'code' => 'InvalidParameter.ApiItems.Api', + 'message' => 'The parameter apiItems api is invalid.', + 'http_code' => 400, + 'description' => 'The parameter apiItems api is invalid.', + ], + [ + 'code' => 'InvalidParameter.ApiItems.Host', + 'message' => 'The parameter apiItems host is invalid.', + 'http_code' => 400, + 'description' => 'The parameter apiItems host is invalid.', + ], + [ + 'code' => 'InvalidParameter.ApiShield.Quota', + 'message' => 'This website does not have the permission to view API security features.', + 'http_code' => 400, + 'description' => 'This website does not have the permission to view API security features.', + ], + [ + 'code' => 'InvalidParameter.appid', + 'message' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'http_code' => 400, + 'description' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + ], + [ + 'code' => 'InvalidParameter.Appid', + 'message' => 'The format of the application ID is invalid. You can call ListEdgeContainerApps to obtain the application ID.', + 'http_code' => 400, + 'description' => 'The format of the input application ID is incorrect. You can use the ListEdgeContainerApps API to obtain the application ID.', + ], + [ + 'code' => 'InvalidParameter.ArgName', + 'message' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + 'http_code' => 400, + 'description' => 'Invalid ArgName. Check your website configuration parameters and make sure that they match the supported features and parameter names listed in the official documentation.', + ], + [ + 'code' => 'InvalidParameter.ArgValue', + 'message' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + 'http_code' => 400, + 'description' => 'Invalid parameter value. Check whether the value format and length meet the requirements.', + ], + [ + 'code' => 'InvalidParameter.ClientIpPassThroughMode', + 'message' => 'Invalid client IP transfer protocol, please refer to the interface document and pass in valid parameters.', + 'http_code' => 400, + 'description' => 'Invalid client IP transfer protocol, please refer to the interface document and pass in valid parameters.', + ], + [ + 'code' => 'InvalidParameter.CnameSiteRecordNoProxied', + 'message' => 'A non-proxied record was added for a website using a CNAME setup.', + 'http_code' => 400, + 'description' => 'A non-proxied record was added for a website using a CNAME setup.', + ], + [ + 'code' => 'InvalidParameter.CnameSiteRecordUnsupport', + 'message' => 'The current record type is not supported for a website connected by CNAME setup.', + 'http_code' => 400, + 'description' => 'You can only add A/AAAA and CNAME records to a website connected by CNAME setup.', + ], + [ + 'code' => 'InvalidParameter.ConfigIds', + 'message' => 'Invalid ConfigId. Specify an existing Configld and make sure it is in the valid format.', + 'http_code' => 400, + 'description' => 'Invalid ConfigId. Specify an existing Configld and make sure it is in the valid format.', + ], + [ + 'code' => 'InvalidParameter.Configs', + 'message' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + 'http_code' => 400, + 'description' => 'Invalid parameter configurations. Check whether your feature configurations are in the valid format and comply with relevant requirements.', + ], + [ + 'code' => 'InvalidParameter.Coverage', + 'message' => 'The selected location is unavailable in your plan. Change the location to one that is covered by the plan and try again.', + 'http_code' => 400, + 'description' => 'The selected location is unavailable in your plan. Change the location to one that is covered by the plan and try again.', + ], + [ + 'code' => 'InvalidParameter.Dimension', + 'message' => 'The specified Dimension is invalid.', + 'http_code' => 400, + 'description' => 'The specified Dimension is invalid. For more information, see OpenAPI Documentation .'."\n", + ], + [ + 'code' => 'InvalidParameter.DomainNotBelongingUser', + 'message' => 'The domain name passed in does not belong to the current user.', + 'http_code' => 400, + 'description' => 'The domain name passed in does not belong to the current user.', + ], + [ + 'code' => 'InvalidParameter.Domains', + 'message' => 'Duplicate domain names are specified for parameter Domains. Remove one of them and try again.', + 'http_code' => 400, + 'description' => 'Duplicate domain names are specified for parameter Domains. Remove one of them and try again.', + ], + [ + 'code' => 'InvalidParameter.Domains', + 'message' => 'The maximum number of domain names specified by parameter Domains has been reached. Adjust your configurations and try again.', + 'http_code' => 400, + 'description' => 'The maximum number of domain names specified by parameter Domains has been reached. Adjust your configurations and try again.', + ], + [ + 'code' => 'InvalidParameter.Domains', + 'message' => 'You have already submitted a certificate application for the domain name.', + 'http_code' => 400, + 'description' => 'You have already submitted a certificate application for the domain name.', + ], + [ + 'code' => 'InvalidParameter.Domains', + 'message' => 'One or more domain names specified by parameter Domains do not belong to the current website. Check and try again.', + 'http_code' => 400, + 'description' => 'One or more domain names specified by parameter Domains do not belong to the current website. Check and try again.', + ], + [ + 'code' => 'InvalidParameter.Domains', + 'message' => 'The domain specified in Domains parameter is not a valid domain name, please check and try again.', + 'http_code' => 400, + 'description' => 'Domains there is an invalid domain name in the parameter, please check and try again.', + ], + [ + 'code' => 'InvalidParameter.Domains', + 'message' => 'The site you configured is currently accessed in the CNAME mode. Please switch to the NS mode and try again.', + 'http_code' => 400, + 'description' => 'The site you configured is currently accessed in the CNAME mode. Please switch to the NS mode and try again.', + ], + [ + 'code' => 'InvalidParameter.Domains', + 'message' => 'The maximum number of domain names specified by parameter Domains has been reached. Adjust your configurations and try again. The upper limit of lets.encrypt type domain name is 50, the upper limit of digicert.single type domain name is 10, and the upper limit of digicert.wildcard type domain name is 1.', + 'http_code' => 400, + 'description' => 'The maximum number of domain names specified by parameter Domains has been reached. Adjust your configurations and try again. The upper limit of lets_encrypt type domain name is 50, the upper limit of digicert_single type domain name is 10, and the upper limit of digicert_wildcard type domain name is 1.', + ], + [ + 'code' => 'InvalidParameter.Domains', + 'message' => 'The site which is configured in CNAME mode does not support wildcard domain certificate application.', + 'http_code' => 400, + 'description' => 'The CNAME site does not support applying for a free certificate for wildcard domain names.', + ], + [ + 'code' => 'InvalidParameter.DomainsExceedLimit', + 'message' => 'The number of incoming domain names exceeds the maximum limit.', + 'http_code' => 400, + 'description' => 'The number of incoming domain names exceeds the maximum limit.'."\n", + ], + [ + 'code' => 'InvalidParameter.DomainSourceTypeNotSupport', + 'message' => 'The underlying source type of the domain is not supported.', + 'http_code' => 400, + 'description' => 'The underlying origin type of the domain name is not supported.', + ], + [ + 'code' => 'InvalidParameter.EmptyAKSK', + 'message' => 'AK,SK information cannot be empty.', + 'http_code' => 400, + 'description' => 'AK,SK information cannot be empty.', + ], + [ + 'code' => 'InvalidParameter.EndpointId', + 'message' => 'The parameter EndpointId is invalid.', + 'http_code' => 400, + 'description' => 'The parameter EndpointId is invalid.', + ], + [ + 'code' => 'InvalidParameter.ExistedHandlingTask', + 'message' => 'There is a task in process, waiting for execution to complete.', + 'http_code' => 400, + 'description' => 'There is a task in process, waiting for execution to complete.', + ], + [ + 'code' => 'InvalidParameter.Field', + 'message' => 'The specified Field is invalid.', + 'http_code' => 400, + 'description' => 'The specified Field is invalid. For more information, see OpenAPI Documentation .', + ], + [ + 'code' => 'InvalidParameter.FunctionName', + 'message' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + 'http_code' => 400, + 'description' => 'The specified feature does not exist. Specify a valid feature name based on the related documentation.', + ], + [ + 'code' => 'InvalidParameter.FuzzySearch', + 'message' => 'The parameter fuzzySearch is invalid.', + 'http_code' => 400, + 'description' => 'The parameter fuzzySearch is invalid.', + ], + [ + 'code' => 'InvalidParameter.HealthCheckFailTimes', + 'message' => 'Specified parameter HealthCheckFailTimes is not valid.', + 'http_code' => 400, + 'description' => 'Parameter HealthCheckFailTimes format is incorrect.', + ], + [ + 'code' => 'InvalidParameter.HealthCheckHost', + 'message' => 'Specified parameter HealthCheckHost is not valid.', + 'http_code' => 400, + 'description' => 'Parameter HealthCheckHost format is incorrect.', + ], + [ + 'code' => 'InvalidParameter.HealthCheckHttpCode', + 'message' => 'Specified parameter HealthCheckHttpCode is not valid.', + 'http_code' => 400, + 'description' => 'Parameter HealthCheckHttpCode format is incorrect.', + ], + [ + 'code' => 'InvalidParameter.HealthCheckInterval', + 'message' => 'Specified parameter HealthCheckInterval is not valid.', + 'http_code' => 400, + 'description' => 'Parameter HealthCheckInterval format is incorrect.', + ], + [ + 'code' => 'InvalidParameter.HealthCheckMethod', + 'message' => 'Specified parameter HealthCheckMethod is not valid.', + 'http_code' => 400, + 'description' => 'Parameter HealthCheckMethod format is incorrect.', + ], + [ + 'code' => 'InvalidParameter.HealthCheckPort', + 'message' => 'Specified parameter HealthCheckPort is not valid.', + 'http_code' => 400, + 'description' => 'Parameter HealthCheckPort format is incorrect.', + ], + [ + 'code' => 'InvalidParameter.HealthCheckSuccTimes', + 'message' => 'Specified parameter HealthCheckSuccTimes is not valid.', + 'http_code' => 400, + 'description' => 'Parameter HealthCheckHost format is incorrect.', + ], + [ + 'code' => 'InvalidParameter.HealthCheckTimeout', + 'message' => 'Specified parameter HealthCheckTimeout is not valid.', + 'http_code' => 400, + 'description' => 'Parameter HealthCheckTimeout format is incorrect.', + ], + [ + 'code' => 'InvalidParameter.HealthCheckType', + 'message' => 'Specified parameter HealthCheckType is not valid.', + 'http_code' => 400, + 'description' => 'Parameter HealthCheckType format is incorrect.', + ], + [ + 'code' => 'InvalidParameter.HealthCheckURI', + 'message' => 'Specified parameter HealthCheckURI is not valid.', + 'http_code' => 400, + 'description' => 'Parameter HealthCheckURI format is incorrect.', + ], + [ + 'code' => 'InvalidParameter.HttpHeaders', + 'message' => 'The specified HttpHeaders is invalid. Please check the HttpHeaders parameter. Please make the necessary changes and call the interface again.', + 'http_code' => 400, + 'description' => 'The HttpHeaders parameter is invalid. Please check whether the HttpHeaders parameter is filled in. The parameter cannot contain @.', + ], + [ + 'code' => 'InvalidParameter.Image', + 'message' => 'The specified Image is invalid. Please check the Image parameter and make the necessary modifications and call the interface again.', + 'http_code' => 400, + 'description' => 'Illegal Image parameter. Please check the Image parameter, which cannot be assigned to illegal characters such @.', + ], + [ + 'code' => 'InvalidParameter.InvalidBiz', + 'message' => 'the value of the business type is empty or the incoming parameter is invalid.', + 'http_code' => 400, + 'description' => 'The value of the business type is empty or the incoming parameter is invalid.', + ], + [ + 'code' => 'InvalidParameter.InvalidBiz', + 'message' => 'The incoming parameter value of the business type is empty or incorrect.', + 'http_code' => 400, + 'description' => 'The incoming parameter value of the business type is empty or incorrect.', + ], + [ + 'code' => 'InvalidParameter.InvalidDSRecordName', + 'message' => 'Please add/import an NS record with the same name before adding this DS record.', + 'http_code' => 400, + 'description' => 'Please add/import an NS record with the same name before adding this DS record', + ], + [ + 'code' => 'InvalidParameter.InvalidHostPolicy', + 'message' => 'The host parameter in the origin fetch request is invalid.', + 'http_code' => 400, + 'description' => 'The host parameter in the origin fetch request is invalid.', + ], + [ + 'code' => 'InvalidParameter.InvalidRecordName', + 'message' => 'The record name you entered does not meet the specifications. Change the record name according to the product documentation.', + 'http_code' => 400, + 'description' => 'The record name you entered does not meet the specifications. Please adjust the record name according to the product documentation.', + ], + [ + 'code' => 'InvalidParameter.InvalidRecordName', + 'message' => 'The DNS record name you entered does not meet the required specifications. Please adjust the record name according to the product documentation.', + 'http_code' => 400, + 'description' => 'The record name you entered does not meet the specifications. Please adjust the record name according to the product documentation.', + ], + [ + 'code' => 'InvalidParameter.InvalidRecordNameSuffix', + 'message' => 'If you add other records, the suffix of the host record must be the same as the site name.', + 'http_code' => 400, + 'description' => 'If you add another record, the suffix of the host record must be the same as the site name. Please adjust and try again.', + ], + [ + 'code' => 'InvalidParameter.InvalidSiteEnvironmentName', + 'message' => 'The specified site environment name is invalid.', + 'http_code' => 400, + 'description' => 'The specified site environment name is invalid.', + ], + [ + 'code' => 'InvalidParameter.InvalidVanityNSName', + 'message' => 'A vanity nameserver must be an absolute domain name. Correct it and try again.', + 'http_code' => 400, + 'description' => 'You need to enter the full domain name to customize the NS name. Please adjust and submit it again.', + ], + [ + 'code' => 'InvalidParameter.InvalidVanityNSNum', + 'message' => 'Enter 2 to 5 vanity nameservers. Correct them and try again.', + 'http_code' => 400, + 'description' => 'Custom NS requires 2~5 names, please adjust and resubmit.', + ], + [ + 'code' => 'InvalidParameter.LoadBalancerNameInvalid', + 'message' => 'Invalid load balancer name. Make sure that you specify a valid subdomain name under your website domain for the load balancer.', + 'http_code' => 400, + 'description' => 'Invalid load balancer name. Make sure that you specify a valid subdomain name under your website domain for the load balancer.', + ], + [ + 'code' => 'InvalidParameter.MethodFilter', + 'message' => 'The parameter methodFilter is invalid.', + 'http_code' => 400, + 'description' => 'The parameter methodFilter is invalid.', + ], + [ + 'code' => 'InvalidParameter.Name', + 'message' => 'The specified Name is invalid. Please check the Name parameter, which must be between 6 and 128 characters. Kindly make the necessary modifications and call the interface again.', + 'http_code' => 400, + 'description' => 'The Name parameter is not valid. Check the Name parameter, which is between 6 and 128 characters. After modification, call the interface again.', + ], + [ + 'code' => 'InvalidParameter.NotFoundDomain', + 'message' => 'The incoming domain name or some domain names cannot be found based on the user and product type.', + 'http_code' => 400, + 'description' => 'The incoming domain name or some domain names cannot be found based on the user and product type.', + ], + [ + 'code' => 'InvalidParameter.NotMatchedCoverage', + 'message' => 'The domain name and the coverage of the site are inconsistent.', + 'http_code' => 400, + 'description' => 'The domain name and the acceleration area of the site are inconsistent.', + ], + [ + 'code' => 'InvalidParameter.NotMatchedRootDomain', + 'message' => 'The domain name does not match the root domain name information for the site.', + 'http_code' => 400, + 'description' => 'The domain name does not match the root domain name information for the site.', + ], + [ + 'code' => 'InvalidParameter.NotSupportedDomainBiz', + 'message' => 'The business type of the domain name is not supported.', + 'http_code' => 400, + 'description' => 'The business type of the domain name is not supported.', + ], + [ + 'code' => 'InvalidParameter.NotSupportedDomainStatus', + 'message' => 'The status of the domain name is not allowed.', + 'http_code' => 400, + 'description' => 'The status of the domain name is not allowed.', + ], + [ + 'code' => 'InvalidParameter.NotSupportedMultiChannelDomain', + 'message' => 'The multi-channel domain are not supported.', + 'http_code' => 400, + 'description' => 'Multi-channel domain names are not supported.', + ], + [ + 'code' => 'InvalidParameter.NotSupportVendor', + 'message' => 'Do not support the vendor, please select the vendor supported.', + 'http_code' => 400, + 'description' => 'Do not support the vendor, please select the vendor supported.', + ], + [ + 'code' => 'InvalidParameter.ObjectId', + 'message' => 'Invalid task ID or execution plan ID.', + 'http_code' => 400, + 'description' => 'Invalid task ID or execution plan ID.', + ], + [ + 'code' => 'InvalidParameter.ObjectsAndSiteIds', + 'message' => 'The specified Objects and SiteIds variables cannot both be empty strings.', + 'http_code' => 400, + 'description' => 'The specified Objects and SiteIds variables cannot both be empty strings.', + ], + [ + 'code' => 'InvalidParameter.OrderKey', + 'message' => 'The specified OrderKey is invalid. Please check the OrderKey parameter.', + 'http_code' => 400, + 'description' => 'The OrderKey parameter is invalid. Please check the OrderKey parameter, as it cannot be assigned illegal characters such as @, #, % etc. Please make the necessary modifications and call the interface again.', + ], + [ + 'code' => 'InvalidParameter.OrderType', + 'message' => 'The specified OrderType is invalid. Please check the OrderType parameter. You may not have set it to either Asc or Desc. Please make the necessary changes and call the interface again.', + 'http_code' => 400, + 'description' => 'The OrderType parameter is invalid. Please check the OrderType parameter. You may not have set it to Asc or Desc. Please modify it and call the interface again.', + ], + [ + 'code' => 'InvalidParameter.PageNumber', + 'message' => 'Failed to verify parameter PageNumber.Check whether the parameter exists and is set to a positive integer.', + 'http_code' => 400, + 'description' => 'Failed to verify parameter PageNumber.Check whether the parameter exists and is set to a positive integer.', + ], + [ + 'code' => 'InvalidParameter.Percentage', + 'message' => 'The Percentage parameter is invalid. Please check the Percentage parameter, which should be in the range of 1-100. Modify it accordingly and call the interface again.', + 'http_code' => 400, + 'description' => 'The Percentage parameter is invalid. Check the Percentage parameter. The parameter range is 1-100. Modify the parameter and call the interface again.', + ], + [ + 'code' => 'InvalidParameter.Port', + 'message' => 'Invalid edge port or origin port. Enter a valid port as required in the interface document.', + 'http_code' => 400, + 'description' => 'Invalid edge port or origin port. Enter a valid port as required in the interface document.', + ], + [ + 'code' => 'InvalidParameter.Protocol', + 'message' => 'Invalid port protocol. Enter a valid port protocol as required by the interface documentation.', + 'http_code' => 400, + 'description' => 'Invalid port protocol. Enter a valid port protocol as required by the interface documentation.', + ], + [ + 'code' => 'InvalidParameter.PublishEnv', + 'message' => 'The specified PublishEnv is invalid. Please check the PublishEnv parameter. It may not be set to either "prod" or "staging." Please make the necessary changes and call the interface again.', + 'http_code' => 400, + 'description' => 'The PublishEnv parameter is invalid. Please check the PublishEnv parameter. You may not have set it to prod or staging one of them. Please modify it and call the interface again.', + ], + [ + 'code' => 'InvalidParameter.RecordCommentExceedLimit', + 'message' => 'The number of incoming record comment exceeds the maximum limit.', + 'http_code' => 400, + 'description' => 'The record comment information is greater than 50 characters.', + ], + [ + 'code' => 'InvalidParameter.RecordData', + 'message' => 'Invalid record content. Adjust your configurations based on the API documentation.', + 'http_code' => 400, + 'description' => 'Invalid record content. Adjust your configurations based on the API documentation.', + ], + [ + 'code' => 'InvalidParameter.RecordNameExceedLimit', + 'message' => 'The length of the record name exceeds the maximum limit.', + 'http_code' => 400, + 'description' => 'The record name cannot exceed 200 characters.', + ], + [ + 'code' => 'InvalidParameter.RecordNotBelongToSite', + 'message' => 'The record name passed in does not belong to the current site.', + 'http_code' => 400, + 'description' => 'The record name passed in does not belong to the current site.', + ], + [ + 'code' => 'InvalidParameter.RecordsExceedLimit', + 'message' => 'The number of incoming records exceeds the maximum limit.', + 'http_code' => 400, + 'description' => 'The number of incoming records exceeds the maximum limit.', + ], + [ + 'code' => 'InvalidParameter.RecordType', + 'message' => 'Invalid record type. Adjust your configurations based on the API documentation.', + 'http_code' => 400, + 'description' => 'Invalid record type. Adjust your configurations based on the API documentation.', + ], + [ + 'code' => 'InvalidParameter.RuleSource', + 'message' => 'The origin of the forwarding rule does not exist or is invalid. Enter the correct origin and try again.', + 'http_code' => 400, + 'description' => 'The origin of the forwarding rule does not exist or is invalid. Enter the correct origin and try again.', + ], + [ + 'code' => 'InvalidParameter.SiteEnvironmentRuleDuplicate', + 'message' => 'The specified site environment rule is the same as an existing environment.', + 'http_code' => 400, + 'description' => 'The specified site environment rule is the same as an existing environment.', + ], + [ + 'code' => 'InvalidParameter.SiteId', + 'message' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + 'http_code' => 400, + 'description' => 'Failed to query the website based on the SiteID you specified. Check parameter SiteId and try again.', + ], + [ + 'code' => 'InvalidParameter.SiteId', + 'message' => 'The specified SiteId is invalid.', + 'http_code' => 400, + 'description' => 'The specified SiteId is invalid.Check parameter SiteId and try again.', + ], + [ + 'code' => 'InvalidParameter.SiteName', + 'message' => 'Invalid website name. Specify a valid name that contains letters and digits and does not contain special characters.', + 'http_code' => 400, + 'description' => 'Invalid website name. Specify a valid name that contains letters and digits and does not contain special characters.', + ], + [ + 'code' => 'InvalidParameter.SiteVersionDescExceedLimit', + 'message' => 'The specified site version description exceeds the maximum length.', + 'http_code' => 400, + 'description' => 'The specified site version description exceeds the maximum length.', + ], + [ + 'code' => 'InvalidParameter.StateFilter', + 'message' => 'The parameter stateFilter is invalid.', + 'http_code' => 400, + 'description' => 'The parameter stateFilter is invalid.', + ], + [ + 'code' => 'InvalidParameter.TagValue', + 'message' => 'The specified TagValue is invalid.', + 'http_code' => 400, + 'description' => 'The TagValue parameter is invalid.', + ], + [ + 'code' => 'InvalidParameter.TimeRange', + 'message' => 'The specified time range exceeds the limit. Adjust it and try again.', + 'http_code' => 400, + 'description' => 'The specified time range exceeds the limit. Adjust it and try again.', + ], + [ + 'code' => 'InvalidParameter.Type', + 'message' => 'The specified Type parameter is invalid, please check and try again.', + 'http_code' => 400, + 'description' => 'The Type parameter you configured is incorrect. Please check and try again. Certificate application type support lets_encrypt, digicert_single, digicert_wildcard.', + ], + [ + 'code' => 'InvalidParameter.UnSatisfiedDomainSources', + 'message' => 'The basic origin sources of the domain is not satisfied.', + 'http_code' => 400, + 'description' => 'The basic origin information of the domain name is not satisfied.', + ], + [ + 'code' => 'InvalidParameter.VanityNSNameDuplicate', + 'message' => 'The vanity nameservers are duplicated. Please delete it and try again.', + 'http_code' => 400, + 'description' => 'Duplicate custom NS name exists, please delete and resubmit.', + ], + [ + 'code' => 'InvalidParameter.VersionId', + 'message' => 'The specified VersionId is invalid.  Please check the VersionId parameter. You may not have entered the parameter or the parameter does not start with ver-string. Please modify it and call the interface again.', + 'http_code' => 400, + 'description' => 'The VersionId parameter is invalid. Please check the VersionId parameter. You may not have entered the parameter or the parameter does not start with ver-string. Please modify it and call the interface again.', + ], + [ + 'code' => 'InvalidParameters', + 'message' => 'The specified parameters are invalid.', + 'http_code' => 400, + 'description' => 'Parameter is illegal.', + ], + [ + 'code' => 'InvalidParameters.InvalidUrls', + 'message' => 'The specified urls are invalid.', + 'http_code' => 400, + 'description' => 'The requested URL parameter is invalid.', + ], + [ + 'code' => 'InvalidParameter_ApiItems_Api', + 'message' => 'The parameter apiItems api is invalid.', + 'http_code' => 400, + 'description' => 'The parameter apiItems api is invalid.', + ], + [ + 'code' => 'InvalidParameter_ApiItems_Host', + 'message' => 'The parameter apiItems host is invalid.', + 'http_code' => 400, + 'description' => 'The parameter apiItems host is invalid.', + ], + [ + 'code' => 'InvalidParameter_ApiShieldQuota', + 'message' => 'This website does not have the permission to view API security features.', + 'http_code' => 400, + 'description' => 'This website does not have the permission to view API security features.', + ], + [ + 'code' => 'InvalidParameter_EndpointId', + 'message' => 'The EndpointId is invalid.', + 'http_code' => 400, + 'description' => 'The EndpointId is invalid.', + ], + [ + 'code' => 'InvalidParameter_FuzzySearch', + 'message' => 'The parameter fuzzySearch is invalid.', + 'http_code' => 400, + 'description' => 'The parameter fuzzySearch is invalid.', + ], + [ + 'code' => 'InvalidParameter_MethodFilter', + 'message' => 'The parameter methodFilter is invalid.', + 'http_code' => 400, + 'description' => 'The parameter methodFilter is invalid.', + ], + [ + 'code' => 'InvalidParameter_StateFilter', + 'message' => 'The parameter stateFilter is invalid.', + 'http_code' => 400, + 'description' => 'The parameter stateFilter is invalid.', + ], + [ + 'code' => 'InvalidRegionId.Malformed', + 'message' => 'The specified RegionId is invalid.', + 'http_code' => 400, + 'description' => 'The RegionId parameter is set to an invalid value.', + ], + [ + 'code' => 'InvalidResourceId.NotFound', + 'message' => 'The specified resource does not exist or is released.', + 'http_code' => 404, + 'description' => 'The resource does not exist or has been released.', + ], + [ + 'code' => 'InvalidRoutine', + 'message' => 'The name of routine is invalid.', + 'http_code' => 400, + 'description' => 'Edge function name is illegal.', + ], + [ + 'code' => 'InvalidSiteICP', + 'message' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + 'http_code' => 400, + 'description' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + ], + [ + 'code' => 'InvalidSiteName', + 'message' => 'Invalid website name. Check and try again.', + 'http_code' => 400, + 'description' => 'Invalid website name. Check and try again.', + ], + [ + 'code' => 'InvalidSSLPri', + 'message' => 'The specified PrivateKey is invalid.', + 'http_code' => 400, + 'description' => 'The value specified for the PrivateKey parameter is invalid.', + ], + [ + 'code' => 'InvalidSSLPub', + 'message' => 'The specified Certificate is invalid.', + 'http_code' => 400, + 'description' => 'The value specified for the Certificate parameter is invalid.', + ], + [ + 'code' => 'InvalidStartTime.Malformed', + 'message' => 'The specified StartTime parameter is invalid.', + 'http_code' => 400, + 'description' => 'Please provide the correct start time format. The date format follows ISO8601 notation and uses UTC time in the format yyyy-MM-ddTHH:mm:ssZ.', + ], + [ + 'code' => 'InvalidStartTime.ValueNotSupported', + 'message' => 'The StartTime cannot exceed 31 days before the current time.', + 'http_code' => 400, + 'description' => 'The request parameter StartTime cannot be 31 days less than the current time.', + ], + [ + 'code' => 'InvalidStationParameter', + 'message' => 'The specified Station is invalid.', + 'http_code' => 400, + 'description' => 'The specified node parameter is invalid.', + ], + [ + 'code' => 'InvalidTaskId.Malformed', + 'message' => 'The specified taskId is invalid.', + 'http_code' => 400, + 'description' => 'The specified task ID is invalid.', + ], + [ + 'code' => 'InvalidTime', + 'message' => 'The query time cannot exceed the last 3 days.', + 'http_code' => 400, + 'description' => 'The query time cannot exceed the last 3 days.', + ], + [ + 'code' => 'InvalidTime.Malformed', + 'message' => 'Specified start time or end time is malformed.', + 'http_code' => 400, + 'description' => 'The specified time format is incorrect. The time must conform to the yyyy-MM-ddTHH:mm:ssZ format. Please enter it correctly and try again.', + ], + [ + 'code' => 'InvalidUid.PermissionDenied', + 'message' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + 'http_code' => 403, + 'description' => 'You do not have the permissions to perform this operation on this resource. Check whether the specified UID is correct and has the required permissions.', + ], + [ + 'code' => 'InvalidValOfDelHeader', + 'message' => 'The delete header operation does not support setting value.', + 'http_code' => 400, + 'description' => 'The delete header operation does not support setting value.', + ], + [ + 'code' => 'InvalidValue.ExceedsMaximum', + 'message' => 'The size of the value cannot exceed 2,000,000 bytes.', + 'http_code' => 400, + 'description' => 'The value deposited is too large.', + ], + [ + 'code' => 'InvalidVersion.NotFound', + 'message' => 'The version does not exist.', + 'http_code' => 400, + 'description' => 'This version number does not exist.'."\n", + ], + [ + 'code' => 'IpaNotActive', + 'message' => 'The ipa application is not active.', + 'http_code' => 400, + 'description' => 'The ipa application is not active.', + ], + [ + 'code' => 'IpaResourceUnavailable', + 'message' => 'The resource is unavailable.', + 'http_code' => 400, + 'description' => 'The resource is unavailable.', + ], + [ + 'code' => 'List.BeingBound', + 'message' => 'The specified list is being bound.', + 'http_code' => 403, + 'description' => 'The specified list is being bound by one or more protection rules.', + ], + [ + 'code' => 'List.Name.AlreadyExist', + 'message' => 'The specified list name already exists.', + 'http_code' => 403, + 'description' => 'The specified list name is already used by another list.', + ], + [ + 'code' => 'List.NotExist', + 'message' => 'The specified list does not exist.', + 'http_code' => 403, + 'description' => 'The specified list does not exist.', + ], + [ + 'code' => 'LoadBalancerHealthDetectionIntervalCheckFailed', + 'message' => 'The configured load balancer health detection interval exceeds the quota range allowed by the plan. Please revise the interval within the range or upgrade the plan and try again.', + 'http_code' => 400, + 'description' => 'The configured load balancer health detection interval exceeds the quota range allowed by the plan. Please revise the interval within the range or upgrade the plan and try again.', + ], + [ + 'code' => 'LoadBalancerHealthDetectionQuotaCheckFailed', + 'message' => 'Your current plan does not allow you to configure the load balancer\'s health detection. Upgrade the plan and try again.', + 'http_code' => 400, + 'description' => 'Your current plan does not allow you to configure the load balancer\'s health detection. Upgrade the plan and try again.', + ], + [ + 'code' => 'LoadBalancerNameConflict', + 'message' => 'The load balancer name or the hostname for the origin pool already exists. Try again with a unique name.', + 'http_code' => 400, + 'description' => 'The load balancer name or the hostname for the origin pool already exists. Try again with a unique name.', + ], + [ + 'code' => 'LoadBalancerNotExist', + 'message' => 'The specified load balancer name is invalid or load balancing is not enabled for your website.Make sure that you specify a valid load balancer name and load balancing is enabled. Then, try again.', + 'http_code' => 400, + 'description' => 'The specified load balancer name is invalid or load balancing is not enabled for your website.Make sure that you specify a valid load balancer name and load balancing is enabled. Then, try again.', + ], + [ + 'code' => 'LoadBalancerNotExist', + 'message' => 'The load balancer does not exist.', + 'http_code' => 400, + 'description' => 'The input load balancer ID does not exist. Please confirm the ID and try again.', + ], + [ + 'code' => 'LoadBalancerNumberExceedQuotaLimit', + 'message' => 'The number of load balancers you have added has reached the limit of the plan quota. Please delete the unused load balancers or upgrade the plan and try again.', + 'http_code' => 400, + 'description' => 'The number of load balancers you have added has reached the limit of the plan quota. Please delete the unused load balancers or upgrade the plan and try again.', + ], + [ + 'code' => 'LoadBalancerPolicyCheckFailed', + 'message' => 'Your current plan does not support the load balancer scheduling policy. Upgrade the plan and try again.', + 'http_code' => 400, + 'description' => 'Your current plan does not support the load balancer scheduling policy. Upgrade the plan and try again.', + ], + [ + 'code' => 'LoadBalancerQuotaCheckFailed', + 'message' => 'Load balancer enable quota check failed.', + 'http_code' => 400, + 'description' => 'Your current plan cannot use the load balancer related functions. If you need to use it, upgrade the plan.', + ], + [ + 'code' => 'LoadBalancerRuleQuotaCheckFailed', + 'message' => 'Your current plan does not support configuring load balancer custom rules, or the load balancer rules you have added exceed the plan quota limit. Please upgrade the plan or delete the rules that are no longer in use and try again.', + 'http_code' => 400, + 'description' => 'Your current plan does not support configuring load balancer custom rules, or the load balancer rules you have added exceed the plan quota limit. Please upgrade the plan or delete the rules that are no longer in use and try again.', + ], + [ + 'code' => 'LockFailed', + 'message' => 'The system is handling requests you previously submitted. Try again later.', + 'http_code' => 400, + 'description' => 'The system is handling requests you previously submitted. Try again later.', + ], + [ + 'code' => 'LogNotFound', + 'message' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + 'http_code' => 404, + 'description' => 'Failed to query the log. Check whether the task ID and execution ID are valid.', + ], + [ + 'code' => 'LogserviceNotFound', + 'message' => 'Log Service has not been activated.', + 'http_code' => 403, + 'description' => 'Real-time log delivery is not activated.', + ], + [ + 'code' => 'LogstoreNotExist', + 'message' => 'Logstore does not exist.', + 'http_code' => 404, + 'description' => 'The specified Logstore does not exist.', + ], + [ + 'code' => 'ManagedRulesGroup.BeingBound', + 'message' => 'Failed to delete the WAF managed rule group because it has been associated with one or more rules. Disassociate the rules and try again.', + 'http_code' => 403, + 'description' => 'Failed to delete the WAF managed rule group because it has been associated with one or more rules. Disassociate the rules and try again.', + ], + [ + 'code' => 'ManagedRulesGroup.Name.Invalid', + 'message' => 'Invalid name for the WAF managed rule group. Try again with a valid name.', + 'http_code' => 403, + 'description' => 'Invalid name for the WAF managed rule group. Try again with a valid name.', + ], + [ + 'code' => 'ManagedRulesGroup.NotExist', + 'message' => 'The specified WAF managed rule group does not exist or is not recognized by the system. Make sure that you specify a correct WAF managed rule group ID and that the rule group has been created.', + 'http_code' => 403, + 'description' => 'The specified WAF managed rule group does not exist or is not recognized by the system. Make sure that you specify a correct WAF managed rule group ID and that the rule group has been created.', + ], + [ + 'code' => 'Match.Malformed', + 'message' => 'The specified parameter match is malformed or does not adhere to the required format.', + 'http_code' => 403, + 'description' => 'The specified Match parameter is malformed or does not adhere to the required format.', + ], + [ + 'code' => 'MigrateTask.SpecificFunctionNotFound', + 'message' => 'When importing domain name configurations, you need to pass in the specific feature configurations, but they are not received.', + 'http_code' => 400, + 'description' => 'When importing domain name configurations, you need to pass in the specific feature configurations, but they are not received.', + ], + [ + 'code' => 'MigrateTask.Unsupported', + 'message' => 'The following conditions are not supported in the migration task:'."\n" + .'1. Unadapted vendors do not support it for the time being'."\n" + .'2. Non-API mode, does not support repeated execution'."\n" + .'3. Tasks that are not successful, failed or partially failed are not supported for repeated execution.'."\n" + .'Check and re-execute according to the prompt message.', + 'http_code' => 400, + 'description' => 'The following conditions are not supported in the Import Domain Name Configuration Tool. Check the following information and execute again:'."\n" + .'1. Unadapted vendors do not support it for the time being'."\n" + .'2. Non-API mode, does not support repeated execution'."\n" + .'3. Tasks that are not successful, failed or partially failed are not supported for repeated execution.', + ], + [ + 'code' => 'MissingConfigId', + 'message' => 'Required parameter ConfigId missing. Specify ConfigId and try again.', + 'http_code' => 400, + 'description' => 'Required parameter ConfigId missing. Specify ConfigId and try again.', + ], + [ + 'code' => 'MissingOssUrl', + 'message' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + 'http_code' => 400, + 'description' => 'OssUrl missing. Specify a valid URL of the OSS object that stores URLs to prefetch.', + ], + [ + 'code' => 'MissingParameter', + 'message' => 'Required parameter RecordName missing. Specify RecordName and try again.', + 'http_code' => 400, + 'description' => 'Required parameter RecordName missing. Specify RecordName and try again.', + ], + [ + 'code' => 'MissingParameter', + 'message' => 'The specified ArgName is required for this function.', + 'http_code' => 400, + 'description' => 'When configuring a specific function, the required parameter is missing.', + ], + [ + 'code' => 'MissingParameter.ObjectType', + 'message' => 'The ObjectType parameter is required if DomainName or ObjectType is specified.', + 'http_code' => 400, + 'description' => 'Specify the ObjectType parameter.', + ], + [ + 'code' => 'MissingParamsError', + 'message' => 'Missing required params.', + 'http_code' => 400, + 'description' => 'Missing necessary parameters', + ], + [ + 'code' => 'MissingSiteId', + 'message' => 'Required parameter SiteId missing. Specify SiteId and try again.', + 'http_code' => 400, + 'description' => 'Required parameter SiteId missing. Specify SiteId and try again.', + ], + [ + 'code' => 'MissingTimeParameter', + 'message' => 'The StartTime and EndTime must be both specified.', + 'http_code' => 400, + 'description' => 'Please provide both a start time and an end time.', + ], + [ + 'code' => 'MissingUrlList', + 'message' => 'Enter the URLs you want to prefetch.', + 'http_code' => 400, + 'description' => 'Enter the URLs you want to prefetch.', + ], + [ + 'code' => 'MonitorExpectedBodyInvalid', + 'message' => 'Invalid response body. Specify a response body that does not exceed 102,400 characters in length in your custom rule.', + 'http_code' => 400, + 'description' => 'Invalid response body. Specify a response body that does not exceed 102,400 characters in length in your custom rule.', + ], + [ + 'code' => 'MonitorExpectedCodesInvalid', + 'message' => 'Invalid expected status code for the probe.Make sure that you specify no more than 10 status codes in the probe settings, and each status code must be 3 to 4 characters in length.Examples: 200, 301, 3xx, 8000, and 88xx.', + 'http_code' => 400, + 'description' => 'Invalid expected status code for the probe.Make sure that you specify no more than 10 status codes in the probe settings, and each status code must be 3 to 4 characters in length.Examples: 200, 301, 3xx, 8000, and 88xx.', + ], + [ + 'code' => 'MonitorHeaderInvalid', + 'message' => 'Invalid request header for the probe. You can add up to 10 request headers, each with 1 to 9 values. The combined length of all headers and values cannot exceed 6,000 characters. You cannot configure the User-Agent header.', + 'http_code' => 400, + 'description' => 'The incoming monitor is carrying an illegal request header. Make sure that the number of request headers does not exceed 10, that each request header has a value length between 1 and 10, and that you must not use the User-Agent request header (which is reserved for internal specific scenarios). In addition, the total length of all request headers and their values must not exceed 6000 characters. Please check and correct the request header configuration and try again.', + ], + [ + 'code' => 'MonitorMethodNotSupport', + 'message' => 'Invalid HTTP method for the probe request. Valid values are GET and HEAD.', + 'http_code' => 400, + 'description' => 'Invalid HTTP method for the probe request. Valid values are GET and HEAD.', + ], + [ + 'code' => 'MonitorPathNotSupport', + 'message' => 'Invalid probe URL path.If you set the probe protocol to HTTP or HTTPS, make sure you specify a probe URL path that does not exceed 1,024 characters in length.', + 'http_code' => 400, + 'description' => 'Invalid probe URL path.If you set the probe protocol to HTTP or HTTPS, make sure you specify a probe URL path that does not exceed 1,024 characters in length.', + ], + [ + 'code' => 'MonitorPortNotSupport', + 'message' => 'Invalid probe port. Specify a valid port from 1 to 65535 for the probe request. Then, try again.', + 'http_code' => 400, + 'description' => 'The incoming monitor listening port is not supported. The port value range is [1-65535]. Please ensure that the port is within the value range and try again.', + ], + [ + 'code' => 'MonitorRetriesInvalid', + 'message' => 'Invalid number of probe retries. Specify an integer from 0 to 5. Then, try again.', + 'http_code' => 400, + 'description' => 'Invalid number of probe retries. Specify an integer from 0 to 5. Then try again.', + ], + [ + 'code' => 'MonitorTimeoutInvalid', + 'message' => 'Invalid timeout for the probe. Valid values are 1 to 10.', + 'http_code' => 400, + 'description' => 'Invalid timeout for the probe. Valid values are 1 to 10.', + ], + [ + 'code' => 'MonitorTypeNotSupport', + 'message' => 'Invalid protocol. Valid values are off, HTTP, HTTPS, TCP, UDP, ICMP Ping, and SMTP.', + 'http_code' => 400, + 'description' => 'Invalid protocol. Valid values are off, HTTP, HTTPS, TCP, UDP, ICMP Ping, and SMTP.', + ], + [ + 'code' => 'NameAlreadyExists', + 'message' => 'The name already exists.', + 'http_code' => 400, + 'description' => 'Name already exists.', + ], + [ + 'code' => 'NameServerNotDelete', + 'message' => 'Before deleting the site, you need to go to your domain name service provider to delete the NS record assigned by ESA for the site (to avoid that you forget to delete NS and other users steal your site).', + 'http_code' => 400, + 'description' => 'Before deleting the site, you need to go to your domain name service provider to delete the NS record assigned by ESA for the site (to avoid that you forget to delete NS and other users steal your site).', + ], + [ + 'code' => 'NestedRuleQuotaCheckFailed', + 'message' => 'The nesting level of rules allowed by the plan failed to be verified. Please modify the nesting level of rules or upgrade the plan.', + 'http_code' => 400, + 'description' => 'The number of embedded sub-conditions in the rule exceeds the plan limit. Please check the plan description and upgrade your plan.', + ], + [ + 'code' => 'NoAvaliablePaymentMethod', + 'message' => 'No payment method is specified for your account. We recommend that you add a payment method.', + 'http_code' => 400, + 'description' => 'No payment method has been specified for your account. We recommend that you add a payment method.', + ], + [ + 'code' => 'NoPermission', + 'message' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + 'http_code' => 400, + 'description' => 'You do not have permissions to access or operate on the resource.Contact your account administrator to attach the AliyunESAFullAccess policy to the current user.', + ], + [ + 'code' => 'NoPermission', + 'message' => 'Permission denied.', + 'http_code' => 400, + 'description' => 'No permission', + ], + [ + 'code' => 'NoRealNameAuthentication', + 'message' => 'You have not completed real-name authentication.', + 'http_code' => 400, + 'description' => 'You have not completed real-name authentication.', + ], + [ + 'code' => 'NotExist.MigratedTask', + 'message' => 'The specified task does not exist.', + 'http_code' => 400, + 'description' => 'The specified task does not exist.', + ], + [ + 'code' => 'OperationDenied.DefaultSiteEnvironmentUneditable', + 'message' => 'The rule of the default environment is not allowed to be modified.', + 'http_code' => 400, + 'description' => 'The rule of the default environment is not allowed to be modified.', + ], + [ + 'code' => 'OperationDenied.UnsupportPlan', + 'message' => 'The current plan does not support this operation. Use the correct plan instance to try again.', + 'http_code' => 400, + 'description' => 'The current plan does not support this operation. Use the correct plan instance to try again.', + ], + [ + 'code' => 'OperationDenied.VanityNSUnavailable', + 'message' => 'Only sites in NS access type can use vanity nameservers. Convert your site to NS access type and try again.', + 'http_code' => 400, + 'description' => 'Sites that are accessed only by NS mode can use custom NS. Please adjust your site access mode and try again.', + ], + [ + 'code' => 'Order.InstanceHasUnpaidOrder', + 'message' => 'You have an unpaid order. Complete the payment or cancel the order first.', + 'http_code' => 400, + 'description' => 'You have an unpaid order. Complete the payment or cancel the order first.', + ], + [ + 'code' => 'OriginPoolNameConflict', + 'message' => 'The specified origin pool name already exists or its hostname conflicts with a load balancer name. Try again with a unique name.', + 'http_code' => 400, + 'description' => 'The specified origin pool name already exists or its hostname conflicts with a load balancer name. Try again with a unique name.', + ], + [ + 'code' => 'OriginPoolNotExist', + 'message' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + 'http_code' => 400, + 'description' => 'The specified origin pool does not exist or does not belong to your account or website. Check and try again.', + ], + [ + 'code' => 'OriginProtectionNotExist', + 'message' => 'The site is not configured with origin protection, so it cannot be modified or deleted.', + 'http_code' => 400, + 'description' => 'The site is not configured with origin protection, so it cannot be modified or deleted.', + ], + [ + 'code' => 'Page.BeingBound', + 'message' => 'Failed to delete the custom error page because it has been associated with one or more rules.'."\n" + ."\n" + .'Dissociate all rules from the error page first.', + 'http_code' => 403, + 'description' => 'Failed to delete the custom error page because it has been associated with one or more rules.'."\n" + ."\n" + .'Dissociate all rules from the error page first.', + ], + [ + 'code' => 'Page.BeingBound', + 'message' => 'The specified custom error page has been associated with one or more protection rules. Dissociate the protection rules and try again.', + 'http_code' => 403, + 'description' => 'The specified custom error page has been associated with one or more protection rules. Dissociate the protection rules and try again.', + ], + [ + 'code' => 'Page.NotExist', + 'message' => 'The specified custom error page does not exist or is not recognized by the system.Check whether the error page identifier is correct and matches an error page that has been created and registered in the system\'s error handling framework.If you want to create a new error page, make sure that the creation process is complete.', + 'http_code' => 403, + 'description' => 'The specified custom error page does not exist or is not recognized by the system.Check whether the error page identifier is correct and matches an error page that has been created and registered in the system\'s error handling framework.If you want to create a new error page, make sure that the creation process is complete.', + ], + [ + 'code' => 'Page.NotExist', + 'message' => 'The specified error page is not found or not registered. Check the error page identifier and make sure that the page is correctly set up.', + 'http_code' => 403, + 'description' => 'The specified error page is not found or not registered. Check the error page identifier and make sure that the page is correctly set up.', + ], + [ + 'code' => 'ParameterAlreadyExist', + 'message' => 'Parameter uniqueness verification failed. Check for duplicate parameter values.', + 'http_code' => 400, + 'description' => 'Parameter uniqueness verification failed. Check for duplicate parameter values.', + ], + [ + 'code' => 'ParameterNotExist', + 'message' => 'The specified parameter does not exist. Check your configurations and try again.', + 'http_code' => 400, + 'description' => 'The specified parameter does not exist. Check your configurations and try again.', + ], + [ + 'code' => 'ParamNameError', + 'message' => 'The Name parameter is invalid.', + 'http_code' => 400, + 'description' => 'The Name parameter is illegal.'."\n", + ], + [ + 'code' => 'PlanNotSupportCnDdos', + 'message' => 'The plan corresponding to the current instance does not include ddos platform protection in mainland China, so the DDOS elastic protection value cannot be set. Please upgrade the package and try again.', + 'http_code' => 400, + 'description' => 'The plan corresponding to the current instance does not include ddos platform protection in mainland China, so the DDOS elastic protection value cannot be set. Please upgrade the package and try again.', + ], + [ + 'code' => 'PolicyNameExist', + 'message' => 'The policy name already exists.', + 'http_code' => 400, + 'description' => 'Policy name already exists.', + ], + [ + 'code' => 'PolicyNotExist', + 'message' => 'The policy does not exist.', + 'http_code' => 400, + 'description' => 'The policy does not exist. ', + ], + [ + 'code' => 'PoolNumberExceedQuotaLimit', + 'message' => 'The number of origin pool you have added has reached the upper limit of the plan quota. Please delete the origin pool that is no longer in use or upgrade the plan and try again.', + 'http_code' => 400, + 'description' => 'The number of origin pool you have added has reached the upper limit of the plan quota. Please delete the origin pool that is no longer in use or upgrade the plan and try again.', + ], + [ + 'code' => 'PoolReferenceExist', + 'message' => 'Failed to delete the origin pool because it has been referenced.Remove all references to the pool and try again.', + 'http_code' => 400, + 'description' => 'Failed to delete the origin pool because it has been referenced.Remove all references to the pool and try again.', + ], + [ + 'code' => 'PreloadQueueFull', + 'message' => 'The prefetch queue is full. Try again later.', + 'http_code' => 400, + 'description' => 'The prefetch queue is full, and you need to retry after the queue is processed.', + ], + [ + 'code' => 'PrivateKey.MissingParameter', + 'message' => 'The PrivateKey parameter is required.', + 'http_code' => 400, + 'description' => 'Missing PrivateKey parameter.', + ], + [ + 'code' => 'ProjectExist', + 'message' => 'The SLS project has been associated with another account. Check the project name.', + 'http_code' => 200, + 'description' => 'The SLS project has been associated with another account. Check the project name.', + ], + [ + 'code' => 'ProjectNotExist', + 'message' => 'The project does not exist.', + 'http_code' => 404, + 'description' => 'Information about the project is not found.', + ], + [ + 'code' => 'QueryDBError', + 'message' => 'An internal exception occurred when query data, please try again later.', + 'http_code' => 500, + 'description' => 'An internal exception occurred when query data, please try again later.', + ], + [ + 'code' => 'QueryLog.Timeout', + 'message' => 'The query for standard logs timed out. Try again later.', + 'http_code' => 500, + 'description' => 'The query for standard logs timed out. Try again later.', + ], + [ + 'code' => 'QuotaCheckFailed', + 'message' => 'Failed to check free certificate Quota, please try again later.', + 'http_code' => 400, + 'description' => 'Failed to check free certificate Quota, please try again later.', + ], + [ + 'code' => 'QuotaCheckFailed.CustomNS', + 'message' => 'Custom nameservers are not allowed in your plan. Check the plan description and upgrade the plan.', + 'http_code' => 400, + 'description' => 'Custom nameservers are not allowed in your plan. Check the plan description and upgrade the plan.', + ], + [ + 'code' => 'QuotaCheckFailed.Function', + 'message' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + 'http_code' => 400, + 'description' => 'The feature is unavailable in your plan. Upgrade the plan or contact your account manager to request the feature.', + ], + [ + 'code' => 'QuotaCheckFailed.FunctionArg', + 'message' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + 'http_code' => 400, + 'description' => 'The specified feature parameter is not allowed in your plan, or the feature parameter configurations have reached the upper limit in your plan.', + ], + [ + 'code' => 'QuotaCheckFailed.Regex', + 'message' => 'Rules engine with regular expressions is not allowed in your plan. Check the plan description and upgrade the plan.', + 'http_code' => 400, + 'description' => 'Rules engine with regular expressions is not allowed in your plan. Check the plan description and upgrade the plan.', + ], + [ + 'code' => 'QuotaCheckFailed.VersionManagement', + 'message' => 'Insufficient quota for version management. Contact technical support.', + 'http_code' => 400, + 'description' => 'Insufficient quota for version management. Contact technical support.', + ], + [ + 'code' => 'QuotaCheckFailed.VersionManagement', + 'message' => 'The current plan\'s quota of version management is insufficient. Please try to upgrade the plan.', + 'http_code' => 400, + 'description' => 'The version management quota of the current package is insufficient. Please try to upgrade the package version.', + ], + [ + 'code' => 'QuotaExceed.NestedConditional', + 'message' => 'The maximum number of conditions in the rule has been reached. Check the plan description and upgrade the plan.', + 'http_code' => 400, + 'description' => 'The maximum number of conditions in the rule has been reached. Check the plan description and upgrade the plan.', + ], + [ + 'code' => 'QuotaExceed.RecordCount', + 'message' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + 'http_code' => 400, + 'description' => 'The maximum number of records has been reached. Delete some and try again or upgrade your plan.', + ], + [ + 'code' => 'QuotaExceed.SiteCount', + 'message' => 'The maximum number of websites associated with your plan has been reached.', + 'http_code' => 400, + 'description' => 'The maximum number of websites associated with your plan has been reached.', + ], + [ + 'code' => 'QuotaExceed.UploadHttpCert', + 'message' => 'The maximum number of custom certificates has been reached. Delete some and try again or upgrade your plan.', + 'http_code' => 400, + 'description' => 'The maximum number of custom certificates has been reached. Delete some and try again or upgrade your plan.', + ], + [ + 'code' => 'QuotaExceed.WildCardRecord', + 'message' => 'The maximum number of wildcard records has been reached. Delete some and try again.', + 'http_code' => 400, + 'description' => 'The maximum number of wildcard records has been reached. Delete some and try again.', + ], + [ + 'code' => 'QuotaExceed.WildCardRecord', + 'message' => 'The number of wildcard records exceeds the plan quota. Contact the sales team to increase your quota.', + 'http_code' => 400, + 'description' => 'The number of wildcard records exceeds the plan quota. Contact the sales team to increase your quota.', + ], + [ + 'code' => 'QuotaExceed.WildcardRecordCount', + 'message' => 'The number of wildcard records added by your current site has reached the quota limit. Please delete useless wildcard records or upgrade to the plan and try again.', + 'http_code' => 400, + 'description' => 'The number of wildcard records added by your current site has reached the quota limit. Please delete useless wildcard records or upgrade to the plan and try again.', + ], + [ + 'code' => 'QuotaExceeded', + 'message' => 'The quota is exceeded.', + 'http_code' => 403, + 'description' => 'The quota is exceeded.', + ], + [ + 'code' => 'QuotaExceeded', + 'message' => 'You attempts have exceeded the daily limit.', + 'http_code' => 400, + 'description' => 'Exceeding the same day quota limit. The number of submissions today has been exhausted. You can query the number of times a quota can be used today through the quota API.', + ], + [ + 'code' => 'QuotaNotExist', + 'message' => 'The quota item does not exist or the purchased plan has not taken effect. Confirm and try again.', + 'http_code' => 400, + 'description' => 'The quota item does not exist or the purchased plan has not taken effect. Confirm and try again.', + ], + [ + 'code' => 'RamAuthFailed', + 'message' => 'The sub-account has no operation permission.', + 'http_code' => 400, + 'description' => '', + ], + [ + 'code' => 'RealTimeLog.BucketRegionError', + 'message' => 'Invalid OSS bucket region. Check the region and try again.', + 'http_code' => 403, + 'description' => 'Invalid OSS bucket region. Check the region and try again.', + ], + [ + 'code' => 'RealTimeLog.KafkaBrokersExceedError', + 'message' => 'The number of Kafka Broker addresses for real-time log delivery has reached the upper limit (50).', + 'http_code' => 403, + 'description' => 'The number of Kafka Broker addresses for real-time log delivery has reached the upper limit (50).', + ], + [ + 'code' => 'RealTimeLog.KafkaConfigError', + 'message' => 'Invalid Kafka information for the delivery task. Check your configurations and try again.', + 'http_code' => 403, + 'description' => 'Invalid Kafka information for the delivery task. Check your configurations and try again.', + ], + [ + 'code' => 'RealTimeLog.LogstoreExist', + 'message' => 'The SLS logstore has been created within this project. Check the project name.', + 'http_code' => 403, + 'description' => 'A Logstore with the same name already exists in the SLS Project. Check the Logstore name.', + ], + [ + 'code' => 'RealTimeLog.NameCheckFail', + 'message' => 'Real-time log name field validity check failed.', + 'http_code' => 403, + 'description' => 'The real-time log configuration field you entered contains illegal characters. Please delete the illegal characters and try again. The allowed characters include numbers, letters, underscore "_" and spaces "".', + ], + [ + 'code' => 'RealTimeLog.OssBucketQueryError', + 'message' => 'Failed to query the OSS bucket. Check the bucket name and try again.', + 'http_code' => 403, + 'description' => 'Failed to query the OSS bucket. Check the bucket name and try again.', + ], + [ + 'code' => 'RealTimeLog.OssRoleCheckError', + 'message' => 'You do not have permissions to create a service-linked role for OSS. Contact your Alibaba Cloud account or the permission administrator to attach the AliyunESAFullAccess policy or a custom policy that grants permissions to create a service-linked role to the current user.', + 'http_code' => 403, + 'description' => 'You do not have permissions to create a service-linked role for OSS. Contact your Alibaba Cloud account or the permission administrator to attach the AliyunESAFullAccess policy or a custom policy that grants permissions to create a service-linked role to the current user.', + ], + [ + 'code' => 'RealTimeLog.ProjectExistError', + 'message' => 'The real-time log delivery task name already exists. Check the task name and try again.', + 'http_code' => 400, + 'description' => 'The real-time log delivery task name already exists. Check the task name and try again.', + ], + [ + 'code' => 'RealTimeLog.RegexpCheckFail', + 'message' => 'Invalid characters exist in your parameter configurations. Check your configurations and try again.', + 'http_code' => 403, + 'description' => 'Invalid characters exist in your parameter configurations. Check your configurations and try again.', + ], + [ + 'code' => 'RealTimeLog.S3EndpointInvalidError', + 'message' => 'Invalid S3 information for the delivery task. Check your configurations and try again.', + 'http_code' => 403, + 'description' => 'Invalid S3 information for the delivery task. Check your configurations and try again.', + ], + [ + 'code' => 'RealTimeLog.SlrRoleCheckError', + 'message' => 'Your account does not have AliyunServiceRoleForESARealtimeLogPushSLS authorization. Please contact the main account or permission administrator to authorize the current user AliyunServiceRoleForESARealtimeLogPushSLS permission or create custom permissions and policies for service-associated roles.', + 'http_code' => 403, + 'description' => 'You do not have permissions to create a service-linked role. Contact your Alibaba Cloud account or the permission administrator to attach the AliyunESAFullAccess policy or a custom policy that grants permissions to create a service-linked role to the current user.', + ], + [ + 'code' => 'RealTimeLog.SlsClientError', + 'message' => 'Invalid SLS information. Check whether ProjectName and LogStoreName are correctly configured and whether SLS is activated. Then, try again.', + 'http_code' => 403, + 'description' => 'Invalid SLS information. Check whether ProjectName and LogStoreName are correctly configured and whether SLS is activated. Then, try again.', + ], + [ + 'code' => 'RealTimeLog.SlsEndpointError', + 'message' => 'Invalid SLS parameters for the delivery task. Check your configurations and try again.', + 'http_code' => 403, + 'description' => 'Invalid SLS parameters for the delivery task. Check your configurations and try again.', + ], + [ + 'code' => 'RealTimeLog.SlsLogstoreQueryError', + 'message' => 'Failed to query the Logstore. Check the Logstore name and try again.', + 'http_code' => 403, + 'description' => 'Failed to query the Logstore. Check the Logstore name and try again.', + ], + [ + 'code' => 'RealTimeLog.SlsNotOpen', + 'message' => 'You have not activated Alibaba Cloud SLS. Activate SLS first.', + 'http_code' => 403, + 'description' => 'You have not activated Alibaba Cloud SLS. Activate SLS first.', + ], + [ + 'code' => 'RealTimeLog.SlsProjectExistError', + 'message' => 'The SLS project already exists. Check the project name and try again.', + 'http_code' => 403, + 'description' => 'The SLS project already exists. Check the project name and try again.', + ], + [ + 'code' => 'RealTimeLog.StatusQuotaError', + 'message' => 'The maximum number of real-time log delivery tasks has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + 'http_code' => 403, + 'description' => 'The maximum number of real-time log delivery tasks has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + ], + [ + 'code' => 'RealtimeLogProjectExistError', + 'message' => 'Realtime-log project name already exist.', + 'http_code' => 400, + 'description' => 'Real-time log entry name already exists', + ], + [ + 'code' => 'Record.AlreadyExist', + 'message' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + 'http_code' => 403, + 'description' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + ], + [ + 'code' => 'Record.AorAAAARecordValueContainInvalidIP', + 'message' => 'The A/AAAA record value contains the invalid IP.', + 'http_code' => 400, + 'description' => 'When creating or editing an A/AAAA record, the record value contains an invalid IP.', + ], + [ + 'code' => 'Record.AorAAAARecordValueContainIPInBlacklist', + 'message' => 'The A/AAAA record value contains the blacklist IP.', + 'http_code' => 400, + 'description' => 'When you create or edit an A/AAAA record, the record value contains the blacklist IP.', + ], + [ + 'code' => 'Record.AorAAAARecordValueIPExceedLimit', + 'message' => 'The number of IP addresses exceeds the limit for the A/AAAA record.', + 'http_code' => 400, + 'description' => 'When creating or editing A/AAAA records, the number of IP addresses exceeds the limit. A host record only supports 8 IPv4 and 4 IPv6 IP addresses. Please adjust and try again.', + ], + [ + 'code' => 'Record.CAARecordFlagExceedLimit', + 'message' => 'The value of the flag parameter for a CAA record is out of range.', + 'http_code' => 400, + 'description' => 'The value of the flag parameter for a CAA record is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.CAARecordTagExceedLimit', + 'message' => 'The CAA record tag has illegal characters other than issue, issuewild, and iodef.', + 'http_code' => 400, + 'description' => 'When creating or editing CAA records, illegal characters other than issue, issuewild, and iodef are passed in the tag value.', + ], + [ + 'code' => 'Record.CERTRecordAlgorithmExceedLimit', + 'message' => 'The value of the algorithm parameter for the CERT record is out of range.', + 'http_code' => 400, + 'description' => 'The value of the algorithm parameter for the CERT record is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.CERTRecordKeyTagExceedLimit', + 'message' => 'The value of the keyTag parameter for a CERT record is out of range.', + 'http_code' => 400, + 'description' => 'The value of the keyTag parameter for a CERT record is out of range when creating or editing DNS record information.', + ], + [ + 'code' => 'Record.CERTRecordTypeExceedLimit', + 'message' => 'The CERT record type is out of range.', + 'http_code' => 400, + 'description' => 'The CERT record type parameter was out of range when creating or editing DNS record information.', + ], + [ + 'code' => 'Record.CNameRecordValueCannotEqualExistedIPASource', + 'message' => 'The CNAME record cannot be the origin of the added Layer 4 application. Check the values of other Layer 4 proxy records and try again.', + 'http_code' => 400, + 'description' => 'The CNAME record cannot be the origin of the added Layer 4 application. Check the values of other Layer 4 proxy records and try again.', + ], + [ + 'code' => 'Record.CNameRecordValueCannotEqualExistedPoolSource', + 'message' => 'The CNAME record cannot be the origin of the added source address pool. Check and try again.', + 'http_code' => 400, + 'description' => 'The CNAME record cannot be the origin of the added source address pool. Check and try again.', + ], + [ + 'code' => 'Record.CNameRecordValueCannotEqualExistedRecordSource', + 'message' => 'The CNAME record cannot be the origin of an added record. Check the record values of other records and try again.', + 'http_code' => 400, + 'description' => 'The CNAME record cannot be the origin of an added record. Check the record values of other records and try again.', + ], + [ + 'code' => 'Record.CNameRecordValueCannotEqualHostRecord', + 'message' => 'The record value of the CNAME record cannot be exactly the same as the host record.', + 'http_code' => 400, + 'description' => 'The record value of the CNAME record cannot be exactly the same as the host record. Please adjust and try again.', + ], + [ + 'code' => 'Record.CNameRecordValueCannotEqualOtherExistedIPARecord', + 'message' => 'The record value of a CNAME record cannot be exactly the same as the name of another existing Layer 4 proxy record.', + 'http_code' => 400, + 'description' => 'The record value of a CNAME record cannot be exactly the same as the name of another existing Layer 4 proxy record.', + ], + [ + 'code' => 'Record.CNameRecordValueCannotEqualOtherExistedRecord', + 'message' => 'The record value of a CNAME record cannot be the same as the name of another existing CNAME record.', + 'http_code' => 400, + 'description' => 'The record value of a CNAME record cannot be the same as the name of another existing CNAME record.', + ], + [ + 'code' => 'Record.CNameRecordValueContainSourceInBlacklist', + 'message' => 'The CNAME record value contains the blacklist address. For details, you can submit a work order for consultation.', + 'http_code' => 400, + 'description' => 'The CNAME record value contains the blacklist address. For details, you can submit a work order for consultation.', + ], + [ + 'code' => 'Record.CNameRecordValueExceedLimit', + 'message' => 'The CNAME record value cannot exceed 253 characters, please delete and try again.', + 'http_code' => 400, + 'description' => 'The record value cannot exceed 253 characters, please delete and try again.', + ], + [ + 'code' => 'Record.CNameRecordValueInvalidDomainUnderline', + 'message' => 'Record values (DNS-only records) generally start with an underscore, a lowercase letter a-z, and the numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + 'http_code' => 400, + 'description' => 'Record values (DNS-only records) generally start with an underscore, a lowercase letter a-z, and the numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + ], + [ + 'code' => 'Record.CNameRecordValueInvalidRecordDomain', + 'message' => 'Record values (records with agent acceleration enabled) must start with a lowercase letter a-z and numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + 'http_code' => 400, + 'description' => 'Record values (records with agent acceleration enabled) must start with a lowercase letter a-z and numbers 0-9. The middle part of the record can be lowercase letters, numbers, or hyphens, and the length is between 0 and 61 characters.', + ], + [ + 'code' => 'Record.Conflict', + 'message' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + 'http_code' => 400, + 'description' => 'The specified record content conflicts with existing records. Adjust your configurations based on the related product documentation.', + ], + [ + 'code' => 'Record.EmptyAorAAAARecordValue', + 'message' => 'The A/AAAA record value is empty, please fill it in correctly and try again.', + 'http_code' => 400, + 'description' => 'The A/AAAA record value is empty, please fill it in correctly and try again.', + ], + [ + 'code' => 'Record.EmptyCAARecordValue', + 'message' => 'The CAA record value is empty.', + 'http_code' => 400, + 'description' => 'When creating or editing a CAA record, the value of the record is empty inside.', + ], + [ + 'code' => 'Record.EmptyCNameRecordValue', + 'message' => 'The CNAME record value is empty.', + 'http_code' => 400, + 'description' => 'When creating or editing a CNAME record, the record value is empty. Please fill it in correctly and try again.', + ], + [ + 'code' => 'Record.EmptyMXRecordValue', + 'message' => 'The MX record value cannot be empty.', + 'http_code' => 400, + 'description' => 'When you create or edit an MX record, the record value cannot be empty.', + ], + [ + 'code' => 'Record.EmptyNSRecordValue', + 'message' => 'The NS record value cannot be empty.', + 'http_code' => 400, + 'description' => 'When you create or edit an NS record, the NS record value cannot be empty.', + ], + [ + 'code' => 'Record.EmptyRecordValue', + 'message' => 'The record value is empty, please fill it in correctly and try again.', + 'http_code' => 400, + 'description' => 'The record value is empty, please fill it in correctly and try again.', + ], + [ + 'code' => 'Record.EmptyTXTRecordValue', + 'message' => 'The TXT record value cannot be empty.', + 'http_code' => 400, + 'description' => 'When creating or editing a TXT record, the record value cannot be empty.', + ], + [ + 'code' => 'Record.InvalidCertEncodeWithCERTRecord', + 'message' => 'The certificate value of the CERT record is not base64-encoded.', + 'http_code' => 400, + 'description' => 'When you create or edit CERT record information, the certificate value of the CERT record is not base64-encoded.', + ], + [ + 'code' => 'Record.InvalidFingerprintWithSSHFPRecord', + 'message' => 'The SSHFP record fingerprint value is not hexadecimal encoded.', + 'http_code' => 400, + 'description' => 'When creating or editing SSHFP record information, the fingerprint value is not hexadecimal encoded.', + ], + [ + 'code' => 'Record.InvalidHTTPURLWithCAARecordTag', + 'message' => 'The CAA record is prefixed with http:// or https://, a valid URL must be followed.', + 'http_code' => 400, + 'description' => 'When creating or editing CAA records, when Tag is iodef and Value is prefixed with http:// or https://, a valid URL must be followed.', + ], + [ + 'code' => 'Record.InvalidIdoefDataWithCAARecordTag', + 'message' => 'The CAA record Tag value does not start with mailto: or http:// or https.', + 'http_code' => 400, + 'description' => 'When creating or editing CAA record information, the Tag value does not start with mailto: http:// https.', + ], + [ + 'code' => 'Record.InvalidIodefDataWithCAARecordTag', + 'message' => 'The CAA record Tag value cannot start with mailto: or http:// or https.', + 'http_code' => 400, + 'description' => 'When creating or editing CAA record information, the Tag value cannot start with mailto: http:// or mailto: https.', + ], + [ + 'code' => 'Record.InvalidIssueDataWithCAARecordTag', + 'message' => 'The tag of a CAA record can only be a semicolon or a valid domain name separated by semicolons.', + 'http_code' => 400, + 'description' => 'When creating or editing CAA record information, the tag tag of a CAA record can only be a semicolon or a valid domain name separated by semicolons.', + ], + [ + 'code' => 'Record.InvalidMailAddressWithCAARecordTag', + 'message' => 'The CAA record tag is prefixed with mailto:, it must be followed by a legal email address.', + 'http_code' => 400, + 'description' => 'When creating or editing CAA record information, when Tag is iodef and Value is prefixed with mailto:, it must be followed by a legal email address.', + ], + [ + 'code' => 'Record.InvalidSmimeaEncodeWithSMIMEARecord', + 'message' => 'The certificate value of the SMIMEA record is not base64-encoded.', + 'http_code' => 400, + 'description' => 'When creating or editing SMIMEA record information, the certificate value of the SMIMEA record is not base64-encoded.', + ], + [ + 'code' => 'Record.InvalidTslaEncodeWithTSLARecord', + 'message' => 'The certificate value passed in is not hexadecimal encoded with TSLA record.', + 'http_code' => 400, + 'description' => 'When creating or editing TLSA record information, the certificate value passed in is not hexadecimal encoded.', + ], + [ + 'code' => 'Record.InvalidURLWithURIRecord', + 'message' => 'The URI record value must be a valid URL address.', + 'http_code' => 400, + 'description' => 'When creating or editing URI record information, the record value must be a valid URL address.', + ], + [ + 'code' => 'Record.MXRecordPriorityExceedLimit', + 'message' => 'The MX record priority parameter value is out of range.', + 'http_code' => 400, + 'description' => 'When creating or editing DNS record information, the MX record priority parameter value filled in is out of range.', + ], + [ + 'code' => 'Record.NoRecordNameConflictWithNSRecord', + 'message' => 'No record name can conflict with an NS record name.', + 'http_code' => 400, + 'description' => 'No record name can conflict with an NS record name.', + ], + [ + 'code' => 'Record.NoResource', + 'message' => 'Failed to allocate resources for the record. Please submit a ticket for processing.', + 'http_code' => 400, + 'description' => 'Failed to allocate resources for the record. Please submit a work order for processing.', + ], + [ + 'code' => 'Record.NotFound', + 'message' => 'The record does not exist. Check your configurations and try again.', + 'http_code' => 404, + 'description' => 'The record does not exist. Check your configurations and try again.', + ], + [ + 'code' => 'Record.NotFound', + 'message' => 'The record does not exist. Modify it and try again.', + 'http_code' => 404, + 'description' => 'The record does not exist. Modify it and try again.', + ], + [ + 'code' => 'Record.NSRecordCannotEqualSiteName', + 'message' => 'An NS record with the exact same name as the site name is not allowed.', + 'http_code' => 400, + 'description' => 'Adding an NS record with the exact same name as the site name is not allowed.', + ], + [ + 'code' => 'Record.OSSSourceInvalidAuthType', + 'message' => 'The recorded OSS origin station authentication type is not supported.', + 'http_code' => 400, + 'description' => 'The recorded OSS origin station authentication type is not supported.', + ], + [ + 'code' => 'Record.ParseJSONRecordValueFailed', + 'message' => 'The JSON data format of the record data is incorrect. Please adjust and try again.', + 'http_code' => 400, + 'description' => 'The JSON data format of the record data is incorrect. Please adjust and try again.', + ], + [ + 'code' => 'Record.PoolSourceNotExistPool', + 'message' => 'If the source station type of the record is source address pool, the input source address pool does not exist.', + 'http_code' => 400, + 'description' => 'If the source station type of the record is source address pool, the input source address pool does not exist.', + ], + [ + 'code' => 'Record.RecordMatchingTypeExceedLimit', + 'message' => 'The matchingType parameter value filled in is out of range.', + 'http_code' => 400, + 'description' => 'While creating or editing DNS record information, the matchingType parameter value filled in is out of range.', + ], + [ + 'code' => 'Record.RecordNameConflictForSpecifiedRecordType', + 'message' => 'The A/AAAA and CNAME records cannot have the same name.', + 'http_code' => 400, + 'description' => 'The A/AAAA and CNAME records cannot have the same name.', + ], + [ + 'code' => 'Record.RecordNameConflictWithIPAName', + 'message' => 'The record name cannot have the same name as the Layer 4 proxy record.', + 'http_code' => 400, + 'description' => 'When you create or edit DNS record information, the record name cannot have the same name as the Layer 4 proxy record.', + ], + [ + 'code' => 'Record.RecordNameConflictWithLBName', + 'message' => 'The record name cannot be the same as the Server Load Balancer record name.', + 'http_code' => 400, + 'description' => 'When creating or editing DNS record information, the record name cannot be the same as the Server Load Balancer record name.', + ], + [ + 'code' => 'Record.RecordNameConflictWithNSRecord', + 'message' => 'The NS record name cannot be the same as any other type of record name.', + 'http_code' => 400, + 'description' => 'When creating or editing DNS record information, the NS record name cannot be the same as any other type of record name.', + ], + [ + 'code' => 'Record.RecordNameConflictWithPoolName', + 'message' => 'The record name cannot be the same as the source address pool record name.', + 'http_code' => 400, + 'description' => 'When creating or editing DNS record information, the record name cannot be the same as the source address pool record name.', + ], + [ + 'code' => 'Record.RecordNameConflictWithSameRecordType', + 'message' => 'Record conflict with the same record type, there is a host record with the same name with the same record value.', + 'http_code' => 400, + 'description' => 'Record conflict with the same record type, there is a host record with the same name with the same record value.', + ], + [ + 'code' => 'Record.RecordNameConflictWithSameRecordType', + 'message' => 'Record conflicts with an existing host record that has the same name and value.', + 'http_code' => 400, + 'description' => 'Record conflicts with an existing host record that has the same name and value.', + ], + [ + 'code' => 'Record.RecordNameInBlacklist', + 'message' => 'The record name is in blacklist.', + 'http_code' => 400, + 'description' => 'The record name is in the blacklist and cannot be added.', + ], + [ + 'code' => 'Record.RecordPriorityExceedLimit', + 'message' => 'The record priority parameter value filled in is out of range.', + 'http_code' => 400, + 'description' => 'When creating or editing DNS record information, the record priority parameter value filled in is out of range.', + ], + [ + 'code' => 'Record.RecordSelectorExceedLimit', + 'message' => 'The selector parameter value filled in is out of range.', + 'http_code' => 400, + 'description' => 'While creating or editing DNS record information, the selector parameter value filled in is out of range.', + ], + [ + 'code' => 'Record.RecordUsageExceedLimit', + 'message' => 'The usage parameter value filled in is out of range.', + 'http_code' => 400, + 'description' => 'When creating or editing DNS record information, the usage parameter value filled in is out of range.', + ], + [ + 'code' => 'Record.RecordValueContainSourceInBlacklist', + 'message' => 'The record value contains the blacklist address, and the details can be submitted for work order consultation.', + 'http_code' => 400, + 'description' => 'The record value contains the blacklist address, and the details can be submitted for work order consultation.', + ], + [ + 'code' => 'Record.RecordWeightExceedLimit', + 'message' => 'The record weight parameter value filled in is out of range.', + 'http_code' => 400, + 'description' => 'When creating or editing DNS record information, the record weight parameter value filled in is out of range.', + ], + [ + 'code' => 'Record.Reserved', + 'message' => 'Another operation on the record is in progress. Try again later.', + 'http_code' => 400, + 'description' => 'Another operation on the record is in progress. Try again later.', + ], + [ + 'code' => 'Record.S3SourceInvalidAuthRegion', + 'message' => 'The recorded S3 origin belongs to a region that is not in the supported range.', + 'http_code' => 400, + 'description' => 'The recorded S3 origin belongs to a region that is not in the supported range.', + ], + [ + 'code' => 'Record.S3SourceInvalidAuthType', + 'message' => 'The recorded S3 origin authentication type is not supported.', + 'http_code' => 400, + 'description' => 'The recorded S3 origin authentication type is not supported.', + ], + [ + 'code' => 'Record.S3SourceInvalidAuthVersion', + 'message' => 'The version of the authentication signature algorithm of the S3 origin is not supported.', + 'http_code' => 400, + 'description' => 'The version of the authentication signature algorithm of the S3 origin is not supported.', + ], + [ + 'code' => 'Record.ServiceBusy', + 'message' => 'The record is being configured. Try again later.', + 'http_code' => 400, + 'description' => 'The record is being configured. Try again later.', + ], + [ + 'code' => 'Record.SMIMEARecordMatchingTypeExceedLimit', + 'message' => 'The matchingType parameter value for a SMIMEA record is out of range.', + 'http_code' => 400, + 'description' => 'The matchingType parameter value for a SMIMEA record is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.SMIMEARecordSelectorExceedLimit', + 'message' => 'The selector parameter value for a SMIMEA record is out of range.', + 'http_code' => 400, + 'description' => 'The selector parameter value for a SMIMEA record is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.SMIMEARecordUsageExceedLimit', + 'message' => 'The value of the usage parameter for a SMIMEA record is out of range.', + 'http_code' => 400, + 'description' => 'The value of the usage parameter for a SMIMEA record is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.SourceAccessKeyExceedLimit', + 'message' => 'The character length of the AccessKey parameter value for the record source station is out of range.', + 'http_code' => 400, + 'description' => 'The character length of the AccessKey parameter value for the record source station is out of range.', + ], + [ + 'code' => 'Record.SourceEmptyAK', + 'message' => 'The AccessKey of the account to which the origin site belongs is empty.', + 'http_code' => 400, + 'description' => 'The AccessKey of the account to which the origin site belongs is empty.', + ], + [ + 'code' => 'Record.SourceEmptyAuthConf', + 'message' => 'The authentication information of the origin station is empty.', + 'http_code' => 400, + 'description' => 'The recorded authentication information of the origin station is empty.', + ], + [ + 'code' => 'Record.SourceEmptySecretKey', + 'message' => 'The SecretKey of the account to which the recorded origin site belongs is empty.', + 'http_code' => 400, + 'description' => 'The SecretKey of the account to which the recorded origin site belongs is empty.', + ], + [ + 'code' => 'Record.SourceSecretKeyExceedLimit', + 'message' => 'The character length of the SecretKey parameter value for the record source station is out of range.', + 'http_code' => 400, + 'description' => 'The character length of the SecretKey parameter value for the record source station is out of range.', + ], + [ + 'code' => 'Record.SRVRecordInvalidRecordName', + 'message' => 'SRV host record name is not valid. The SRV host record name must begin with an underscore (-) followed by a lowercase letter (a-z), a number (0-9), and a hyphen (-), followed by 1 arbitrary character, followed by an underscore (-) and a lowercase letter, number, or hyphen.', + 'http_code' => 400, + 'description' => 'SRV host record name is not valid. The SRV host record name must begin with an underscore (-), followed by a lowercase letter (a-z), number (0-9), hyphen (-), followed by any character, followed by an underscore (-) and a lowercase letter, number, or hyphen.', + ], + [ + 'code' => 'Record.SRVRecordPortExceedLimit', + 'message' => 'The SRV record port is out of range.', + 'http_code' => 400, + 'description' => 'When creating or editing DNS record information, the SRV record port filled in is out of range.', + ], + [ + 'code' => 'Record.SRVRecordPriorityExceedLimit', + 'message' => 'The SRV record priority is out of range.', + 'http_code' => 400, + 'description' => 'The SRV record priority is out of range when creating or editing DNS record information.', + ], + [ + 'code' => 'Record.SRVRecordWeightExceedLimit', + 'message' => 'The SRV record weight is out of range.', + 'http_code' => 400, + 'description' => 'When creating or editing DNS record information, the SRV record weight filled in is out of range.', + ], + [ + 'code' => 'Record.SSHFPRecordAlgorithmExceedLimit', + 'message' => 'The algorithm parameter value for the SSHFP record is out of range.', + 'http_code' => 400, + 'description' => 'The algorithm parameter value for the SSHFP record is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.TLSARecordMatchingTypeExceedLimit', + 'message' => 'The matchingType parameter value for the TLSA record is out of range.', + 'http_code' => 400, + 'description' => 'The matchingType parameter value for the TLSA record is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.TLSARecordSelectorExceedLimit', + 'message' => 'The selector parameter value for the TLSA record is out of range.', + 'http_code' => 400, + 'description' => 'The selector parameter value for the TLSA record is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.TLSARecordUsageExceedLimit', + 'message' => 'The value of the usage parameter for the TLSA record is out of range.', + 'http_code' => 400, + 'description' => 'The value of the usage parameter for the TLSA record is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.TTLExceedLimit', + 'message' => 'The TTL parameter value for a record is out of range.', + 'http_code' => 400, + 'description' => 'The TTL parameter value for a record is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.TXTRecordValueExceedLimit', + 'message' => 'The TXT record value cannot exceed 450 characters.', + 'http_code' => 400, + 'description' => 'When you create or edit DNS record information, the TXT record value cannot exceed 450 characters.', + ], + [ + 'code' => 'Record.TypeExceedLimitWithSSHFPRecord', + 'message' => 'The SSHFP record Type parameter value is out of range.', + 'http_code' => 400, + 'description' => 'The SSHFP record Type parameter value is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.UnmatchedRecordNameContainDoubleConsecutiveDot', + 'message' => 'Illegal host record name. The host record cannot contain consecutive dot.', + 'http_code' => 400, + 'description' => 'Illegal host record name. The host record cannot contain consecutive dot.', + ], + [ + 'code' => 'Record.UnmatchedRecordNameForbidStarSev', + 'message' => 'Illegal host record name, SRV record name disallowed asterisk.', + 'http_code' => 400, + 'description' => 'Illegal host record name, SRV record name disallowed asterisk.', + ], + [ + 'code' => 'Record.UnmatchedRecordNameInvalidATChar', + 'message' => 'Illegal host record name. The at symbol can only appear at the top of the host record and can only be followed. Symbol, other strings are not allowed.', + 'http_code' => 400, + 'description' => 'Illegal host record name. The \'@\' symbol can only appear at the top of the host record and can only be followed. Symbol, other strings are not allowed.', + ], + [ + 'code' => 'Record.UnmatchedRecordNameInvalidNamePrefixSuffix', + 'message' => 'Illegal host record name. Host record values cannot start or end with a dot, a hyphens.', + 'http_code' => 400, + 'description' => 'Illegal host record name. Host record values cannot start or end with a dot, a hyphens.', + ], + [ + 'code' => 'Record.UnmatchedRecordNameInvalidStartSymbol', + 'message' => 'Illegal host record name. The asterisk is only allowed in the first place of the host record, and only the following dot is allowed after the asterisk.', + 'http_code' => 400, + 'description' => 'Illegal host record name. The asterisk is only allowed in the first place of the host record, and only the following dot is allowed after the asterisk.', + ], + [ + 'code' => 'Record.UnmatchedRecordNameInvalidUnderLine', + 'message' => 'The host record name contains an illegal underscore. The underscore can only be supported at the beginning of TXT, CAA, CNAME, NS, and SRV records. Proxy acceleration cannot be enabled and records can only be added in DNS mode.', + 'http_code' => 400, + 'description' => 'The host record name contains an illegal underscore. The underscore can only be used at the beginning of TXT, CAA, CNAME, NS, and SRV records. Proxy acceleration cannot be enabled and records can only be added in DNS.', + ], + [ + 'code' => 'Record.UnmatchedRecordNameInvalidUnderLine', + 'message' => 'The host record name contains an illegal underscore. The underscore is only supported at the beginning of the TXT, CNAME, MX, SRV, and NS records. Proxy acceleration cannot be enabled, and records can only be added in the DNS mode.', + 'http_code' => 400, + 'description' => 'The host record name contains an illegal underscore. The underscore is only supported at the beginning of the TXT, CNAME, MX, SRV, and NS records. Proxy acceleration cannot be enabled, and records can only be added in the DNS mode.', + ], + [ + 'code' => 'Record.UnmatchedRecordNameOnlyContainSymbol', + 'message' => 'The host record value cannot exist separately in various symbols, and can be added with any lowercase letters or numbers.', + 'http_code' => 400, + 'description' => 'The host record value cannot exist separately in various symbols, and can be added with any lowercase letters or numbers.'."\n", + ], + [ + 'code' => 'Record.UnmatchedRecordNameOnlyContainSynbol', + 'message' => 'The host record value cannot exist separately in various symbols, and can be added with any lowercase letters or numbers.', + 'http_code' => 400, + 'description' => 'The host record value cannot exist separately in various symbols, and can be added with any lowercase letters or numbers.', + ], + [ + 'code' => 'Record.UnmatchedRecordNameOnlyRangeChar', + 'message' => 'Illegal host record character. Only lowercase a-z, uppercase A- Z, digits 0-9, some special characters are supported as valid characters in host records.', + 'http_code' => 400, + 'description' => 'Illegal host record character. Only lowercase a-z, uppercase A-Z, digits 0-9, \'-\', \'_\', \'.\', \'*\', and \'@\' are supported as valid characters in host records.', + ], + [ + 'code' => 'Record.UnmatchedRecordNameSeperateStringTooLarge', + 'message' => 'Illegal host record name. The number of characters in each segment separated by dot cannot exceed 63.', + 'http_code' => 400, + 'description' => 'Illegal host record name. The number of characters in each segment separated by \'.\' cannot exceed 63.', + ], + [ + 'code' => 'Record.UnsupportedSourceType', + 'message' => 'The recorded source station type is not in the supported range.', + 'http_code' => 400, + 'description' => 'The recorded source station type is not in the supported range.', + ], + [ + 'code' => 'Record.UnsupportedType', + 'message' => 'The record type parameter is unsupported.', + 'http_code' => 400, + 'description' => 'The record type parameter is incorrect. Please check the record type parameter.', + ], + [ + 'code' => 'Record.URIRecordPriorityExceedLimit', + 'message' => 'The value of the priority parameter for a URI record is out of range.', + 'http_code' => 400, + 'description' => 'The value of the priority parameter for a URI record is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.URIRecordWeightExceedLimit', + 'message' => 'The URI record weight parameter value is out of range.', + 'http_code' => 400, + 'description' => 'The URI record weight parameter value is out of range while creating or editing DNS record information.', + ], + [ + 'code' => 'Record.ValidProxiedForSpecifedRecordType', + 'message' => 'Only A/AAAA and CNAME types support proxy acceleration.', + 'http_code' => 400, + 'description' => 'When creating or editing a record, proxy acceleration is enabled in the proxy state. Only A/AAAA and CNAME types support proxy acceleration.', + ], + [ + 'code' => 'Record.WildcardConflictForSpecifiedRecordType', + 'message' => 'The A/AAAA,CNAME records cannot add all and asterisk prefixed records at the same time.', + 'http_code' => 400, + 'description' => 'A/AAAA,CNAME records cannot add all and asterisk prefixed records at the same time.', + ], + [ + 'code' => 'Record.WildcartConflictForSpecifiedRecordType', + 'message' => 'The A/AAAA,CNAME records cannot add all and asterisk prefixed records at the same time.', + 'http_code' => 400, + 'description' => 'The A/AAAA,CNAME records cannot add all and asterisk prefixed records at the same time.', + ], + [ + 'code' => 'RecordNameInBalckList', + 'message' => 'The record name is in the blacklist.', + 'http_code' => 400, + 'description' => 'The record name is in the blacklist.', + ], + [ + 'code' => 'RelatedRecordNumberExceedQuotaLimit', + 'message' => 'The maximum number of records associated with the routine has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + 'http_code' => 400, + 'description' => 'The maximum number of records associated with the routine has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + ], + [ + 'code' => 'RelatedRouteNumberExceedQuotaLimit', + 'message' => 'The maximum number of routes associated with the routine has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + 'http_code' => 400, + 'description' => 'The maximum number of routes associated with the routine has been reached. Check your plan quota and upgrade the plan to request a quota increase.', + ], + [ + 'code' => 'RelatedSiteNumberExceedQuotaLimit', + 'message' => 'The maximum number of websites that can be associated with the routine has been reached.', + 'http_code' => 400, + 'description' => 'The maximum number of websites that can be associated with the routine has been reached.', + ], + [ + 'code' => 'RequestNotSupported', + 'message' => 'Free certificates cannot be requested for a website that is not in the active state. Activate the website first.', + 'http_code' => 400, + 'description' => 'Free certificates cannot be requested for a website that is not in the active state. Activate the website first.', + ], + [ + 'code' => 'RiskControlRejection', + 'message' => 'In order to protect the security of your account, the order was suspended, please contact customer service for details.', + 'http_code' => 400, + 'description' => 'In order to protect the security of your account, the order was suspended, please contact customer service for details.', + ], + [ + 'code' => 'RoutineAlreadyExist', + 'message' => 'The routine name already exists.', + 'http_code' => 400, + 'description' => 'The routine name already exists.', + ], + [ + 'code' => 'RoutineCodeVersionStatusNotAvailable', + 'message' => 'The routine code version status not Available. Check the routine code version status and try again.', + 'http_code' => 400, + 'description' => 'The routine code version status is not Available. Check the status and try again.', + ], + [ + 'code' => 'RoutineNotExist', + 'message' => 'The routine name does not exist. Check the routine name and try again.', + 'http_code' => 400, + 'description' => 'The routine name does not exist. Check the routine name and try again.', + ], + [ + 'code' => 'RoutineNumberExceedQuotaLimit', + 'message' => 'The maximum number of configuration items for the feature has been reached. Adjust your configurations and try again.', + 'http_code' => 400, + 'description' => 'The maximum number of configuration items for the feature has been reached. Adjust your configurations and try again.', + ], + [ + 'code' => 'RoutineUserServiceStatusHalt', + 'message' => 'Failed to update the configurations because you have overdue payments.', + 'http_code' => 400, + 'description' => 'Failed to update the configurations because you have overdue payments.', + ], + [ + 'code' => 'RR307', + 'message' => 'If the credit card verification is not completed, please guide the self-service verification through the mail and in-station letter. Please place an order again after the verification is passed.', + 'http_code' => 400, + 'description' => 'If the credit card verification is not completed, please guide the self-service verification through the mail and in-station letter. Please place an order again after the verification is passed.', + ], + [ + 'code' => 'RR307', + 'message' => 'Credit card verification is not complete. Please follow the guidance in the email and the internal message to complete the verification. Once verified, please place your order again.', + 'http_code' => 400, + 'description' => 'Credit card verification is not complete. Please follow the guidance in the email and the internal message to complete the verification. Once verified, please place your order again.', + ], + [ + 'code' => 'RR309', + 'message' => 'The system has detected that your payment method is at risk. Please complete the verification through the link in the email and the in-station letter. Please place the order again after the verification is passed.', + 'http_code' => 400, + 'description' => 'The system has detected that your payment method is at risk. Please complete the verification through the link in the email and the in-station letter. Please place the order again after the verification is passed.', + ], + [ + 'code' => 'Rule.Config.Malformed', + 'message' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + 'http_code' => 403, + 'description' => 'The format of the rule configuration is invalid.Check the configuration for syntax errors or structural inconsistencies and correct them to meet the requirements.', + ], + [ + 'code' => 'Rule.Config.Noncompliance', + 'message' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + 'http_code' => 403, + 'description' => 'The specified rule configuration does not meet the compliance requirements.Check and adjust your configurations.', + ], + [ + 'code' => 'Rule.Name.AlreadyExists', + 'message' => 'The specified rule name already exists.Try again with a unique name or modify the existing rule name.', + 'http_code' => 403, + 'description' => 'The specified rule name already exists.Try again with a unique name or modify the existing rule name.', + ], + [ + 'code' => 'Rule.NotExist', + 'message' => 'The specified rule does not exist.', + 'http_code' => 400, + 'description' => 'The specified rule does not exist in the current context or system configuration. Please verify the existence of the rule identifier and ensure it has been correctly defined or implemented.', + ], + [ + 'code' => 'Rule.Position.Invalid', + 'message' => 'The specified position for the rule is invalid.Check and adjust the configuration to make sure it meets the requirements.', + 'http_code' => 403, + 'description' => 'The specified position for the rule is invalid.Check and adjust the configuration to make sure it meets the requirements.', + ], + [ + 'code' => 'RuleCompileError', + 'message' => 'Failed to compile the rule. Check your rule configurations and make sure they are in the valid format as described in the API documentation.', + 'http_code' => 400, + 'description' => 'Failed to compile the rule. Check your rule configurations and make sure they are in the valid format as described in the API documentation.', + ], + [ + 'code' => 'RuleRegexQuotaCheckFailed', + 'message' => 'When configuring rules, rules with regular expressions are not allowed in this plan. Please check the relevant documentation of the plan or upgrade the plan.', + 'http_code' => 400, + 'description' => 'The current plan does not support the configuration of a rule engine with a regular expression. Please check the plan description and upgrade your plan.', + ], + [ + 'code' => 'Ruleset.Name.AlreadyExists', + 'message' => 'The specified rule set name already exists.Try again with a unique name or modify the existing rule set name.', + 'http_code' => 403, + 'description' => 'The specified rule set name already exists.Try again with a unique name or modify the existing rule set name.', + ], + [ + 'code' => 'Ruleset.NotExist', + 'message' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + 'http_code' => 403, + 'description' => 'The specified rule set does not exist or has not been registered in the system.Check whether the specified rule set identifier is valid and matches a rule set that has been correctly defined and maintained by the system\'s rule set registry.If you want to add a new rule set, make sure that the creation and registration process is complete to bring the rule set into effect.', + ], + [ + 'code' => 'SameNameRecordsExceedLimit', + 'message' => 'The maximum number of records with the same name added in one batch exceeds 5. Add records with the same name in batches or reduce the number of records with the same name added in one batch.', + 'http_code' => 400, + 'description' => 'The maximum number of records with the same name added in batches exceeds 5. Add records with the same name in batches or reduce the number of records with the same name added in batches.', + ], + [ + 'code' => 'ScenePolicyQuotaExceedLimit', + 'message' => 'The maximum number of scenario policies has been reached. Each account can create up to 10 scenario policies.', + 'http_code' => 400, + 'description' => 'The maximum number of scenario policies has been reached. Each account can create up to 10 scenario policies.', + ], + [ + 'code' => 'ServiceInvokeFailed', + 'message' => 'The call to the internal service failed. The engineer is resolving the problem. Please wait a moment before trying, or contact customer service for details.', + 'http_code' => 400, + 'description' => 'Failed to call the service. Please try again later or contact customer service for details.', + ], + [ + 'code' => 'ServiceNotOpen', + 'message' => 'You have not activated Edge Routine. Activate the service and try again.', + 'http_code' => 400, + 'description' => 'You have not activated Edge Routine. Activate the service and try again.', + ], + [ + 'code' => 'Site.AlreadyExist', + 'message' => 'The website name you specified already exists. Try with another name.', + 'http_code' => 400, + 'description' => 'The website name you specified already exists. Try with another name.', + ], + [ + 'code' => 'Site.Conflict', + 'message' => 'Duplicate website names exist across multiple accounts. Rename or delete one and try again.', + 'http_code' => 400, + 'description' => 'Duplicate website names exist across multiple accounts. Rename or delete one and try again.', + ], + [ + 'code' => 'Site.InBlacklist', + 'message' => 'The site name is in the blacklist.', + 'http_code' => 400, + 'description' => 'The site name is in the blacklist.', + ], + [ + 'code' => 'Site.InvalidCoverage', + 'message' => 'The selected location is unavailable in your plan. Change the location to one that is covered by the plan and try again.', + 'http_code' => 400, + 'description' => 'The selected location is unavailable in your plan. Change the location to one that is covered by the plan and try again.', + ], + [ + 'code' => 'Site.NotExist', + 'message' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + 'http_code' => 403, + 'description' => 'The specified website does not exist or is not recognized by the system.Check whether the specified website identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + [ + 'code' => 'Site.NotSupportedStatus', + 'message' => 'The current site state is not supported.', + 'http_code' => 400, + 'description' => 'The current site state is not supported.', + ], + [ + 'code' => 'Site.ServiceBusy', + 'message' => 'This website is being configured. Try again later.', + 'http_code' => 400, + 'description' => 'This website is being configured. Try again later.', + ], + [ + 'code' => 'Site.UpdateAccessTypeUnable', + 'message' => 'Failed to change the DNS setup for the website. Check whether the website has configurations or DNS records that are incompatible with the target DNS setup option.', + 'http_code' => 400, + 'description' => 'Failed to change the DNS setup for the website. Check whether the website has configurations or DNS records that are incompatible with the target DNS setup option.', + ], + [ + 'code' => 'SiteConfigLengthExceedLimit', + 'message' => 'The overall configuration size of the site exceeds the limit, and the total size of all functional configurations of the site cannot exceed 512K.', + 'http_code' => 400, + 'description' => 'The size of the site configuration exceeds the limit, and the total size cannot exceed 512K.', + ], + [ + 'code' => 'SiteEnvironment.Conflict', + 'message' => 'The environment name or rule conflicts with an existing environment. Try again with a different environment name or rule.', + 'http_code' => 400, + 'description' => 'The environment name or rule conflicts with an existing environment. Try again with a different environment name or rule.', + ], + [ + 'code' => 'SiteEnvironment.DeleteDenied', + 'message' => 'The default environment cannot be deleted.', + 'http_code' => 400, + 'description' => 'The default environment cannot be deleted.', + ], + [ + 'code' => 'SiteEnvironment.NotExist', + 'message' => 'The specified environment is invalid or version management is not enabled for your website. Make sure that you specify a valid environment name and version management is enabled. Then, try again.', + 'http_code' => 400, + 'description' => 'You have entered an invalid site version environment, or the site does not have version management enabled. Please confirm that your version environment settings are correct, and activate the version management function if necessary, and then try again.', + ], + [ + 'code' => 'SiteEnvironment.UpdateDenied', + 'message' => 'Failed to promote a version for the environment. Check whether the current environment has the highest rank and whether the current environment and the next higher-ranked environment have the same version deployed.', + 'http_code' => 400, + 'description' => 'Failed to promote a version for the environment. Check whether the current environment has the highest rank and whether the current environment and the next higher-ranked environment have the same version deployed.', + ], + [ + 'code' => 'SiteHasTransportLayerApplications', + 'message' => 'The current site has an existing four-layer accelerated application, and the current operation is not allowed. If necessary, please contact customer service.', + 'http_code' => 400, + 'description' => 'The current site has an existing four-layer accelerated application, and the current operation is not allowed. If necessary, please contact customer service.', + ], + [ + 'code' => 'SiteIdDDoSVersionCheckFailed', + 'message' => 'SiteId DDoS version check failed.', + 'http_code' => 403, + 'description' => 'Failed to check the DDoS version corresponding to the site.', + ], + [ + 'code' => 'SiteNotActivated', + 'message' => 'The site is not activated, the process is not allowed.', + 'http_code' => 400, + 'description' => 'The operation is not supported because the site is not activated.', + ], + [ + 'code' => 'SiteNotFound', + 'message' => 'The specified site is not found.', + 'http_code' => 400, + 'description' => 'The site you specified does not exist. Please check whether the site you entered is correct.', + ], + [ + 'code' => 'SiteNotFound', + 'message' => 'The website does not exist or does not belong to you.', + 'http_code' => 404, + 'description' => 'The website does not exist or does not belong to you.', + ], + [ + 'code' => 'SiteParameterNotMatch', + 'message' => 'Failed to verify website parameters.Check the parameters and try again.', + 'http_code' => 400, + 'description' => 'Failed to verify website parameters.Check the parameters and try again.', + ], + [ + 'code' => 'SiteVerify.Unpassed', + 'message' => 'Domain ownership verification failed. Complete the verification and try again.', + 'http_code' => 200, + 'description' => 'Domain ownership verification failed. Complete the verification and try again.', + ], + [ + 'code' => 'SiteVersion.Configuring', + 'message' => 'The version is being configured. Try again later.', + 'http_code' => 400, + 'description' => 'The version is being configured. Try again later.', + ], + [ + 'code' => 'SiteVersion.DeleteDenied', + 'message' => 'Failed to delete the version because it has been deployed to an environment. Make sure that the version is not deployed to any environment and try again.', + 'http_code' => 400, + 'description' => 'Failed to delete the version because it has been deployed to an environment. Make sure that the version is not deployed to any environment and try again.', + ], + [ + 'code' => 'SiteVersion.NotExist', + 'message' => 'The specified version is invalid or version management is not enabled for your website.Make sure that you specify a valid version and version management is enabled. Then, try again.', + 'http_code' => 400, + 'description' => 'The specified version is invalid or version management is not enabled for your website.Make sure that you specify a valid version and version management is enabled. Then, try again.', + ], + [ + 'code' => 'SourceAddressInvalid', + 'message' => 'Invalid origin address. Check whether the IP address or domain name is in the valid format.', + 'http_code' => 400, + 'description' => 'Invalid origin address. Check whether the IP address or domain name is in the valid format.', + ], + [ + 'code' => 'SourceCircleExist', + 'message' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + 'http_code' => 400, + 'description' => 'The host record of the resource to be operated on is already the source station of another resource, or the source station of the current resource has been added as a host record. To avoid loopback, modify the host record or source station and retry.', + ], + [ + 'code' => 'SourceInBlackList', + 'message' => 'The source is in the black list.', + 'http_code' => 400, + 'description' => 'The source is in the black list.', + ], + [ + 'code' => 'SourceNumberExceedLimit', + 'message' => 'The number of sources in the origin pool exceeds the quota limit.', + 'http_code' => 400, + 'description' => 'The number of sources that can be created in the origin pool has reached the upper limit of the package. Please check your package quota and upgrade the package to obtain more quota.', + ], + [ + 'code' => 'SourceTypeNotSupport', + 'message' => 'Invalid origin type. Valid values are ip_domain, OSS, FC, and S3.', + 'http_code' => 400, + 'description' => 'Invalid origin type. Valid values are ip_domain, OSS, FC, and S3.', + ], + [ + 'code' => 'Specification.OverLimit', + 'message' => 'Specifications exceed the limit, paid version can use 50ms, 100ms, free version can only use 5ms.', + 'http_code' => 400, + 'description' => 'Specifications exceed the limit, paid version can use 50ms, 100ms, free version can only use 5ms', + ], + [ + 'code' => 'SpecifiedVersionReadOnly', + 'message' => 'The specified version number is read-only and cannot be modified.', + 'http_code' => 400, + 'description' => 'The specified version number is read-only and cannot be modified.', + ], + [ + 'code' => 'SubSiteUnavailable', + 'message' => 'Subdomains are allowed only in Enterprise plans. Upgrade your plan to add a subdomain to ESA.', + 'http_code' => 400, + 'description' => 'Subdomains are allowed only in Enterprise plans. Upgrade your plan to add a subdomain to ESA.', + ], + [ + 'code' => 'SYSTEM.NoSpecificCodeFailed', + 'message' => 'Invalid subscription duration. Check and try again.', + 'http_code' => 400, + 'description' => 'Invalid subscription duration. Check and try again.', + ], + [ + 'code' => 'TooManyDimensions', + 'message' => 'Too many query dimensions specified. Delete some and try again.', + 'http_code' => 400, + 'description' => 'Too many query dimensions specified. Delete some and try again.', + ], + [ + 'code' => 'TooManyRequests', + 'message' => 'Too many requests.Please try again later.', + 'http_code' => 400, + 'description' => 'Requests are too frequent, please try again later.', + ], + [ + 'code' => 'TooManyRequests', + 'message' => 'Too many requests are submitted.', + 'http_code' => 429, + 'description' => 'Submissions are too frequent, please try again later', + ], + [ + 'code' => 'TooManyRequests', + 'message' => 'System load fluctuates, please try again later.', + 'http_code' => 429, + 'description' => 'System load fluctuates, please try again later.', + ], + [ + 'code' => 'TooQuickRequests', + 'message' => 'Request for putting or deleting keys are frequently submitted.', + 'http_code' => 429, + 'description' => 'The modification or deletion of key-value pairs is too frequent.', + ], + [ + 'code' => 'TransportLayerApplicationConflict', + 'message' => 'The Layer -4 accelerated application conflicts with other applications. Check whether the application name and host record conflict with other applications in the site.', + 'http_code' => 400, + 'description' => 'The Layer -4 accelerated application conflicts with other applications. Check whether the application name and host record conflict with other applications in the site.', + ], + [ + 'code' => 'TransportLayerApplicationNotExist', + 'message' => 'The layer -4 accelerated application of the current operation does not exist. Modify it and try again.', + 'http_code' => 400, + 'description' => 'The layer -4 accelerated application of the current operation does not exist. Modify it and try again.', + ], + [ + 'code' => 'TransportLayerRulesExceedLimit', + 'message' => 'The configured forwarding rules have exceeded the maximum limit. Delete useless forwarding rules and try again.', + 'http_code' => 400, + 'description' => 'The configured forwarding rules have exceeded the maximum limit. Delete useless forwarding rules and try again.', + ], + [ + 'code' => 'TrialService.HasOpened', + 'message' => 'You have already activated the trial service.', + 'http_code' => 400, + 'description' => 'You have activated the trial service and cannot activate it again.', + ], + [ + 'code' => 'Unauthorized.InvalidParameters', + 'message' => 'The specified authentication parameters are invalid.', + 'http_code' => 403, + 'description' => 'Authentication parameter input error.', + ], + [ + 'code' => 'Unauthorized.InvalidTime', + 'message' => 'The specified authentication time is invalid.', + 'http_code' => 403, + 'description' => 'The authentication time parameter you entered is invalid. Check the parameter value and try again.', + ], + [ + 'code' => 'Unauthorized.InvalidToken', + 'message' => 'Token authentication failed.', + 'http_code' => 403, + 'description' => 'The token you entered is invalid. Please check and enter the correct token and try again.', + ], + [ + 'code' => 'UnprocessableEntity', + 'message' => 'Failed to handle your request due to data conflicts or incorrect parameters, such as duplicate IP addresses being specified or parameter configurations remaining unchanged in an update request. Check and adjust your configurations and try again.', + 'http_code' => 422, + 'description' => 'Failed to handle your request due to data conflicts or incorrect parameters, such as duplicate IP addresses being specified or parameter configurations remaining unchanged in an update request. Check and adjust your configurations and try again.', + ], + [ + 'code' => 'Unsupported.ConvertRecord', + 'message' => 'Converting site records is not supported in migration tasks.', + 'http_code' => 400, + 'description' => 'Converting site records is not supported in migration tasks.', + ], + [ + 'code' => 'Unsupported.DomainSourceConvertToRecord', + 'message' => 'Converting the domain sources to a site record is not supported in migration tasks.', + 'http_code' => 400, + 'description' => 'Converting the domain sources to a site record is not supported.', + ], + [ + 'code' => 'UnsupportQuota', + 'message' => 'Unsupported quota is specified. Check and try again.', + 'http_code' => 404, + 'description' => 'Unsupported quota is specified. Check and try again.', + ], + [ + 'code' => 'UpdateErServiceError', + 'message' => 'Failed to change the plan. You are only allowed to change your plan once within 24 hours.', + 'http_code' => 400, + 'description' => 'Failed to change the plan. You are only allowed to change your plan once within 24 hours.', + ], + [ + 'code' => 'UpdateFreeCertificate.NotSupport', + 'message' => 'The free certificate does not support the update operation.', + 'http_code' => 400, + 'description' => 'The free certificate does not support the update operation.', + ], + [ + 'code' => 'UpdowngradeConfigNoChange', + 'message' => 'Failed to change the configuration because the new configuration you specified is the same as the current one in use. Specify a correct configuration and try again.', + 'http_code' => 400, + 'description' => 'The configuration for the upgrade or downgrade is not changed.', + ], + [ + 'code' => 'UserOperationStatusIsLocked', + 'message' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + 'http_code' => 400, + 'description' => 'You are calling an another routine related api. Please wait for the api finished, and try again later.', + ], + [ + 'code' => 'UserQuantityExceed', + 'message' => 'Your current purchase quantity exceeds the available quantity. Please select a new quantity.', + 'http_code' => 400, + 'description' => 'Your current purchase quantity exceeds the available quantity. Please select a new quantity.', + ], + [ + 'code' => 'UserWithoutConfLabel', + 'message' => 'Required tags missing. Configure tags and try again.', + 'http_code' => 400, + 'description' => 'Required tags missing. Configure tags and try again.', + ], + [ + 'code' => 'VerifyExpressionError', + 'message' => 'Dynamic expression is invalid.', + 'http_code' => 400, + 'description' => 'Dynamic expression is invalid.', + ], + [ + 'code' => 'VerifyNameServerFailed', + 'message' => 'The NS verification failed. Please configure the NS provided by ESA on the domain name management platform and try again.', + 'http_code' => 400, + 'description' => 'The NS verification failed. Please configure the NS provided by ESA on the domain name management platform and try again.', + ], + [ + 'code' => 'VersionNotValid', + 'message' => 'The site does not have version management enabled, or the version number passed in does not exist.', + 'http_code' => 400, + 'description' => 'The site does not have version management enabled, or the version number passed in does not exist.', + ], + [ + 'code' => 'WaitingRoomEventNotExist', + 'message' => 'The waiting room event that you want to modify does not exist. Specify a valid one.', + 'http_code' => 400, + 'description' => 'The waiting room event that you want to modify does not exist. Specify a valid one.', + ], + [ + 'code' => 'WaitingRoomNotExist', + 'message' => 'The waiting room that you want to modify does not exist or does not belong to you. Confirm and try again.', + 'http_code' => 400, + 'description' => 'The waiting room that you want to modify does not exist or does not belong to you. Confirm and try again.', + ], + [ + 'code' => 'WaitingRoomRuleNotExist', + 'message' => 'The waiting room bypass rule that you want to modify does not exist. Specify a valid one.', + 'http_code' => 400, + 'description' => 'The waiting room bypass rule that you want to modify does not exist. Specify a valid one.', + ], + [ + 'code' => 'WildcardRecordsExceedLimit', + 'message' => 'The number of pan records currently added has exceeded the system limit. If you want to add more pan records, please contact the background with a work order.', + 'http_code' => 400, + 'description' => 'The number of pan records currently added has exceeded the system limit. If you want to add more pan records, please contact the background with a work order.', + ], + [ + 'code' => 'GitAccountNotExist', + 'message' => 'Git account does not exist.', + 'http_code' => 400, + 'description' => 'Git account does not exist.', + ], + [ + 'code' => 'InvalidRoutineBuildTaskStatus', + 'message' => 'Routine build configuration state that does not exist.', + 'http_code' => 400, + 'description' => 'Routine build configuration state that does not exist.', + ], + [ + 'code' => 'RoutineInstanceNotExist', + 'message' => 'The Routine instance does not exist.', + 'http_code' => 400, + 'description' => 'The Routine instance does not exist.', + ], + [ + 'code' => 'GitAccountAuthExpired', + 'message' => 'Git account authorization expired.', + 'http_code' => 400, + 'description' => 'Git account authorization expired.', + ], + [ + 'code' => 'GitAccountAlreadyExist', + 'message' => 'The Git account already exists and cannot be created repeatedly.', + 'http_code' => 400, + 'description' => 'The Git account already exists and cannot be created repeatedly.', + ], + [ + 'code' => 'GitAccountNotActive', + 'message' => 'Git account is not active.', + 'http_code' => 400, + 'description' => 'Git account is not active.', + ], + [ + 'code' => 'RoutineNotExist', + 'message' => 'Routine does not exist.', + 'http_code' => 400, + 'description' => 'Routine does not exist.', + ], + [ + 'code' => 'RoutineBuildTaskNotExist', + 'message' => 'Routine build task does not exist.', + 'http_code' => 400, + 'description' => 'Routine build task does not exist.', + ], + [ + 'code' => 'IllegalNodeVersion', + 'message' => 'NodeVersion parameter is illegal.', + 'http_code' => 400, + 'description' => 'NodeVersion parameter is illegal.', + ], + [ + 'code' => 'RoutineBuildConfigurationNotExist', + 'message' => 'Routine build configuration does not exist.', + 'http_code' => 400, + 'description' => 'Routine build configuration does not exist.', + ], + [ + 'code' => 'RoutineBuildConfigurationExist', + 'message' => 'Routine build configuration already exists.', + 'http_code' => 400, + 'description' => 'Routine build configuration already exists.', + ], + [ + 'code' => 'RoutineBuildTaskNotBuilding', + 'message' => 'The state of the Routine build task is not building.', + 'http_code' => 400, + 'description' => 'The state of the Routine build task is not building.', + ], + [ + 'code' => 'GitAccountExceedQuota', + 'message' => 'The number of Git accounts exceeds the quota limit. A user can only associate up to 20 Git accounts.', + 'http_code' => 400, + 'description' => 'The number of Git accounts exceeds the quota limit. A user can only associate up to 20 Git accounts.', + ], + [ + 'code' => 'EnvironmentVariableKeyValueTooLong', + 'message' => 'The key/value length in the EnvironmentVariable parameter exceeds the limit. The length of a single key is not greater than 100, and the length of a single value is not greater than 200.', + 'http_code' => 400, + 'description' => 'The key/value length in the EnvironmentVariable parameter exceeds the limit. The length of a single key is not greater than 100, and the length of a single value is not greater than 200.', + ], + [ + 'code' => 'EnvironmentExceedLimit', + 'message' => 'The environment variable parameter exceeds the limit, and the number of keys and values exceeds the limit.', + 'http_code' => 400, + 'description' => 'The environment variable parameter exceeds the limit, and the number of keys and values exceeds the limit.', + ], + [ + 'code' => 'RepositoryExceedLimit', + 'message' => 'One code repository can only be associated with up to 10 Routine build configurations.', + 'http_code' => 400, + 'description' => 'One code repository can only be associated with up to 10 Routine build configurations.', + ], + [ + 'code' => 'CanNotOpenCrossBorderOptimization', + 'message' => 'Can not open cross border optimization.', + 'http_code' => 400, + 'description' => 'Can not open cross border optimization.', + ], + [ + 'code' => 'CustomHostname.ConflictWithExistingResource', + 'message' => 'The custom hostname conflicts with existing resources, such as sites, records, load balancers, source address pools, custom hostnames and Layer 4 proxy records.', + 'http_code' => 400, + 'description' => 'The custom hostname conflicts with existing resources, such as sites, records, load balancers, source address pools, custom hostnames and Layer 4 proxy records.', + ], + [ + 'code' => 'QuotaExceed.CustomHostname', + 'message' => 'The number of custom hostnames exceeds the plan quota. Contact the sales team to increase your quota.', + 'http_code' => 400, + 'description' => 'The number of custom hostnames exceeds the plan quota. Contact the sales team to increase your quota.', + ], + [ + 'code' => 'CustomHostname.InvalidICP', + 'message' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + 'http_code' => 400, + 'description' => 'The specified website does not have an ICP filing or the filing information is invalid. Make sure your website is filed and try again.', + ], + [ + 'code' => 'CustomHostname.VerifyUnpassed', + 'message' => 'The custom hostname ownership verification failed. Complete the verification and try again.', + 'http_code' => 200, + 'description' => 'The custom hostname ownership verification failed. Complete the verification and try again.', + ], + [ + 'code' => 'Record.SourceOfExistingCustomHostnames', + 'message' => 'Failed to delete the record because it is the source of existing custom hostnames.Remove all references to the record and try again.', + 'http_code' => 400, + 'description' => 'Failed to delete the record because it is the source of existing custom hostnames.Remove all references to the record and try again.', + ], + [ + 'code' => 'CustomHostname.NotFound', + 'message' => 'The custom hostname does not exist. Modify it and try again.', + 'http_code' => 404, + 'description' => 'The custom hostname does not exist. Modify it and try again.', + ], + [ + 'code' => 'Record.ProtectedAsCustomHostnameSource', + 'message' => 'Failed to delete the record because it is the origin server of existing custom hostnames.Remove all references to the record and try again.', + 'http_code' => 400, + 'description' => 'Failed to delete the record because it is the origin server of existing custom hostnames.Remove all references to the record and try again.', + ], + [ + 'code' => 'Record.ProxiedAsCustomHostnameSource', + 'message' => 'Failed to disable proxy the record because it is the origin server of existing custom hostnames.Remove all references to the record and try again.', + 'http_code' => 400, + 'description' => 'Failed to disable proxy the record because it is the origin server of existing custom hostnames.Remove all references to the record and try again.', + ], + [ + 'code' => 'Record.TypeProtectedAsCustomHostnameSource', + 'message' => 'Failed to update the record type because it is the origin server of existing custom hostnames. The record can only be updated to CNAME or A/AAAA types. Alternatively, remove all references to the record and try again.', + 'http_code' => 400, + 'description' => 'Failed to update the record type because it is the origin server of existing custom hostnames. The record can only be updated to CNAME or A/AAAA types. Alternatively, remove all references to the record and try again.', + ], + [ + 'code' => 'CustomHostname.ServiceBusy', + 'message' => 'The custom hostname is being configured. Try again later.', + 'http_code' => 400, + 'description' => 'The custom hostname is being configured. Try again later.', + ], + [ + 'code' => 'InvalidParameter.Domains', + 'message' => 'The maximum number of domain names specified by parameter Domains has been reached. Adjust your configurations and try again. The upper limit of lets encrypt type domain name is 50, the upper limit of digicert single type domain name is 1, and the upper limit of digicert wildcard type domain name is 1.', + 'http_code' => 400, + 'description' => 'The maximum number of domain names specified by parameter Domains has been reached. Adjust your configurations and try again. The upper limit of lets_encrypt type domain name is 50, the upper limit of digicert_single type domain name is 1, and the upper limit of digicert_wildcard type domain name is 1.', + ], + [ + 'code' => 'FunctionArgConflict.OriginProtection', + 'message' => 'The automatic enabling of the latest back-to-source IP list and the back-to-source convergence are mutually exclusive functions and cannot be enabled at the same time.', + 'http_code' => 400, + 'description' => 'The automatic enabling of the latest back-to-source IP list and the back-to-source convergence are mutually exclusive functions and cannot be enabled at the same time.', + ], + [ + 'code' => 'ForbidUpdateSite.ConfigurationsUnclosed', + 'message' => 'If there are unclosed configurations, please close them before migrating.', + 'http_code' => 400, + 'description' => 'If there are unclosed configurations, please close them before migrating.', + ], + [ + 'code' => 'ForbidUpdateSite.PlanUnallowed', + 'message' => 'Site migration between preset plans and customized enterprise plans is not supported.', + 'http_code' => 400, + 'description' => 'Site migration between preset plans and customized enterprise plans is not supported.', + ], + [ + 'code' => 'SiteFunction.WafPageNotExist', + 'message' => 'The custom page referenced in the custom response code configuration does not exist.', + 'http_code' => 400, + 'description' => 'The custom page referenced in the custom response code configuration does not exist.', + ], + [ + 'code' => 'InvalidParameter_SchemaId', + 'message' => 'The parameter SchemaId is invalid.', + 'http_code' => 400, + 'description' => 'The parameter SchemaId is invalid.', + ], + [ + 'code' => 'InvalidParameter_IdentifierId', + 'message' => 'The parameter Identified is invalid.', + 'http_code' => 400, + 'description' => 'The parameter Identified is invalid.', + ], + [ + 'code' => 'InvalidParameter_SchemaNotFound', + 'message' => 'The parameter schemaId conf not found.', + 'http_code' => 400, + 'description' => 'The schema configuration corresponding to the input schemaId is not found.', + ], + [ + 'code' => 'InvalidParameter.ApiShieldQuota', + 'message' => 'This site does not have permission to manipulate API security features.', + 'http_code' => 400, + 'description' => 'This site does not have permission to manipulate API security features', + ], + [ + 'code' => 'InvalidParameter.RuleName', + 'message' => 'The parameter RuleName is invalid.', + 'http_code' => 400, + 'description' => 'The parameter RuleName is invalid.', + ], + [ + 'code' => 'InvalidParameter.EndpointIds', + 'message' => 'The parameter EndpointIds is invalid.', + 'http_code' => 400, + 'description' => 'The entry EndpointIds is illegal.', + ], + [ + 'code' => 'InvalidParameter.TokenConfigs', + 'message' => 'The parameter TokenConfigs is invalid.', + 'http_code' => 400, + 'description' => '', + ], + [ + 'code' => 'InvalidParameter.TokenConfigs.Tag', + 'message' => 'The parameter TokenConfigs.Tag is invalid.', + 'http_code' => 400, + 'description' => 'The parameter TokenConfigs_Tag is invalid.', + ], + [ + 'code' => 'InvalidParameter.RuleId', + 'message' => 'The parameter RuleId is invalid.', + 'http_code' => 400, + 'description' => 'The parameter RuleId is invalid', + ], + [ + 'code' => 'InvalidParameter.IdentifierId', + 'message' => 'The parameter IdentifierId is invalid.', + 'http_code' => 400, + 'description' => 'The parameter IdentifierId is invalid.', + ], + [ + 'code' => 'SameNameRecordExceedLimit', + 'message' => 'The number of records with the same name exceeds the upper limit.', + 'http_code' => 400, + 'description' => 'The number of records with the same name exceeds the upper limit.', + ], + [ + 'code' => 'InvalidParameter.RuleAction', + 'message' => 'The parameter RuleAction is invalid.', + 'http_code' => 400, + 'description' => 'The parameter RuleAction is invalid.', + ], + [ + 'code' => 'InvalidParameter.TokenValidateType', + 'message' => 'The parameter TokenValidateType is invalid.', + 'http_code' => 400, + 'description' => 'The parameter TokenValidateType is invalid.', + ], + [ + 'code' => 'InvalidParameter.TokenName', + 'message' => 'The parameter TokenName is invalid.', + 'http_code' => 400, + 'description' => 'The parameter TokenName is invalid.', + ], + [ + 'code' => 'InvalidParameter.ManagedApi.StateCanNotChanged', + 'message' => 'The status of the managed API is not allowed to be modified.', + 'http_code' => 400, + 'description' => 'The status of the managed API is not allowed to be modified.', + ], + [ + 'code' => 'InvalidParameter.TokenNameExists', + 'message' => 'The parameter TokenName already exists.', + 'http_code' => 400, + 'description' => 'The parameter TokenName already exists.', + ], + [ + 'code' => 'InvalidParameter.Identifier.Quota', + 'message' => 'The session identifier quota for the corresponding tier at the request site is insufficient.', + 'http_code' => 400, + 'description' => 'The session identifier quota for the corresponding tier at the request site is insufficient.', + ], + [ + 'code' => 'InvalidParameter.Credentials.Alg', + 'message' => 'The internal Alg field of the input parameter Credentials is invalid.', + 'http_code' => 400, + 'description' => 'The internal Alg field of the input parameter Credentials is invalid.', + ], + [ + 'code' => 'InvalidParameter.TokenUsed', + 'message' => 'The parameter TokenId token configuration is in use.', + 'http_code' => 400, + 'description' => 'The parameter TokenId token configuration is in use.', + ], + [ + 'code' => 'InvalidParameter.ManagedApi.Quota', + 'message' => 'The management API quota of the corresponding package of the request site exceeds the limit.', + 'http_code' => 400, + 'description' => 'The management API quota of the corresponding package of the request site exceeds the limit.', + ], + [ + 'code' => 'InvalidParameter.Position', + 'message' => 'The parameter Position is invalid.', + 'http_code' => 400, + 'description' => 'The parameter Position is invalid.', + ], + [ + 'code' => 'InvalidParameter.TokenId', + 'message' => 'The parameter TokenId is invalid.', + 'http_code' => 400, + 'description' => 'The parameter TokenId is invalid.', + ], + [ + 'code' => 'InvalidParameter.Credentials', + 'message' => 'The parameter Credentials is invalid.', + 'http_code' => 400, + 'description' => 'The parameter Credentials is invalid.', + ], + [ + 'code' => 'InvalidParameter.Credentials.KidRepeat', + 'message' => 'The internal field Kid of the input parameter Credentials is duplicate.', + 'http_code' => 400, + 'description' => 'The internal field Kid of the input parameter Credentials is duplicate.', + ], + [ + 'code' => 'InvalidParameter.Credentials.Kid', + 'message' => 'The internal field Kid of the input parameter Credentials is configured to be empty.', + 'http_code' => 400, + 'description' => 'The internal field Kid of the input parameter Credentials is configured to be empty.', + ], + [ + 'code' => 'InvalidParameter.TokenSources.Repeated', + 'message' => 'The input parameter TokenSources internal field configuration is duplicate.', + 'http_code' => 400, + 'description' => 'The input parameter TokenSources internal field configuration is duplicate.', + ], + [ + 'code' => 'InvalidParameter.TokenSources.Empty', + 'message' => 'The internal field of the input TokenSources is invalid.', + 'http_code' => 400, + 'description' => 'The internal field of the input TokenSources is invalid.', + ], + [ + 'code' => 'InvalidParameter.TokenSources', + 'message' => 'The parameter TokenSources is invalid.', + 'http_code' => 400, + 'description' => 'The parameter TokenSources is invalid.', + ], + [ + 'code' => 'InvalidParameter.TokenType', + 'message' => 'The parameter TokenType is invalid.', + 'http_code' => 400, + 'description' => 'The parameter TokenType is invalid.', + ], + [ + 'code' => 'InvalidParameter.SourceIpInBlacklist', + 'message' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + 'http_code' => 400, + 'description' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'code' => 'InvalidParameter.PrivateIpAsSourceUnsupported', + 'message' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + 'http_code' => 400, + 'description' => 'The provided source is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'code' => 'InvalidParameter.PrivateIpAsSourceUnsupported', + 'message' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + 'http_code' => 400, + 'description' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'code' => 'InvalidParameter.SourceIpInBlacklist', + 'message' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + 'http_code' => 400, + 'description' => 'The provided origin is an invalid private IP address. Please verify and resubmit.', + ], + [ + 'code' => 'InvalidParameter.ManagedApi.NotChanged', + 'message' => 'The status of the managed API is not allowed to be modified.', + 'http_code' => 400, + 'description' => 'The status of the managed API is not allowed to be modified.', + ], + [ + 'code' => 'InvalidParameter.ManagedApi.Quota', + 'message' => 'The API management quota of the corresponding package of the request site is insufficient.', + 'http_code' => 400, + 'description' => 'The API management quota of the corresponding package of the request site is insufficient.', + ], + [ + 'code' => 'InvalidParameter.Position', + 'message' => 'The input parameter Position is invalid.', + 'http_code' => 400, + 'description' => 'The input parameter Position is invalid.', + ], + [ + 'code' => 'InvalidParameter.ApiActions', + 'message' => 'The input parameter ApiActions is invalid.', + 'http_code' => 400, + 'description' => 'The input parameter ApiActions is invalid.', + ], + [ + 'code' => 'InvalidParameter.ApiRule.Quota', + 'message' => 'The API rule quota of the corresponding package of the request site is insufficient.', + 'http_code' => 400, + 'description' => 'The API rule quota of the corresponding package of the request site is insufficient.', + ], + [ + 'code' => 'InvalidParameter.RuleNameExists', + 'message' => 'The input parameter RuleName is duplicated.', + 'http_code' => 400, + 'description' => 'The input parameter RuleName is duplicated.', + ], + [ + 'code' => 'InvalidParameter.Token.Quota', + 'message' => 'The session token quota for the corresponding tier at the request site is insufficient.', + 'http_code' => 400, + 'description' => 'The session token quota for the corresponding tier at the request site is insufficient.', + ], + [ + 'code' => 'AmountExceed.Entranceplan', + 'message' => 'The parameter Amount exceeds the number of entrance plan that can be purchased.', + 'http_code' => 400, + 'description' => 'The parameter Amount exceeds the number of free versions that can be purchased.', + ], + [ + 'code' => 'FreePlanOrderUnpaid', + 'message' => 'Please complete your pending order for the free plan.', + 'http_code' => 400, + 'description' => 'Please complete your pending order for the free plan.', + ], + [ + 'code' => 'QuotaExceed.FreePlan', + 'message' => 'Your account has reached the maximum allowed quota for free plan purchases.', + 'http_code' => 400, + 'description' => 'Your account has reached the maximum allowed quota for free plan purchases.', + ], + [ + 'code' => 'Record.UnmatchedRecordNameOnlyRangeChars', + 'message' => 'Illegal host record character. Only lowercase a-z, uppercase A- Z, digits 0-9, some special characters are supported as valid characters in host records.', + 'http_code' => 400, + 'description' => 'Illegal host record character. Only lowercase a-z, uppercase A- Z, digits 0-9, \'-\', \'_\', \'.\', \'*\', and \'@\' are supported as valid characters in host records \',\' @ \'.'."\n", + ], + [ + 'code' => 'Record.InvalidHTTPURLValueWithCAARecordTag', + 'message' => 'The CAA record is prefixed with http:// or https://, it must be followed by a valid URL.', + 'http_code' => 400, + 'description' => 'When you create or edit a CAA record, if the Tag is `iodef` and the Value starts with `http://` or `https://`, it must be followed by a valid URL.', + ], + [ + 'code' => 'IPA.FunctionConflict', + 'message' => 'KeepAliveProtection is conflicted with StaticIp and CrossBorderOptimization are conflict, can not open at same time.', + 'http_code' => 400, + 'description' => 'KeepAliveProtection is conflicted with StaticIp and CrossBorderOptimization are conflict, can not open at same time', + ], + [ + 'code' => 'IPA.CanNotEnableKeepAliveProtection', + 'message' => 'Both domestic and overseas DDoS protection must be set to a level higher than basic protection.', + 'http_code' => 400, + 'description' => 'DDoS protection specifications for mainland China and non-mainland China cannot be used as basic protection.', + ], + [ + 'code' => 'Site.HasIpaEnableKeepAliveProtection', + 'message' => 'The site has one or more IPA apps with keep-alive-protection enabled, so it cannot update the coverage or the instance.', + 'http_code' => 400, + 'description' => 'The site has one or more IPA apps with keep-alive-protection enabled, so it cannot update the coverage or the instance.', + ], + [ + 'code' => 'Instance.HasIpaEnableKeepAliveProtection', + 'message' => 'The site associated with this instance has one or more IPA apps with keep-alive-protection enabled. Both domestic and overseas DDoS protection cannot be disabled.', + 'http_code' => 400, + 'description' => 'The site associated with this instance has one or more IPA apps with keep-alive-protection enabled. Both domestic and overseas DDoS protection cannot be disabled."', + ], + [ + 'code' => 'IPA.KeepAliveProtectionConflict', + 'message' => 'KeepAliveProtection is conflicted with StaticIp and CrossBorderOptimization, can not open at same time.', + 'http_code' => 400, + 'description' => 'KeepAliveProtection is conflicted with StaticIp and CrossBorderOptimization, can not open at same time', + ], + [ + 'code' => 'PlanOrderUnpaid', + 'message' => 'You have an unpaid ESA order. Please complete or void the order at the User Center before placing another order.', + 'http_code' => 400, + 'description' => 'You have an unpaid ESA order. Please complete or void the order at the User Center before placing another order.', + ], + [ + 'code' => 'InvalidParameter.ApiShieldSellVerison', + 'message' => 'The site does not have permissions to manipulate the enterprise-level capabilities of API security features.', + 'http_code' => 400, + 'description' => 'The site does not have permissions to manipulate the enterprise-level capabilities of API security features.', + ], + [ + 'code' => 'SiteHasCrossBorderOptimization', + 'message' => 'Chinese Mainland Network is enabled for this site. Please disable Chinese Mainland Network and try again.', + 'http_code' => 400, + 'description' => 'Network acceleration in mainland China is enabled for this site. Turn off network acceleration in mainland China and try again.', + ], + [ + 'code' => 'LoadBalancer.NameInvalid', + 'message' => 'The name of the Server Load Balancer instance is a valid domain name or belongs to the site. Check that it is correct and try again.', + 'http_code' => 400, + 'description' => 'The name of the Server Load Balancer instance is a valid domain name or belongs to the site. Check that it is correct and try again.', + ], + [ + 'code' => 'SiteHasCustomPorts', + 'message' => 'Custom ports is enabled for this site. Please disable custom ports and try again.', + 'http_code' => 400, + 'description' => 'A custom port has been opened in the site. Close the custom port and try again.', + ], + [ + 'code' => 'FunctionArgError', + 'message' => 'Failed to check the configured function parameters.', + 'http_code' => 400, + 'description' => 'Failed to check the configured function parameters', + ], + [ + 'code' => 'ERBuildTast.NotExist', + 'message' => 'The ER build task does not exist or does not match the user, please check that it is correct and try again.', + 'http_code' => 400, + 'description' => 'The ER build task does not exist or does not match the user, please check that it is correct and try again.', + ], + [ + 'code' => 'OriginPool.TypeNotSupport', + 'message' => 'The origin address pool type is not supported.', + 'http_code' => 400, + 'description' => 'The origin address pool type is not supported.', + ], + [ + 'code' => 'Site.NotActive', + 'message' => 'The status of the applied site or site is not activated.', + 'http_code' => 400, + 'description' => 'The status of the applied site or site is not activated.', + ], + [ + 'code' => 'CustomHostname.ApplyCertFailed', + 'message' => 'Fail to apply a free cert for custom hostname. Please try again later.', + 'http_code' => 400, + 'description' => 'Fail to apply a free cert for custom hostname. Please try again later.', + ], + [ + 'code' => 'CustomHostname.SetCertFailed', + 'message' => 'Fail to deploy a cert for custom hostname. Please try again later.', + 'http_code' => 400, + 'description' => 'Fail to deploy a cert for custom hostname. Please try again later.', + ], + [ + 'code' => 'ConfigNotFound', + 'message' => 'The specified configuration does not exist.', + 'http_code' => 400, + 'description' => 'The specified configuration does not exist.', + ], + [ + 'code' => 'ERBuildTask.NotExist', + 'message' => 'The ER build task does not exist or does not match the user, please check that it is correct and try again.', + 'http_code' => 400, + 'description' => 'The ER build task does not exist or does not match the user, please check that it is correct and try again.', + ], + [ + 'code' => 'QuotaCheckFailed.CustomPort', + 'message' => 'The current package does not support configuring custom ports. Please check the package description and upgrade your package.', + 'http_code' => 400, + 'description' => 'The current package does not support configuring custom ports. Please check the package description and upgrade your package.', + ], + [ + 'code' => 'CustomHostname.CheckQuotaFailed', + 'message' => 'Fail to check quota for custom hostname. Please try again later.', + 'http_code' => 400, + 'description' => '', + ], + [ + 'code' => 'InvalidParameter.Port', + 'message' => 'Invalid port. Enter a valid port as required by the interface documentation.', + 'http_code' => 400, + 'description' => 'Invalid port. Enter a valid port as required by the interface documentation.', + ], + [ + 'code' => 'CustomHostname.OfflineForMultiReason', + 'message' => 'Unable to activate the custom hostname because it is offline due to multiple reasons.', + 'http_code' => 400, + 'description' => '', + ], + [ + 'code' => 'Site.QuotaFull', + 'message' => 'The instance site count quota is full.', + 'http_code' => 400, + 'description' => 'The instance site count quota is full.', + ], + [ + 'code' => 'InvalidParameter.RecordPortExceedLimit', + 'message' => 'The number of recorded ports exceeds the limit, including 80 or 443 ports, and supports a maximum of 21 ports. Please adjust and try again.', + 'http_code' => 400, + 'description' => 'The number of recorded ports exceeds the limit, including 80 or 443 ports. A maximum of 21 ports are supported. Please adjust and try again.', + ], + [ + 'code' => 'CustomHostname.QueryCasCertFailed', + 'message' => 'Fail to query CAS certificate details. Please try again later.', + 'http_code' => 400, + 'description' => '', + ], + [ + 'code' => 'CustomHostname.WildcardDomainRequireEnterprisePlan', + 'message' => 'Wildcard custom hostnames require an Enterprise plan.', + 'http_code' => 400, + 'description' => '', + ], + [ + 'code' => 'SiteOrVersion.NotExist', + 'message' => 'The specified website or website version does not exist or is not recognized by the system. Check whether the specified website or website version identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website or website version, make sure that the creation and registration process is complete to integrate the website to the system.', + 'http_code' => 400, + 'description' => 'The specified website or website version does not exist or is not recognized by the system. Check whether the specified website or website version identifier is valid and matches a website that is active, defined, and recognized by the system.If you want to add a new website or website version, make sure that the creation and registration process is complete to integrate the website to the system.', + ], + [ + 'code' => 'Ato.ApiAsset.NotExist', + 'message' => 'The specified ATO API asset does not exist.', + 'http_code' => 400, + 'description' => 'The specified account security API asset does not exist in the current context or system configuration. Please confirm the existence of the API asset identifier and make sure it is properly defined or implemented.', + ], + [ + 'code' => 'Ato.ProtectionStrategy.NotExist', + 'message' => 'The specified ATO protection strategy does not exist.', + 'http_code' => 400, + 'description' => 'The specified account security policy does not exist in the current context or system configuration. Verify the existence of the protection policy identifier and ensure that it has been properly defined or implemented.', + ], + [ + 'code' => 'Ato.ProtectionStrategy.BeingBound', + 'message' => 'The specified ATO protection strategy is being bound.', + 'http_code' => 400, + 'description' => 'the specified account security policy is bound by one or more protection rules.', + ], + ], + 'changeSet' => [ + [ + 'apis' => [ + [ + 'description' => 'Response parameters changed', + 'api' => 'SetClientCertificateHostnames', + ], + ], + 'createdAt' => '2025-03-13T09:11:33.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Response parameters changed', + 'api' => 'ListScheduledPreloadJobs', + ], + ], + 'createdAt' => '2025-03-13T08:02:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'BlockObject', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'PreloadCaches', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'PurgeCaches', + ], + ], + 'createdAt' => '2025-03-13T07:59:15.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Response parameters changed', + 'api' => 'GetClientCaCertificate', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'GetClientCertificate', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'ListClientCaCertificates', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'ListClientCertificates', + ], + ], + 'createdAt' => '2025-03-12T03:31:00.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'UpdateCustomScenePolicy', + ], + ], + 'createdAt' => '2025-03-12T02:37:17.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Response parameters changed', + 'api' => 'CreateSiteDeliveryTask', + ], + ], + 'createdAt' => '2025-02-28T07:45:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'CreateOriginRule', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'GetOriginRule', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'ListOriginRules', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'UpdateOriginRule', + ], + ], + 'createdAt' => '2025-02-27T09:17:23.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Response parameters changed', + 'api' => 'GetWafFilter', + ], + ], + 'createdAt' => '2025-02-27T08:45:59.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteOriginProtection', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateOriginProtection', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateOriginProtectionIpWhiteList', + ], + ], + 'createdAt' => '2025-02-21T06:59:44.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'UpdateWaitingRoomEvent', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'UpdateWaitingRoomRule', + ], + ], + 'createdAt' => '2025-02-21T03:41:24.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'DeleteWaitingRoomEvent', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'DeleteWaitingRoomRule', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'ListCacheReserveInstances', + ], + ], + 'createdAt' => '2025-02-21T03:26:42.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed, Request parameters changed', + 'api' => 'PurchaseRatePlan', + ], + ], + 'createdAt' => '2025-02-20T05:45:43.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'DescribeCustomScenePolicies', + ], + ], + 'createdAt' => '2025-02-19T08:09:11.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'BatchCreateRecords', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateRecord', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'GetSite', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'ListSites', + ], + ], + 'createdAt' => '2025-02-18T05:59:56.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'SetCertificate', + ], + ], + 'createdAt' => '2025-02-13T01:37:48.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'CreateLoadBalancer', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'ListLoadBalancers', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'UpdateLoadBalancer', + ], + ], + 'createdAt' => '2025-02-13T01:35:09.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'CreateCompressionRule', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'GetCompressionRule', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'ListCompressionRules', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'UpdateCompressionRule', + ], + ], + 'createdAt' => '2025-02-12T02:26:24.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Response parameters changed', + 'api' => 'CreateWaitingRoom', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'CreateWaitingRoomEvent', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'CreateWaitingRoomRule', + ], + [ + 'description' => 'Request parameters changed, Response parameters changed', + 'api' => 'ListUserRatePlanInstances', + ], + ], + 'createdAt' => '2025-02-12T02:01:47.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'DescribePurgeTasks', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'GetPurgeQuota', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'PurgeCaches', + ], + ], + 'createdAt' => '2025-02-10T01:56:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'CreateLoadBalancer', + ], + ], + 'createdAt' => '2025-02-10T01:26:43.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteSite', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'ListUserRatePlanInstances', + ], + ], + 'createdAt' => '2025-01-10T01:52:00.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'ListPages', + ], + ], + 'createdAt' => '2025-01-09T06:25:18.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Response parameters changed', + 'api' => 'SetCertificate', + ], + ], + 'createdAt' => '2025-01-09T05:45:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'ListManagedRulesGroups', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'UpdatePage', + ], + ], + 'createdAt' => '2024-12-26T15:08:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'CreateUserDeliveryTask', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'GetUserDeliveryTask', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'UpdateUserDeliveryTask', + ], + ], + 'createdAt' => '2024-12-26T08:22:34.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'GetOriginProtection', + ], + ], + 'createdAt' => '2024-12-24T01:43:07.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'EditSiteWafSettings', + ], + ], + 'createdAt' => '2024-12-19T09:11:02.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'GetSiteWafSettings', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'ListWafRules', + ], + ], + 'createdAt' => '2024-12-12T06:19:10.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed, Request parameters changed', + 'api' => 'PurgeCaches', + ], + ], + 'createdAt' => '2024-12-06T02:12:12.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'CommitRoutineStagingCode', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'CreateRoutine', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'CreateRoutineRelatedRecord', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'CreateRoutineRelatedRoute', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'DeleteRoutine', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'DeleteRoutineCodeVersion', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'DeleteRoutineRelatedRecord', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'DeleteRoutineRelatedRoute', + ], + [ + 'description' => 'Request parameters changed, Response parameters changed', + 'api' => 'GetRoutine', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'GetRoutineStagingCodeUploadInfo', + ], + ], + 'createdAt' => '2024-12-04T05:50:49.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed, Response parameters changed', + 'api' => 'CreateSiteFunction', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'ListSiteFunctions', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'UpdateSiteFunction', + ], + ], + 'createdAt' => '2024-12-04T02:33:41.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed, Response parameters changed', + 'api' => 'ListSites', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'ListUserRatePlanInstances', + ], + ], + 'createdAt' => '2024-11-28T06:42:15.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'GetKv', + ], + ], + 'createdAt' => '2024-11-26T03:44:10.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Response parameters changed', + 'api' => 'DescribeDDoSAllEventList', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DescribeHttpDDoSAttackIntelligentProtection', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DescribeHttpDDoSAttackProtection', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'SetHttpDDoSAttackIntelligentProtection', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'SetHttpDDoSAttackProtection', + ], + ], + 'createdAt' => '2024-11-19T03:36:10.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'ListRecords', + ], + ], + 'createdAt' => '2024-11-19T01:42:35.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'ListWafManagedRules', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'ListWafTemplateRules', + ], + ], + 'createdAt' => '2024-11-12T07:31:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed, Request parameters changed', + 'api' => 'BatchCreateRecords', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'ListUserRatePlanInstances', + ], + ], + 'createdAt' => '2024-11-12T05:58:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'CreateScheduledPreloadExecutions', + ], + ], + 'createdAt' => '2024-11-12T03:12:55.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Response parameters changed', + 'api' => 'GetEdgeContainerAppVersion', + ], + [ + 'description' => 'Response parameters changed', + 'api' => 'ListEdgeContainerAppVersions', + ], + ], + 'createdAt' => '2024-11-12T02:07:43.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'CommitRoutineStagingCode', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateRoutine', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateRoutineRelatedRecord', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateRoutineRelatedRoute', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteRoutine', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteRoutineCodeVersion', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteRoutineRelatedRecord', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteRoutineRelatedRoute', + ], + ], + 'createdAt' => '2024-11-05T06:55:41.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'CreateRecord', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateSiteAccessType', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateSiteVanityNS', + ], + ], + 'createdAt' => '2024-11-05T03:28:14.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'CheckUserProjectName', + ], + [ + 'description' => 'Error codes changed, Request parameters changed', + 'api' => 'CreateSiteDeliveryTask', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateUserDeliveryTask', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteSiteDeliveryTask', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteUserDeliveryTask', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetUserDeliveryTask', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListUserDeliveryTasks', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateSiteDeliveryTask', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateUserDeliveryTask', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateUserDeliveryTaskStatus', + ], + ], + 'createdAt' => '2024-10-18T01:07:45.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'ListInstanceQuotas', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListInstanceQuotasWithUsage', + ], + ], + 'createdAt' => '2024-10-15T09:24:31.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateSiteCoverage', + ], + ], + 'createdAt' => '2024-10-15T05:53:31.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'ListEdgeContainerApps', + ], + ], + 'createdAt' => '2024-10-15T03:49:31.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'SetCertificate', + ], + ], + 'createdAt' => '2024-10-15T03:45:45.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'PreloadCaches', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'PurgeCaches', + ], + ], + 'createdAt' => '2024-10-15T01:59:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'BatchCreateRecords', + ], + ], + 'createdAt' => '2024-10-11T06:14:16.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed, Request parameters changed', + 'api' => 'CreateRecord', + ], + [ + 'description' => 'Error codes changed, Request parameters changed', + 'api' => 'UpdateRecord', + ], + ], + 'createdAt' => '2024-10-10T12:01:55.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'ListInstanceQuotasWithUsage', + ], + ], + 'createdAt' => '2024-10-10T07:17:08.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'CreateSite', + ], + ], + 'createdAt' => '2024-10-10T02:02:02.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'CreateSite', + ], + ], + 'createdAt' => '2024-10-08T03:27:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'SetCertificate', + ], + ], + 'createdAt' => '2024-10-03T13:49:15.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed, Response parameters changed', + 'api' => 'ListManagedRulesGroups', + ], + ], + 'createdAt' => '2024-09-29T05:47:36.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'CheckSiteProjectName', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CheckUserProjectName', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateSiteCustomLog', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateSiteDeliveryTask', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateUserDeliveryTask', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteSiteDeliveryTask', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteUserDeliveryTask', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetRealtimeDeliveryField', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetSiteCustomLog', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetSiteDeliveryTask', + ], + ], + 'createdAt' => '2024-09-27T05:57:43.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'BatchCreateWafRules', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'BatchGetExpressionFields', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'BatchUpdateWafRules', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateList', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreatePage', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateWafRule', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteList', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeletePage', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteWafRule', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'DeleteWafRuleset', + ], + ], + 'createdAt' => '2024-09-25T07:03:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed, Request parameters changed', + 'api' => 'ListLists', + ], + ], + 'createdAt' => '2024-09-25T07:02:13.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateSiteCoverage', + ], + ], + 'createdAt' => '2024-09-24T09:14:10.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Request parameters changed', + 'api' => 'CreateSiteDeliveryTask', + ], + [ + 'description' => 'Request parameters changed', + 'api' => 'CreateUserDeliveryTask', + ], + ], + 'createdAt' => '2024-09-24T08:32:17.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'BatchCreateRecords', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateRecord', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateRecord', + ], + ], + 'createdAt' => '2024-09-24T08:28:53.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'BlockObject', + ], + ], + 'createdAt' => '2024-09-24T06:04:45.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed, Request parameters changed', + 'api' => 'CreateRecord', + ], + [ + 'description' => 'Error codes changed, Response parameters changed', + 'api' => 'GetRecord', + ], + [ + 'description' => 'Error codes changed, Response parameters changed', + 'api' => 'ListRecords', + ], + [ + 'description' => 'Error codes changed, Request parameters changed', + 'api' => 'UpdateRecord', + ], + ], + 'createdAt' => '2024-09-23T08:54:00.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed, Request parameters changed', + 'api' => 'ListSites', + ], + ], + 'createdAt' => '2024-09-23T07:17:24.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'BatchUpdateWafRules', + ], + ], + 'createdAt' => '2024-09-23T06:20:25.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'ActivateClientCertificate', + ], + ], + 'createdAt' => '2024-09-23T02:16:50.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'BatchDeleteKv', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'BatchDeleteKvWithHighCapacity', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'BatchPutKv', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'BatchPutKvWithHighCapacity', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetKvNamespace', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListKvs', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'PutKv', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'PutKvAccount', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'PutKvWithHighCapacity', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateKvNamespace', + ], + ], + 'createdAt' => '2024-09-20T13:50:13.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'CreateList', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreateManagedRulesGroup', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'CreatePage', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'SetCertificate', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'UpdateList', + ], + ], + 'createdAt' => '2024-09-18T09:54:23.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'CheckSiteName', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'EditSiteWafSettings', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ExportRecords', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetList', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetManagedRulesGroup', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetSite', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetSiteCurrentNS', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetSiteWafSettings', + ], + ], + 'createdAt' => '2024-09-18T08:57:12.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'GetWafBotAppKey', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetWafFilter', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetWafQuota', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'GetWafRuleset', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListEdgeContainerAppRecords', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListEdgeContainerRecords', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListEdgeRoutineRecords', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListLists', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListManagedRulesGroups', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListPages', + ], + ], + 'createdAt' => '2024-09-18T08:07:13.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'BatchCreateRecords', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'BatchCreateWafRules', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'BatchGetExpressionFields', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'BatchUpdateWafRules', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListTagResources', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListWafPhases', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListWafRulesets', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListWafTemplateRules', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListWafUsageOfRules', + ], + [ + 'description' => 'Error codes changed', + 'api' => 'ListWaitingRoomEvents', + ], + ], + 'createdAt' => '2024-09-18T06:14:20.000Z', + 'description' => '', + ], + [ + 'apis' => [ + [ + 'description' => 'Error codes changed', + 'api' => 'SetCertificate', + ], + ], + 'createdAt' => '2024-09-06T06:59:23.000Z', + 'description' => '', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateLoadBalancer', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateEdgeContainerAppResourceReserve', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerAppStatus', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeRoutinePlans', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CheckUserProjectName', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PurchaseCacheReserve', + ], + [ + 'threshold' => '2', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PutKvWithHighCapacity', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListPages', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UntagResources', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerTerminal', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteImageTransform', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateRedirectRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCacheReserveInstances', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateUrlObservation', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListInstanceQuotasWithUsage', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateWafRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateList', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSeoBypass', + ], + [ + 'threshold' => '10', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRecord', + ], + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateRoutine', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRoutineRoutes', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteWafRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListScheduledPreloadJobs', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateWaitingRoom', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteHttpRequestHeaderModificationRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafRulesets', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListLists', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateKvNamespace', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeContainerAppRecords', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ActivateClientCertificate', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteKv', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListSites', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteCacheRule', + ], + [ + 'threshold' => '50', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PutKv', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCacheRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateRatePlanSpec', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCrossBorderOptimization', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdatePage', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateHttpResponseHeaderModificationRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCertificates', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteEdgeContainerAppVersion', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCompressionRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateDevelopmentMode', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteOriginPool', + ], + [ + 'threshold' => '50', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListESAIPInfo', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListLoadBalancerOriginStatus', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateWafRuleset', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginProtection', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetHttpRequestHeaderModificationRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteCoverage', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteCustomLog', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateOriginProtection', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PurchaseRatePlan', + ], + [ + 'threshold' => '10', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateRecord', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCnameFlattening', + ], + [ + 'threshold' => '10', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteSite', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetList', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UploadOriginClientCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerAppVersion', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginClientCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteNameExclusive', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetNetworkOptimization', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateImageTransform', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeRoutineRecords', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PurgeCaches', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetPage', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateHttpsApplicationConfiguration', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRoutineRoute', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetWafFilter', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BlockObject', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListNetworkOptimizations', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListUserRoutines', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRoutineCodeVersion', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteClientCertificate', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRoutineRelatedRecords', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateUserDeliveryTaskStatus', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateUrlObservation', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateTieredCache', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetWafRuleset', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetClientCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteScheduledPreloadExecution', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetClientCaCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'TagResources', + ], + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRoutine', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ApplyCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetScheduledPreloadJob', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteNetworkOptimization', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCacheTag', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchGetExpressionFields', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'EnableCustomScenePolicy', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetTieredCache', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCertificateQuota', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListOriginPools', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCompressionRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeactivateVersionManagement', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListInstanceQuotas', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetIPv6', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWaitingRoomEvents', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListUrlObservations', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteDeliveryTask', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateUserDeliveryTask', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteSiteOriginClientCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWaitingRooms', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetWafQuota', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerStagingDeployStatus', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCacheReserveSpec', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetKvNamespace', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'StopScheduledPreloadExecution', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeKvAccountStatus', + ], + [ + 'threshold' => '10', + 'countWindow' => 10, + 'regionId' => '*', + 'api' => 'DescribeSiteTopData', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CheckSiteName', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'SetHttpDDoSAttackProtection', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'VerifySite', + ], + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchCreateRecords', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListHttpResponseHeaderModificationRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetUserLogDeliveryQuota', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListUserRatePlanInstances', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteAccessType', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteEdgeContainerApp', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSitePause', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CheckSiteProjectName', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateHttpResponseHeaderModificationRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRewriteUrlRules', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginClientCertificateHostnames', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteOriginCaCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateImageTransform', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListUploadTasks', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListKvs', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateOriginPool', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateOriginPool', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteDeliveryTaskStatus', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteOriginProtection', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeRatePlanInstanceStatus', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateWaitingRoomEvent', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateSiteCustomLog', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginCaCertificate', + ], + [ + 'threshold' => '-1', + 'countWindow' => 1, + 'regionId' => '*', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateWafRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'RevokeClientCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateSite', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribePreloadTasks', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSeoBypass', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ResetScheduledPreloadJob', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCacheReserveSpecification', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSiteVanityNS', + ], + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchDeleteKvWithHighCapacity', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteList', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafManagedRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteCurrentNS', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DisableCustomScenePolicy', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteWaitingRoomEvent', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteCustomLog', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteHttpsBasicConfiguration', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerAppResourceStatus', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCompressionRule', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetKvAccount', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListHttpsApplicationConfigurations', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeletePage', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerDeployRegions', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteHttpResponseHeaderModificationRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateNetworkOptimization', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteSiteDeliveryTask', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetWafRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateLoadBalancer', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListClientCertificates', + ], + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchDeleteKv', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteWafSettings', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRealtimeDeliveryField', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'SetCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateNetworkOptimization', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateWaitingRoom', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateClientCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetWafBotAppKey', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateRewriteUrlRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateRedirectRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetHttpsApplicationConfiguration', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UploadSiteOriginClientCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSite', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeDDoSBpsList', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteLoadBalancer', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ActivateVersionManagement', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateEdgeContainerAppLogRiver', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateHttpRequestHeaderModificationRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListSiteDeliveryTasks', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRewriteUrlRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteUserDeliveryTask', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteWaitingRoomRule', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerAppResourceReserve', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateWaitingRoomEvent', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateSiteDeliveryTask', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteScheduledPreloadJob', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeEdgeContainerAppStats', + ], + [ + 'threshold' => '10', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeUrlObservationData', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteNameExclusive', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRecords', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCacheRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteWaitingRoom', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'SetClientCertificateHostnames', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCnameFlattening', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateOriginRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteLogDeliveryQuota', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateCompressionRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetLoadBalancer', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UploadClientCaCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListLoadBalancerRegions', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateEdgeContainerAppVersion', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerAppLogRiver', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteKvNamespace', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeDDoSL7QpsList', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetErService', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListScheduledPreloadExecutions', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetUserDeliveryTask', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteClientCaCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateHttpsBasicConfiguration', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafTemplateRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCrossBorderOptimization', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListOriginClientCertificates', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateManagedTransform', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateRewriteUrlRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetPurgeQuota', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PublishEdgeContainerAppVersion', + ], + [ + 'threshold' => '50', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetKv', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListHttpsBasicConfigurations', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateHttpRequestHeaderModificationRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeHttpDDoSAttackIntelligentProtection', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetCacheTag', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateRoutineRoute', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetDevelopmentMode', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteDeliveryTask', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeContainerAppVersions', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetClientCertificateHostnames', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteEdgeContainerAppRecord', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'PreloadCaches', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateEdgeContainerApp', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ExportRecords', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetHttpResponseHeaderModificationRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UploadFile', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeContainerApps', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateWaitingRoomRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateIPv6', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteCompressionRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateCustomScenePolicy', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRedirectRule', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteOriginClientCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListTagResources', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRedirectRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'RebuildEdgeContainerAppStagingEnv', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteCustomScenePolicy', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateWaitingRoomRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCertificatesByRecord', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRoutineRoute', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetSiteOriginClientCertificate', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListOriginCaCertificates', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListUserDeliveryTasks', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateOriginProtection', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateUserDeliveryTask', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateRoutineRoute', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListHttpRequestHeaderModificationRules', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UploadOriginCaCertificate', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchUpdateWafRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeDDoSAllEventList', + ], + [ + 'threshold' => '10', + 'countWindow' => 10, + 'regionId' => '*', + 'api' => 'DescribeSiteTimeSeriesData', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListOriginRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateHttpsApplicationConfiguration', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRoutine', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetUploadTask', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCustomScenePolicy', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateWafRuleset', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteOriginRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'EditSiteWafSettings', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListClientCaCertificates', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListManagedRulesGroups', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'RollbackEdgeContainerAppVersion', + ], + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchPutKvWithHighCapacity', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateScheduledPreloadExecutions', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreatePage', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListImageTransforms', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWaitingRoomRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateEdgeContainerAppRecord', + ], + [ + 'threshold' => '10', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateRecord', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateList', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeCustomScenePolicies', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetManagedTransform', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateScheduledPreloadExecution', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteHttpsApplicationConfiguration', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafPhases', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetOriginPool', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetImageTransform', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListWafUsageOfRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerApp', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListCiphers', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'SetHttpDDoSAttackIntelligentProtection', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'StartScheduledPreloadExecution', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribeHttpDDoSAttackProtection', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DescribePurgeTasks', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateScheduledPreloadJob', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListLoadBalancers', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListSiteRoutes', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateSitePause', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetHttpsBasicConfiguration', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateCacheRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'OpenErService', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateCacheRule', + ], + [ + 'threshold' => '1', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchPutKv', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetEdgeContainerLogs', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListRoutineCodeVersions', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRecord', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteRedirectRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'CreateHttpsBasicConfiguration', + ], + [ + 'threshold' => '20', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'SetOriginClientCertificateHostnames', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteUrlObservation', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateOriginRule', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'DeleteWafRuleset', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'BatchCreateWafRules', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'ListEdgeContainerRecords', + ], + [ + 'threshold' => '5', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'UpdateOriginProtectionIpWhiteList', + ], + [ + 'threshold' => '30', + 'countWindow' => 1, + 'regionId' => '*', + 'api' => 'GetRewriteUrlRule', + ], + ], + ], + 'ram' => [ + 'productCode' => 'ESA', + 'productName' => 'Edge Security Acceleration', + 'ramCodes' => [ + 'esa', + ], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'CreateWafRuleset', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateWafRuleset', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateWaitingRoomEvent', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateWaitingRoomEvent', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateEdgeContainerAppRecord', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateEdgeContainerAppRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListTransportLayerApplications', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListTransportLayerApplications', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UploadOriginClientCertificate', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UploadOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CommitRoutineStagingCode', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CommitRoutineStagingCode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'CreateWaitingRoomRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateWaitingRoomRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListCacheRules', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListCacheRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetNetworkOptimization', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetNetworkOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeHttpDDoSAttackIntelligentProtection', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeHttpDDoSAttackIntelligentProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListHttpsApplicationConfigurations', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListHttpsApplicationConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteOriginRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteOriginRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateHttpIncomingRequestHeaderModificationRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateHttpIncomingRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetRealtimeDeliveryField', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetRealtimeDeliveryField', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateSiteAccessType', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteAccessType', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetCacheReserveSpecification', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCacheReserveSpecification', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeRatePlanInstanceStatus', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:DescribeRatePlanInstanceStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeSiteTopData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeSiteTopData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateSiteDeliveryTask', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateSiteDeliveryTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetSitePause', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSitePause', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListUserDeliveryTasks', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListUserDeliveryTasks', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteHttpDDoSIntelligentRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpDDoSIntelligentRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteCertificate', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'RebuildEdgeContainerAppStagingEnv', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:RebuildEdgeContainerAppStagingEnv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetEdgeContainerLogs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerLogs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListCiphers', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListCiphers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetUserLogDeliveryQuota', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetUserLogDeliveryQuota', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetEdgeContainerTerminal', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerTerminal', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateOriginProtectionIpWhiteList', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateOriginProtectionIpWhiteList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListRewriteUrlRules', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListRewriteUrlRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetSeoBypass', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSeoBypass', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteVideoProcessing', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteVideoProcessing', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateWaitingRoom', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateWaitingRoom', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteUrlObservation', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteUrlObservation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateSiteCustomLog', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateSiteCustomLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteEdgeContainerAppRecord', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteEdgeContainerAppRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetEdgeContainerAppLogRiver', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerAppLogRiver', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'CheckSiteProjectName', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CheckSiteProjectName', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'SetHttpDDoSAttackIntelligentProtection', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:SetHttpDDoSAttackIntelligentProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListEdgeRoutineRecords', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListEdgeRoutineRecords', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListPages', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListPages', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeHttpDDoSAttackProtection', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeHttpDDoSAttackProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateHttpsApplicationConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateHttpsApplicationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetOriginCaCertificate', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeDDoSL7QpsList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeDDoSL7QpsList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListUploadTasks', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListUploadTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteRedirectRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteRedirectRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'SetOriginClientCertificateHostnames', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:SetOriginClientCertificateHostnames', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateList', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteWaitingRoomRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteWaitingRoomRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListWafUsageOfRules', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWafUsageOfRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetCrossBorderOptimization', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCrossBorderOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteHttpIncomingRequestHeaderModificationRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpIncomingRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ActivateVersionManagement', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:ActivateVersionManagement', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteRewriteUrlRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteRewriteUrlRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateCustomScenePolicy', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:UpdateCustomScenePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateRoutineConfigDescription', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateRoutineConfigDescription', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateRatePlanSpec', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UpdateRatePlanSpec', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteOriginClientCertificate', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateHttpRequestHeaderModificationRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateHttpRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ActivateClientCertificate', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:ActivateClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListLoadBalancerOriginStatus', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListLoadBalancerOriginStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetHttpIncomingRequestHeaderModificationRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpIncomingRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetRewriteUrlRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetRewriteUrlRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListRedirectRules', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListRedirectRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeactivateVersionManagement', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:DeactivateVersionManagement', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetHttpResponseHeaderModificationRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListSiteOriginClientCertificates', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListSiteOriginClientCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeletePage', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeletePage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListCertificates', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteScheduledPreloadJob', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteScheduledPreloadJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'SetClientCertificateHostnames', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:SetClientCertificateHostnames', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteList', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'VerifyCustomHostname', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:VerifyCustomHostname', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteUserDeliveryTask', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteUserDeliveryTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateCrossBorderOptimization', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateCrossBorderOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListCertificatesByRecord', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListCertificatesByRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteWaitingRoomEvent', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteWaitingRoomEvent', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'PurchaseCacheReserve', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:PurchaseCacheReserve', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'CreateRecord', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateSiteCustomLog', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteCustomLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetManagedTransform', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetManagedTransform', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateCacheTag', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateCacheTag', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateUserDeliveryTask', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateUserDeliveryTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteLoadBalancer', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteLoadBalancer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateUserWafRuleset', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateUserWafRuleset', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetWafRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetWafRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateVideoProcessing', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateVideoProcessing', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListSiteDeliveryTasks', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListSiteDeliveryTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetApiSchemaUsage', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetApiSchemaUsage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CheckSiteName', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CheckSiteName', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListVideoProcessings', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListVideoProcessings', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateUrlObservation', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateUrlObservation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'EnableCustomScenePolicy', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:EnableCustomScenePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteKvNamespace', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteKvNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListClientCaCertificates', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListClientCaCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateHttpIncomingResponseHeaderModificationRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateHttpIncomingResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateCustomResponseCodeRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateCustomResponseCodeRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetDevelopmentMode', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetDevelopmentMode', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListKvs', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListKvs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetWafBotAppKey', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetWafBotAppKey', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateHttpRequestHeaderModificationRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateHttpRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteEdgeContainerAppVersion', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteEdgeContainerAppVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetKvDetail', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetKvDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateManagedTransform', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateManagedTransform', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetTransportLayerApplication', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetTransportLayerApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateSeoBypass', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateSeoBypass', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateWafRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateWafRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListEdgeContainerApps', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListEdgeContainerApps', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListWafManagedRules', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWafManagedRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'PurgeCaches', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:PurgeCaches', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateOriginProtection', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateOriginProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateEdgeContainerApp', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateEdgeContainerApp', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetRoutineStagingCodeUploadInfo', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetRoutineStagingCodeUploadInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'BatchPutKv', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:BatchPutKv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListImageTransforms', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListImageTransforms', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateHttpResponseHeaderModificationRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateHttpResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateTransportLayerApplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateTransportLayerApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateCnameFlattening', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateCnameFlattening', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateDevelopmentMode', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateDevelopmentMode', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetUserWafRuleset', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetUserWafRuleset', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListUrlObservations', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListUrlObservations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeSiteTimeSeriesData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeSiteTimeSeriesData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeHttpDDoSIntelligentRateLimitRules', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeHttpDDoSIntelligentRateLimitRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteCustomHostname', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteCustomHostname', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateRecord', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetUploadTask', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetUploadTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListEdgeRoutinePlans', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListEdgeRoutinePlans', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListManagedRulesGroups', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListManagedRulesGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListWaitingRoomEvents', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListWaitingRoomEvents', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetCustomHostname', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCustomHostname', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetWafQuota', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetWafQuota', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetKvAccount', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetKvAccount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetHttpsApplicationConfiguration', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpsApplicationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetUserDeliveryTask', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetUserDeliveryTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeDdosMaxBurstGbps', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeDdosMaxBurstGbps', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetRoutineRoute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetRoutineRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteCustomResponseCodeRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteCustomResponseCodeRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteCompressionRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteCompressionRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateRewriteUrlRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateRewriteUrlRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateEdgeContainerAppResourceReserve', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateEdgeContainerAppResourceReserve', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteRoutineCodeVersion', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteRoutineCodeVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListEdgeContainerAppRecords', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListEdgeContainerAppRecords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListOriginRules', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListOriginRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetOriginPool', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginPool', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'BatchDeleteKvWithHighCapacity', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:BatchDeleteKvWithHighCapacity', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListUserRoutines', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListUserRoutines', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateNetworkOptimization', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateNetworkOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetClientCaCertificate', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetClientCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UploadSiteOriginClientCertificate', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UploadSiteOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'BatchPutKvWithHighCapacity', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:BatchPutKvWithHighCapacity', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'SetHttpDDoSAttackRuleStatus', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:SetHttpDDoSAttackRuleStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListEdgeContainerAppVersions', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListEdgeContainerAppVersions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetRedirectRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetRedirectRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteTransportLayerApplication', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteTransportLayerApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListLoadBalancers', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListLoadBalancers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'StartScheduledPreloadExecution', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:StartScheduledPreloadExecution', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateWafRuleset', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateWafRuleset', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateRedirectRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateRedirectRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'BatchUpdateWafRules', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:BatchUpdateWafRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteScheduledPreloadExecution', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:DeleteScheduledPreloadExecution', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetClientCertificateHostnames', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetClientCertificateHostnames', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetCacheRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCacheRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteUserWafRuleset', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteUserWafRuleset', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetCertificateQuota', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:GetCertificateQuota', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetOriginRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteRecord', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteClientCertificate', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListScheduledPreloadJobs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListScheduledPreloadJobs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateSiteCoverage', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteCoverage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteOriginCaCertificate', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteOriginCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteRoutineRoute', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteRoutineRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'OpenErService', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:OpenErService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListRecords', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListRecords', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateIPv6', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateIPv6', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeSiteLogs', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeSiteLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeHttpDDoSIntelligentAclRules', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeHttpDDoSIntelligentAclRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteWafRuleset', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteWafRuleset', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListWafRulesets', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListWafRulesets', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetTieredCache', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetTieredCache', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetImageTransform', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetImageTransform', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListHttpResponseHeaderModificationRules', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListHttpResponseHeaderModificationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListEdgeContainerRecords', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListEdgeContainerRecords', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetVideoProcessing', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetVideoProcessing', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateList', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteHttpResponseHeaderModificationRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListUserWafRulesets', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListUserWafRulesets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ExportRecords', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ExportRecords', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateSiteVanityNS', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteVanityNS', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListHttpRequestHeaderModificationRules', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListHttpRequestHeaderModificationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UploadFile', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UploadFile', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListOriginClientCertificates', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListOriginClientCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateUrlObservation', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateUrlObservation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'RevokeClientCertificate', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:RevokeClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListCacheReserveInstances', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListCacheReserveInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteWafRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteWafRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetErService', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetErService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'PutKv', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:PutKv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateSiteDeliveryTask', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteDeliveryTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateEdgeContainerAppVersion', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateEdgeContainerAppVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'CreateKvNamespace', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateKvNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetRoutineCodeVersion', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetRoutineCodeVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateCacheReserveSpec', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UpdateCacheReserveSpec', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetEdgeContainerAppResourceReserve', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerAppResourceReserve', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteSiteDeliveryTask', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteSiteDeliveryTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListCompressionRules', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListCompressionRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'VerifySite', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:VerifySite', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListWafPhases', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWafPhases', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListWaitingRooms', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWaitingRooms', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListUserRatePlanInstances', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListUserRatePlanInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateSiteNameExclusive', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteNameExclusive', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListOriginPools', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListOriginPools', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetKv', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetKv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetPurgeQuota', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetPurgeQuota', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListInstanceQuotas', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListInstanceQuotas', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListRoutineRoutes', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListRoutineRoutes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteCustomScenePolicy', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteCustomScenePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UntagResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateRoutineRoute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateRoutineRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribePurgeTasks', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribePurgeTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'EditSiteWafSettings', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:EditSiteWafSettings', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeCustomScenePolicies', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeCustomScenePolicies', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetIPv6', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetIPv6', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteWaitingRoom', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteWaitingRoom', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteNetworkOptimization', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteNetworkOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListLists', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListLists', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetCompressionRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCompressionRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeHttpDDoSAttackRules', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeHttpDDoSAttackRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateSiteDeliveryTaskStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateSiteDeliveryTaskStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetEdgeContainerDeployRegions', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerDeployRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ResetScheduledPreloadJob', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:ResetScheduledPreloadJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteOriginPool', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteOriginPool', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateOriginPool', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateOriginPool', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateEdgeContainerAppLogRiver', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateEdgeContainerAppLogRiver', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DisableCustomScenePolicy', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DisableCustomScenePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'CreateRedirectRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateRedirectRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'SetHttpDDoSAttackRuleAction', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:SetHttpDDoSAttackRuleAction', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteHttpsApplicationConfiguration', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpsApplicationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateImageTransform', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateImageTransform', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteCacheRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteCacheRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateRoutineRoute', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateRoutineRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetCacheTag', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCacheTag', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListHttpIncomingRequestHeaderModificationRules', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListHttpIncomingRequestHeaderModificationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateScheduledPreloadJob', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateScheduledPreloadJob', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListCustomHostnames', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListCustomHostnames', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateNetworkOptimization', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateNetworkOptimization', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateCompressionRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateCompressionRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteRoutine', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteRoutine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'SetDdosMaxBurstGbps', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:SetDdosMaxBurstGbps', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetEdgeContainerApp', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerApp', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteImageTransform', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteImageTransform', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListSites', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListSites', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteOriginProtection', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteOriginProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'StopScheduledPreloadExecution', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:StopScheduledPreloadExecution', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateScheduledPreloadExecution', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateScheduledPreloadExecution', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetHttpIncomingResponseHeaderModificationRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpIncomingResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListHttpIncomingResponseHeaderModificationRules', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListHttpIncomingResponseHeaderModificationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetEdgeContainerAppResourceStatus', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerAppResourceStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetSiteOriginClientCertificate', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSiteOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteHttpRequestHeaderModificationRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateOriginPool', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateOriginPool', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateWafRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateWafRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListNetworkOptimizations', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListNetworkOptimizations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'PurchaseRatePlan', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:PurchaseRatePlan', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'PreloadCaches', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:PreloadCaches', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateVideoProcessing', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateVideoProcessing', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateCacheRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateCacheRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetCustomResponseCodeRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCustomResponseCodeRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeUrlObservationData', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeUrlObservationData', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetEdgeContainerAppVersion', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerAppVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteHttpIncomingResponseHeaderModificationRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpIncomingResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListOriginCaCertificates', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListOriginCaCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateSite', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateSite', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetWafFilter', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetWafFilter', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListInstanceQuotasWithUsage', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListInstanceQuotasWithUsage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateHttpIncomingResponseHeaderModificationRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateHttpIncomingResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'BatchDeleteKv', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:BatchDeleteKv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteClientCaCertificate', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteClientCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateRoutineRelatedRecord', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateRoutineRelatedRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'SetCertificate', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:SetCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetEdgeContainerStagingDeployStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerStagingDeployStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListClientCertificates', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListClientCertificates', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetWafRuleset', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetWafRuleset', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetOriginClientCertificate', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetOriginProtection', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UploadOriginCaCertificate', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UploadOriginCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'SetHttpDDoSAttackProtection', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:SetHttpDDoSAttackProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'RollbackEdgeContainerAppVersion', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:RollbackEdgeContainerAppVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'CreateRoutine', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateRoutine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetSiteNameExclusive', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSiteNameExclusive', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetKvNamespace', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetKvNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetRecord', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListLoadBalancerRegions', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListLoadBalancerRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetEdgeContainerAppStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetEdgeContainerAppStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeDDoSAllEventList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeDDoSAllEventList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetSiteCurrentNS', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSiteCurrentNS', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateCustomHostname', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateCustomHostname', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateCacheRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateCacheRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'BlockObject', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:BlockObject', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateRoutineCodeDeployment', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CreateRoutineCodeDeployment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'CheckUserProjectName', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:CheckUserProjectName', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetCertificate', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:GetCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetHttpsBasicConfiguration', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpsBasicConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetScheduledPreloadJob', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetScheduledPreloadJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateCompressionRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateCompressionRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'PutKvWithHighCapacity', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:PutKvWithHighCapacity', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'CreateHttpsBasicConfiguration', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateHttpsBasicConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetRoutine', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetRoutine', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ApplyCertificate', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:ApplyCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetCnameFlattening', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetCnameFlattening', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteSite', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteSite', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetSiteLogDeliveryQuota', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetSiteLogDeliveryQuota', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateHttpResponseHeaderModificationRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateHttpResponseHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateLoadBalancer', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateLoadBalancer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateWaitingRoomRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateWaitingRoomRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListRoutineCodeVersions', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListRoutineCodeVersions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'CreateOriginProtection', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateOriginProtection', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListSiteRoutes', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListSiteRoutes', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetSite', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSite', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetHttpRequestHeaderModificationRule', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetHttpRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateHttpsApplicationConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateHttpsApplicationConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteKv', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteKv', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListHttpsBasicConfigurations', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListHttpsBasicConfigurations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateClientCertificate', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ApplyCustomHostnameCertificate', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:ApplyCustomHostnameCertificate', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'BatchCreateWafRules', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:BatchCreateWafRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'TagResources', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateUserDeliveryTaskStatus', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateUserDeliveryTaskStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetLoadBalancer', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetLoadBalancer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateTieredCache', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateTieredCache', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UploadClientCaCertificate', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:UploadClientCaCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateLoadBalancer', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateLoadBalancer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetSiteDeliveryTask', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetSiteDeliveryTask', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetSiteWafSettings', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetSiteWafSettings', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteSiteOriginClientCertificate', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteSiteOriginClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateCustomResponseCodeRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateCustomResponseCodeRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateWaitingRoom', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateWaitingRoom', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'BatchCreateRecords', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:BatchCreateRecords', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListESAIPInfo', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListESAIPInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeKvAccountStatus', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeKvAccountStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdatePage', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdatePage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateSitePause', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateSitePause', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateOriginRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateOriginRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribePreloadTasks', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribePreloadTasks', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'GetPage', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetPage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateUserDeliveryTask', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateUserDeliveryTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListRoutineRelatedRecords', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListRoutineRelatedRecords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateWaitingRoomEvent', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateWaitingRoomEvent', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeDDoSBpsList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:DescribeDDoSBpsList', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateTransportLayerApplication', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateTransportLayerApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListWaitingRoomRules', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:ListWaitingRoomRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListScheduledPreloadExecutions', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListScheduledPreloadExecutions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetClientCertificate', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetClientCertificate', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListTagResources', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListWafRules', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWafRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListEdgeContainerAppImageSecrets', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:ListEdgeContainerAppImageSecrets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DescribeEdgeContainerAppStats', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DescribeEdgeContainerAppStats', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetOriginClientCertificateHostnames', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:GetOriginClientCertificateHostnames', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteEdgeContainerApp', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteEdgeContainerApp', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateUserWafRuleset', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:UpdateUserWafRuleset', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateRewriteUrlRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateRewriteUrlRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateCustomScenePolicy', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateCustomScenePolicy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'ListCustomResponseCodeRules', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListCustomResponseCodeRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreatePage', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreatePage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'GetSiteCustomLog', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:GetSiteCustomLog', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateImageTransform', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateImageTransform', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'PublishEdgeContainerAppVersion', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:PublishEdgeContainerAppVersion', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'CreateHttpIncomingRequestHeaderModificationRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateHttpIncomingRequestHeaderModificationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'BatchGetExpressionFields', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'esa:BatchGetExpressionFields', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'ListWafTemplateRules', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'esa:ListWafTemplateRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteRoutineRelatedRecord', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'esa:DeleteRoutineRelatedRecord', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'CreateScheduledPreloadExecutions', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'esa:CreateScheduledPreloadExecutions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'All Resource', + 'arn' => '*', + ], + ], + ], + ], + [ + 'apiName' => 'DeleteHttpsBasicConfiguration', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'esa:DeleteHttpsBasicConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateHttpsBasicConfiguration', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateHttpsBasicConfiguration', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + [ + 'apiName' => 'UpdateOriginRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'esa:UpdateOriginRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + [ + 'validationType' => 'always', + 'product' => 'ESA', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + ], + ], + ], + ], + 'resourceTypes' => [ + [ + 'validationType' => 'always', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/{#SiteId}', + ], + [ + 'validationType' => 'always', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:', + ], + [ + 'validationType' => 'always', + 'resourceType' => 'List', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:', + ], + [ + 'validationType' => 'always', + 'resourceType' => 'Site', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:site/*', + ], + [ + 'validationType' => 'always', + 'resourceType' => 'Page', + 'arn' => 'acs:esa:{#regionId}:{#accountId}:', + ], + ], + ], +]; -- cgit v1.2.3