diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/en_us/sae | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/en_us/sae')
| -rw-r--r-- | data/en_us/sae/2019-05-06/api-docs.php | 54428 |
1 files changed, 23320 insertions, 31108 deletions
diff --git a/data/en_us/sae/2019-05-06/api-docs.php b/data/en_us/sae/2019-05-06/api-docs.php index dd4a911..b2bde2b 100644 --- a/data/en_us/sae/2019-05-06/api-docs.php +++ b/data/en_us/sae/2019-05-06/api-docs.php @@ -1,4032 +1,1762 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'ROA', - 'product' => 'sae', - 'version' => '2019-05-06', - ], + 'info' => ['style' => 'ROA', 'product' => 'sae', 'version' => '2019-05-06'], 'directories' => [ [ - 'id' => 194111, - 'title' => 'Service opening', + 'children' => ['OpenSaeService'], 'type' => 'directory', - 'children' => [ - 'OpenSaeService', - ], + 'title' => 'Service activation', ], [ - 'id' => 194101, - 'title' => 'Common Service Management', - 'type' => 'directory', 'children' => [ [ - 'id' => 121181, - 'title' => 'Namespaces and VPCs', + 'children' => ['CreateIngress', 'DeleteIngress', 'UpdateNamespaceVpc', 'UpdateApplicationVswitches', 'UpdateIngress', 'DescribeNamespaces', 'DescribeNamespaceList', 'ListAppEvents', 'ListNamespaceChangeOrders', 'DescribeNamespaceResources', 'DescribeIngress', 'ListIngresses', 'DescribePipeline'], 'type' => 'directory', - 'children' => [ - 'CreateNamespace', - 'CreateIngress', - 'DeleteNamespace', - 'DeleteIngress', - 'UpdateNamespace', - 'UpdateNamespaceVpc', - 'UpdateApplicationVswitches', - 'UpdateIngress', - 'DescribeNamespace', - 'DescribeNamespaces', - 'DescribeNamespaceList', - 'ListAppEvents', - 'ListNamespaceChangeOrders', - 'DescribeNamespaceResources', - 'DescribeIngress', - 'ListIngresses', - 'DescribePipeline', - ], - ], - [ - 'id' => 194112, - 'title' => 'Overview Page TOP N Monitoring', + 'title' => 'Namespaces and vPCs', + ], + [ + 'children' => ['GetArmsTopNMetric', 'GetChangeOrderMetric', 'GetWarningEventMetric'], 'type' => 'directory', - 'children' => [ - 'GetArmsTopNMetric', - 'GetChangeOrderMetric', - 'GetScaleAppMetric', - 'GetWarningEventMetric', - ], + 'title' => 'Overview page top N monitoring', ], ], + 'type' => 'directory', + 'title' => 'General service management', ], [ - 'id' => 194092, - 'title' => 'Microservice applications', - 'type' => 'directory', 'children' => [ [ - 'id' => 121212, - 'title' => 'Application Lifecycle', - 'type' => 'directory', - 'children' => [ - 'CreateApplication', - 'DeleteApplication', - 'DeleteInstances', - 'StopApplication', - 'StartApplication', - 'ReduceApplicationCapacityByInstanceIds', - 'UpdateApplicationDescription', - 'UpdateAppSecurityGroup', - 'DescribeApplicationStatus', - 'ListChangeOrders', - 'DescribeChangeOrder', - 'DescribeInstanceSpecifications', - 'DeployApplication', - 'RescaleApplicationVertically', - 'ConfirmPipelineBatch', - 'AbortAndRollbackChangeOrder', - 'RescaleApplication', - 'RestartApplication', - 'AbortChangeOrder', - 'RollbackApplication', - 'BatchStopApplications', - 'BatchStartApplications', - 'DowngradeApplicationApmService', - 'UpgradeApplicationApmService', - ], - ], - [ - 'id' => 121236, - 'title' => 'List of Microservices', + 'children' => ['StopApplication', 'StartApplication', 'ReduceApplicationCapacityByInstanceIds', 'UpdateApplicationDescription', 'UpdateAppSecurityGroup', 'DescribeApplicationStatus', 'ListChangeOrders', 'DescribeChangeOrder', 'DescribeInstanceSpecifications', 'DeployApplication', 'RescaleApplicationVertically', 'ConfirmPipelineBatch', 'AbortAndRollbackChangeOrder', 'RestartApplication', 'AbortChangeOrder', 'BatchStopApplications', 'BatchStartApplications', 'DowngradeApplicationApmService', 'UpgradeApplicationApmService'], 'type' => 'directory', - 'children' => [ - 'ListConsumedServices', - 'ListPublishedServices', - 'ListAppServices', - ], + 'title' => 'Application lifecycle', ], [ - 'id' => 194113, - 'title' => 'confidential dictionary management', + 'children' => ['ListConsumedServices', 'ListPublishedServices', 'ListAppServices'], 'type' => 'directory', - 'children' => [ - 'CreateSecret', - 'DescribeSecret', - 'ListSecrets', - 'UpdateSecret', - 'DeleteSecret', - ], + 'title' => 'Microservice list', ], [ - 'id' => 121239, - 'title' => 'Label Management', + 'children' => ['CreateConfigMap', 'DeleteConfigMap', 'UpdateConfigMap', 'DescribeConfigMap', 'ListNamespacedConfigMaps'], 'type' => 'directory', - 'children' => [ - 'ListTagResources', - 'UntagResources', - 'TagResources', - ], + 'title' => 'Configuration item management', ], [ - 'id' => 194102, - 'title' => 'Configuration Item Management', + 'children' => ['CreateGreyTagRoute', 'DeleteGreyTagRoute', 'UpdateGreyTagRoute', 'DescribeGreyTagRoute', 'ListGreyTagRoute'], 'type' => 'directory', - 'children' => [ - 'CreateConfigMap', - 'DeleteConfigMap', - 'UpdateConfigMap', - 'DescribeConfigMap', - 'ListNamespacedConfigMaps', - ], + 'title' => 'Canary release tag routing', ], [ - 'id' => 121168, - 'title' => 'Grayscale Label Routing', + 'children' => ['CreateOrUpdateSwimmingLaneGroup', 'CreateOrUpdateSwimmingLane', 'ListApplicationsForSwimmingLane', 'ListSwimmingLaneGatewayRoutes', 'ListSwimmingLaneGroupTags', 'DescribeSwimmingLane', 'ListAllSwimmingLanes', 'ListAllSwimmingLaneGroups', 'DeleteSwimmingLaneGroup', 'UpdateSwimmingLaneEnableAttribute'], 'type' => 'directory', - 'children' => [ - 'CreateGreyTagRoute', - 'DeleteGreyTagRoute', - 'UpdateGreyTagRoute', - 'DescribeGreyTagRoute', - 'ListGreyTagRoute', - ], + 'title' => 'End-to-end canary release', ], [ - 'id' => 207429, - 'title' => 'End-to-End Canary Release', + 'children' => ['DescribeApplicationConfig', 'DescribeInstanceLog', 'DescribeComponents', 'DescribeEdasContainers', 'DescribeApplicationImage', 'DescribeApplicationInstances', 'DescribeApplicationGroups', 'QueryResourceStatics', 'ListLogConfigs', 'RestartInstances', 'GetAvailabilityMetric', 'DescribeAppServiceDetail', 'ListAppServicesPage'], 'type' => 'directory', - 'children' => [ - 'CreateOrUpdateSwimmingLaneGroup', - 'CreateOrUpdateSwimmingLane', - 'ListApplicationsForSwimmingLane', - 'ListSwimmingLaneGatewayRoutes', - 'ListSwimmingLaneGroupTags', - 'DescribeSwimmingLane', - 'ListAllSwimmingLanes', - 'ListAllSwimmingLaneGroups', - 'DeleteSwimmingLaneGroup', - 'UpdateSwimmingLaneEnableAttribute', - ], - ], - [ - 'id' => 121198, - 'title' => 'Application Information Query', - 'type' => 'directory', - 'children' => [ - 'GetApplication', - 'DescribeApplicationConfig', - 'DescribeRegions', - 'DescribeInstanceLog', - 'DescribeComponents', - 'DescribeEdasContainers', - 'DescribeApplicationImage', - 'DescribeApplicationInstances', - 'DescribeApplicationGroups', - 'ListApplications', - 'QueryResourceStatics', - 'ListLogConfigs', - 'ListAppVersions', - 'RestartInstances', - 'GetAvailabilityMetric', - 'DescribeAppServiceDetail', - 'ListAppServicesPage', - ], - ], - [ - 'id' => 121232, - 'title' => 'SLB Management', + 'title' => 'Application information query', + ], + [ + 'children' => ['DescribeApplicationNlbs', 'BindNlb', 'DescribeApplicationSlbs', 'BindSlb', 'UnbindSlb', 'UnbindNlb'], 'type' => 'directory', - 'children' => [ - 'DescribeApplicationNlbs', - 'BindNlb', - 'DescribeApplicationSlbs', - 'BindSlb', - 'UnbindSlb', - 'UnbindNlb', - ], + 'title' => 'SLB management', ], [ - 'id' => 121174, - 'title' => 'Apply scaling rules', + 'children' => ['CreateApplicationScalingRule', 'DeleteApplicationScalingRule', 'DisableApplicationScalingRule', 'EnableApplicationScalingRule', 'UpdateApplicationScalingRule', 'DescribeApplicationScalingRule', 'DescribeApplicationScalingRules'], 'type' => 'directory', - 'children' => [ - 'CreateApplicationScalingRule', - 'DeleteApplicationScalingRule', - 'DisableApplicationScalingRule', - 'EnableApplicationScalingRule', - 'UpdateApplicationScalingRule', - 'DescribeApplicationScalingRule', - 'DescribeApplicationScalingRules', - ], + 'title' => 'Application scaling rules', ], ], + 'type' => 'directory', + 'title' => 'Microservice applications', ], [ - 'id' => 194093, - 'title' => 'Web Application', - 'type' => 'directory', 'children' => [ [ - 'id' => 194094, - 'title' => 'Application Control', - 'type' => 'directory', - 'children' => [ - 'CreateWebApplication', - 'DescribeWebApplication', - 'ListWebApplications', - 'UpdateWebApplication', - 'DeleteWebApplication', - ], - ], - [ - 'id' => 194095, - 'title' => 'Application Operation and Management', - 'type' => 'directory', - 'children' => [ - 'UpdateWebApplicationScalingConfig', - 'DescribeWebApplicationScalingConfig', - 'StopWebApplication', - 'StartWebApplication', - ], - ], - [ - 'id' => 194096, - 'title' => 'Traffic Management', - 'type' => 'directory', - 'children' => [ - 'UpdateWebApplicationTrafficConfig', - 'DescribeWebApplicationTrafficConfig', - ], - ], - [ - 'id' => 194097, - 'title' => 'Version Management', + 'children' => ['ListWebApplicationInstances'], 'type' => 'directory', - 'children' => [ - 'PublishWebApplicationRevision', - 'ListWebApplicationRevisions', - 'DescribeWebApplicationRevision', - 'DeleteWebApplicationRevision', - ], - ], - [ - 'id' => 194098, - 'title' => 'Custom Domain Name', - 'type' => 'directory', - 'children' => [ - 'CreateWebCustomDomain', - 'DescribeWebCustomDomain', - 'ListWebCustomDomains', - 'UpdateWebCustomDomain', - 'DeleteWebCustomDomain', - ], - ], - [ - 'id' => 194099, - 'title' => 'Observable', - 'type' => 'directory', - 'children' => [ - 'ListWebApplicationInstances', - 'DescribeWebInstanceLogs', - 'DescribeWebApplicationResourceStatics', - ], + 'title' => 'Observability', ], ], + 'type' => 'directory', + 'title' => 'Web applications', ], [ - 'id' => 194100, - 'title' => 'Job Task', + 'children' => ['DeleteHistoryJob', 'DescribeJobStatus', 'DescribeJob', 'ExecJob', 'SuspendJob', 'DescribeJobHistory'], 'type' => 'directory', - 'children' => [ - 'CreateJob', - 'DeleteHistoryJob', - 'DeleteJob', - 'DescribeJobStatus', - 'DescribeJob', - 'ExecJob', - 'ListJobs', - 'SuspendJob', - 'UpdateJob', - 'DescribeJobHistory', - ], + 'title' => 'Job tasks', ], [ - 'id' => 179283, - 'title' => 'Other', - 'type' => 'directory', 'children' => [ - 'DescribeConfigurationPrice', - 'GetWebshellToken', - 'UpdateAppMode', - 'QueryArmsEnable', - 'DescribeApplicationMseService', - 'BatchRestartApplications', - 'UpdateNamespaceSlsConfigs', - 'DisableArms', - 'ResumeTraffic', - 'SuspendTraffic', - 'ListApplicationCenterServiceInstances', + 'DescribeConfigurationPrice', 'GetWebshellToken', 'UpdateAppMode', 'QueryArmsEnable', 'DescribeApplicationMseService', 'BatchRestartApplications', 'UpdateNamespaceSlsConfigs', 'DisableArms', 'ResumeTraffic', 'SuspendTraffic', 'CreateApplication', 'CreateJob', 'CreateNamespace', 'CreateSecret', 'CreateWebApplication', 'CreateWebCustomDomain', 'DeleteApplication', 'DeleteInstances', 'DeleteJob', 'DeleteNamespace', + 'DeleteSecret', 'DeleteWebApplication', 'DeleteWebApplicationRevision', 'DeleteWebCustomDomain', 'DescribeNamespace', 'DescribeRegions', 'DescribeSecret', 'DescribeWebApplication', 'DescribeWebApplicationResourceStatics', 'DescribeWebApplicationRevision', 'DescribeWebApplicationScalingConfig', 'DescribeWebApplicationTrafficConfig', 'DescribeWebCustomDomain', 'DescribeWebInstanceLogs', 'GetApplication', 'GetScaleAppMetric', 'ListAppVersions', 'ListApplications', 'ListJobs', 'ListSecrets', + 'ListTagResources', 'ListWebApplicationRevisions', 'ListWebApplications', 'ListWebCustomDomains', 'PublishWebApplicationRevision', 'RescaleApplication', 'RollbackApplication', 'StartWebApplication', 'StopWebApplication', 'TagResources', 'UntagResources', 'UpdateJob', 'UpdateNamespace', 'UpdateSecret', 'UpdateWebApplication', 'UpdateWebApplicationScalingConfig', 'UpdateWebApplicationTrafficConfig', 'UpdateWebCustomDomain', ], + 'type' => 'directory', + 'title' => 'Others', ], ], 'components' => [ 'schemas' => [ 'Container' => [ 'title' => 'TODO', - 'description' => 'The detailed configuration parameters of the container.'."\n", - 'visibility' => 'Public', + 'description' => 'Detailed container configuration parameters.', 'type' => 'object', 'properties' => [ - 'Args' => [ - 'title' => 'The configurations of monitoring and collection.'."\n", - 'description' => 'The startup parameters of the container.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '["abc", ">", "file0"]', - 'backendName' => 'args', - ], - 'Command' => [ - 'title' => '', - 'description' => 'The startup command of the container.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '["/bin/sh"]', - 'backendName' => 'command', - ], + 'Args' => ['title' => '容器启动参数', 'description' => 'Container startup arguments.', 'type' => 'string', 'required' => false, 'example' => '["abc", ">", "file0"]'], + 'Command' => ['title' => '容器启动命令', 'description' => 'Container start command.', 'type' => 'string', 'required' => false, 'example' => '["/bin/sh"]'], 'EnvironmentVariables' => [ - 'title' => '', - 'description' => 'The container environment variables.', - 'visibility' => 'Public', + 'title' => '容器环境变量', + 'description' => 'Container environment variables.', 'type' => 'object', 'required' => false, - 'additionalProperties' => [ - 'description' => 'The container environment variable.', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'test:aaa', - ], - 'backendName' => 'environmentVariables', - ], - 'Image' => [ - 'title' => '', - 'description' => 'The container image.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => 'registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx', - 'backendName' => 'image', - ], - 'WebNASConfig' => [ - 'title' => '', - 'description' => 'The container NAS configuration.', - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webNASConfig', - '$ref' => '#/components/schemas/WebNASConfig', - ], - 'WebOSSConfig' => [ - 'title' => '', - 'description' => 'The container OSS mount configuration.', - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webOSSConfig', - '$ref' => '#/components/schemas/WebOSSConfig', - ], - 'Port' => [ - 'title' => '', - 'description' => 'The port of the container.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - 'backendName' => 'port', - ], - 'RequestConcurrency' => [ - 'title' => '', - 'description' => 'The number of concurrent requests on a single instance.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - 'backendName' => 'requestConcurrency', - ], - 'RequestTimeout' => [ - 'title' => '', - 'description' => 'The timeout period of the container request.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - 'backendName' => 'requestTimeout', - ], - 'Resources' => [ - 'title' => '', - 'description' => 'The configurations of the container resources.'."\n", - 'visibility' => 'Public', - 'required' => true, - 'backendName' => 'resources', - '$ref' => '#/components/schemas/ContainerResources', - ], - 'StartupProbe' => [ - 'title' => '', - 'description' => 'The container startup check configuration.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'startupProbe', - '$ref' => '#/components/schemas/StartupProbe', - ], - 'SLSCollectConfigs' => [ - 'title' => '', - 'description' => 'The configuration of container log collection.'."\n", - 'visibility' => 'Public', - 'backendName' => 'slsCollectConfigs', - '$ref' => '#/components/schemas/SLSCollectConfigs', - ], - 'MetricsCollectConfig' => [ - 'title' => '', - 'description' => 'The configuration for collecting monitoring records.', - 'visibility' => 'Public', - 'backendName' => 'metricsCollectConfig', - '$ref' => '#/components/schemas/MetricsCollectConfig', - ], - 'ImageRegistryConfig' => [ - 'title' => '', - 'description' => 'The configuration of the image repository.', - 'visibility' => 'Public', - 'backendName' => 'imageRegistryConfig', - '$ref' => '#/components/schemas/ImageRegistryConfig', + 'additionalProperties' => ['description' => 'Container environment variable.', 'type' => 'string', 'example' => 'test:aaa', 'title' => ''], + 'example' => '', ], + 'Image' => ['title' => '容器镜像', 'description' => 'Container image.', 'type' => 'string', 'required' => true, 'example' => 'registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx'], + 'WebNASConfig' => ['title' => '容器 NAS配置', 'description' => 'Container NAS configuration.', 'required' => false, '$ref' => '#/components/schemas/WebNASConfig', 'example' => ''], + 'WebOSSConfig' => ['title' => '容器 OSS 挂载配置', 'description' => 'Container OSS mount configuration.', 'required' => false, '$ref' => '#/components/schemas/WebOSSConfig', 'example' => ''], + 'Port' => ['title' => '容器端口', 'description' => 'Container port.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080'], + 'RequestConcurrency' => ['title' => '单实例并发请求数', 'description' => 'Maximum concurrent requests per instance.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], + 'RequestTimeout' => ['title' => '容器请求超时时间', 'description' => 'Container request timeout, in seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '60'], + 'Resources' => ['title' => '容器资源配置', 'description' => 'Container resource configuration.', 'required' => true, '$ref' => '#/components/schemas/ContainerResources', 'example' => ''], + 'StartupProbe' => ['title' => '容器启动检查配置', 'description' => 'Container startup probe configuration.', 'required' => false, '$ref' => '#/components/schemas/StartupProbe', 'example' => ''], + 'SLSCollectConfigs' => ['title' => '容器日志采集配置', 'description' => 'Container log collection configuration.', '$ref' => '#/components/schemas/SLSCollectConfigs', 'example' => ''], + 'MetricsCollectConfig' => ['title' => '监控采集配置', 'description' => 'Monitoring collection configuration.', '$ref' => '#/components/schemas/MetricsCollectConfig', 'example' => ''], + 'ImageRegistryConfig' => ['title' => '镜像仓库配置', 'description' => 'Image repository configuration.', '$ref' => '#/components/schemas/ImageRegistryConfig', 'example' => ''], ], + 'example' => '', ], 'ContainerResources' => [ 'title' => 'TODO', 'description' => 'The configurations of the container resources.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Cpu' => [ - 'title' => '', - 'description' => 'The CPU specifications that are required for each instance. Unit: millicore. This parameter cannot be set to 0. Valid values:'."\n" - ."\n" - .'* **500**'."\n" - .'* **1000**'."\n" - .'* **2000**'."\n" - .'* **4000**'."\n" - .'* **8000**'."\n" - .'* **16000**'."\n" - .'* **32000**'."\n", - 'visibility' => 'Public', - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '2', - 'backendName' => 'cpu', - ], - 'Memory' => [ - 'title' => '', - 'description' => 'The memory size that is required for each instance. Unit: MB. This parameter cannot be set to 0. The values of this parameter correspond to the values of the CPU parameter:'."\n" - ."\n" - .'* This parameter is set to **1024** if the CPU parameter is set to 500 or 1000.'."\n" - .'* This parameter is set to **2048** if the CPU parameter is set to 500, 1000, or 2000.'."\n" - .'* This parameter is set to **4096** if the CPU parameter is set to 1000, 2000, or 4000.'."\n" - .'* This parameter is set to **8192** if the CPU parameter is set to 2000, 4000, or 8000.'."\n" - .'* This parameter is set to **12288** if the CPU parameter is set to 12000.'."\n" - .'* This parameter is set to **16384** if the CPU parameter is set to 4000, 8000, or 16000.'."\n" - .'* This parameter is set to **24576** if the CPU parameter is set to 12000.'."\n" - .'* This parameter is set to **32768** if the CPU parameter is set to 16000.'."\n" - .'* This parameter is set to **65536** if the CPU parameter is set to 8000, 16000, or 32000.'."\n" - .'* This parameter is set to **131072** if the CPU parameter is set to 32000.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '2048', - 'backendName' => 'memory', - ], + 'Cpu' => ['title' => '容器CPU大小', 'description' => 'The CPU specifications that are required for each instance. Unit: millicore. This parameter cannot be set to 0. Valid values:'."\n" + ."\n" + .'* **500**'."\n" + .'* **1000**'."\n" + .'* **2000**'."\n" + .'* **4000**'."\n" + .'* **8000**'."\n" + .'* **16000**'."\n" + .'* **32000**'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1000', 'visibility' => 'Public', 'backendName' => 'cpu'], + 'Memory' => ['title' => '容器内存大小', 'description' => 'The memory size that is required for each instance. Unit: MB. This parameter cannot be set to 0. The values of this parameter correspond to the values of the CPU parameter:'."\n" + ."\n" + .'* This parameter is set to **1024** if the CPU parameter is set to 500 or 1000.'."\n" + .'* This parameter is set to **2048** if the CPU parameter is set to 500, 1000, or 2000.'."\n" + .'* This parameter is set to **4096** if the CPU parameter is set to 1000, 2000, or 4000.'."\n" + .'* This parameter is set to **8192** if the CPU parameter is set to 2000, 4000, or 8000.'."\n" + .'* This parameter is set to **12288** if the CPU parameter is set to 12000.'."\n" + .'* This parameter is set to **16384** if the CPU parameter is set to 4000, 8000, or 16000.'."\n" + .'* This parameter is set to **24576** if the CPU parameter is set to 12000.'."\n" + .'* This parameter is set to **32768** if the CPU parameter is set to 16000.'."\n" + .'* This parameter is set to **65536** if the CPU parameter is set to 8000, 16000, or 32000.'."\n" + .'* This parameter is set to **131072** if the CPU parameter is set to 32000.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2048', 'visibility' => 'Public', 'backendName' => 'memory'], ], + 'visibility' => 'Public', + 'example' => '', ], 'CreateWebApplicationInput' => [ 'title' => 'TODO', 'description' => 'The application details.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'ApplicationName' => [ - 'title' => '', - 'description' => 'The name of the application.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => 'sae-app', - 'maxLength' => 128, - 'minLength' => 1, - 'backendName' => 'applicationName', - ], - 'Description' => [ - 'title' => '', - 'description' => 'The description of the application.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'my sae app', - 'maxLength' => 256, - 'backendName' => 'description', - ], - 'RevisionConfig' => [ - 'title' => '', - 'description' => 'The configuration on the application revision.'."\n", - 'visibility' => 'Public', - 'required' => true, - 'backendName' => 'revisionConfig', - '$ref' => '#/components/schemas/RevisionConfig', - ], - 'WebNetworkConfig' => [ - 'title' => '', - 'description' => 'The network configurations.'."\n" - ."\n" - .'> This field is used to configure network for the application.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webNetworkConfig', - '$ref' => '#/components/schemas/WebNetworkConfig', - ], - 'WebScalingConfig' => [ - 'title' => '', - 'description' => 'The scaling configurations of the applications.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webScalingConfig', - '$ref' => '#/components/schemas/WebScalingConfig', - ], - 'WebTrafficConfig' => [ - 'title' => '', - 'description' => 'The traffic configurations of the applications.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webTrafficConfig', - '$ref' => '#/components/schemas/WebTrafficConfig', - ], + 'ApplicationName' => ['title' => '应用名称', 'description' => 'The name of the application.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sae-app', 'maxLength' => 128, 'minLength' => 1], + 'Description' => ['title' => '应用描述', 'description' => 'The description of the application.'."\n", 'type' => 'string', 'required' => false, 'example' => 'my sae app', 'maxLength' => 256], + 'RevisionConfig' => ['title' => '应用修订版本上的配置', 'description' => 'The configuration on the application revision.'."\n", 'required' => true, '$ref' => '#/components/schemas/RevisionConfig', 'example' => ''], + 'WebNetworkConfig' => ['title' => '应用网络配置', 'description' => 'The network configurations.'."\n" + ."\n" + .'> This field is used to configure network for the application.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebNetworkConfig', 'example' => ''], + 'WebScalingConfig' => ['title' => '应用弹性伸缩配置', 'description' => 'The scaling configurations of the applications.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebScalingConfig', 'example' => ''], + 'WebTrafficConfig' => ['title' => '应用流量配置', 'description' => 'The traffic configurations of the applications.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebTrafficConfig', 'example' => ''], ], + 'example' => '', ], 'CreateWebCustomDomainInput' => [ - 'title' => '', + 'title' => '创建自定义域名的请求参数', 'description' => 'The request parameters for creating a custom domain name.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'WebCertConfig' => [ - 'title' => '', - 'description' => 'The information about the HTTPS certificate.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webCertConfig', - '$ref' => '#/components/schemas/WebCertConfig', - ], - 'DefaultForwardingAppName' => [ - 'title' => '', - 'description' => 'The name of the application to which data is forwarded by the domain name by default.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'demo-app', - 'backendName' => 'defaultForwardingAppName', - ], - 'DomainName' => [ - 'title' => '', - 'description' => 'The domain name. Enter a custom domain name that has obtained an Internet content provider (ICP) filing in the Alibaba Cloud ICP Filing system, or a custom domain name whose ICP filing information includes Alibaba Cloud as a service provider.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - 'maxLength' => 256, - 'minLength' => 1, - 'backendName' => 'domainName', - ], - 'Protocol' => [ - 'title' => '', - 'description' => 'The protocol type that is supported by the custom domain name. Valid values:'."\n" - ."\n" - .'* **HTTP**: Only HTTP is supported.'."\n" - .'* **HTTPS**: Only HTTPS is supported.'."\n" - .'* **HTTP,HTTPS**: Both HTTP and HTTPS are supported.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - 'backendName' => 'protocol', - ], - 'WebTLSConfig' => [ - 'title' => '', - 'description' => 'The Transport Layer Security (TLS) configurations.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webTLSConfig', - '$ref' => '#/components/schemas/WebTLSConfig', - ], - 'WebWAFConfig' => [ - 'title' => '', - 'description' => 'The Web Application Firewall (WAF) configurations.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webWAFConfig', - '$ref' => '#/components/schemas/WebWAFConfig', - ], - 'RouteConfig' => [ - 'title' => '', - 'description' => 'The route configurations.'."\n", - 'visibility' => 'Public', - 'backendName' => 'routeConfig', - '$ref' => '#/components/schemas/RouteConfig', - ], + 'WebCertConfig' => ['title' => 'HTTPS证书的信息。', 'description' => 'The information about the HTTPS certificate.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebCertConfig', 'visibility' => 'Public', 'backendName' => 'webCertConfig', 'example' => ''], + 'DefaultForwardingAppName' => ['title' => '域名默认转发的应用名', 'description' => 'The name of the application to which data is forwarded by the domain name by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'demo-app', 'visibility' => 'Public', 'backendName' => 'defaultForwardingAppName'], + 'DomainName' => ['title' => '域名。填写已在阿里云备案或接入备案的自定义域名名称。', 'description' => 'The domain name. Enter a custom domain name that has obtained an Internet content provider (ICP) filing in the Alibaba Cloud ICP Filing system, or a custom domain name whose ICP filing information includes Alibaba Cloud as a service provider.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com', 'maxLength' => 256, 'minLength' => 1, 'visibility' => 'Public', 'backendName' => 'domainName'], + 'Protocol' => ['title' => '域名支持的协议类型。HTTP:仅支持HTTP协议。HTTPS:仅支持HTTPS协议。HTTP,HTTPS:支持HTTP及HTTPS协议。', 'description' => 'The protocol type that is supported by the custom domain name. Valid values:'."\n" + ."\n" + .'* **HTTP**: Only HTTP is supported.'."\n" + .'* **HTTPS**: Only HTTPS is supported.'."\n" + .'* **HTTP,HTTPS**: Both HTTP and HTTPS are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'visibility' => 'Public', 'backendName' => 'protocol'], + 'WebTLSConfig' => ['title' => 'TLS配置信息。', 'description' => 'The Transport Layer Security (TLS) configurations.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebTLSConfig', 'visibility' => 'Public', 'backendName' => 'webTLSConfig', 'example' => ''], + 'WebWAFConfig' => ['title' => 'Web应用防火墙配置信息。', 'description' => 'The Web Application Firewall (WAF) configurations.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebWAFConfig', 'visibility' => 'Public', 'backendName' => 'webWAFConfig', 'example' => ''], + 'RouteConfig' => ['title' => '路由配置', 'description' => 'The route configurations.'."\n", '$ref' => '#/components/schemas/RouteConfig', 'visibility' => 'Public', 'backendName' => 'routeConfig', 'example' => ''], ], + 'visibility' => 'Public', + 'example' => '', ], 'DescribeInstanceLogsOutput' => [ - 'title' => '', + 'title' => '应用实例日志信息', 'description' => 'The logs of the application instance.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'WebLogEntrys' => [ 'title' => 'TODO', 'description' => 'The log entries.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The detailed log entry.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/WebLogEntry', - ], + 'items' => ['description' => 'The detailed log entry.'."\n", '$ref' => '#/components/schemas/WebLogEntry', 'visibility' => 'Public', 'extendType' => 'true', 'title' => '', 'example' => ''], 'required' => false, + 'visibility' => 'Public', 'backendName' => 'webLogEntrys', + 'example' => '', ], ], + 'visibility' => 'Public', + 'example' => '', ], 'DescribeWebAppStaticsOutput' => [ - 'title' => '', + 'title' => '应用资源用量统计信息', 'description' => 'The statistics of application resource usage.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Length' => [ - 'title' => 'TODO', - 'description' => 'The maximum number of entries returned.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - 'backendName' => 'length', - ], + 'Length' => ['title' => 'TODO', 'description' => 'The maximum number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], 'WebAppStatics' => [ 'title' => 'TODO', 'description' => 'The static resources in the web application.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The application statistics.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/WebStaticsInfo', - ], + 'items' => ['description' => 'The application statistics.'."\n", '$ref' => '#/components/schemas/WebStaticsInfo', 'title' => '', 'example' => ''], 'required' => false, - 'backendName' => 'webAppStatics', + 'example' => '', ], ], + 'example' => '', ], 'DescribeWebStaticsQueryOutput' => [ - 'title' => '', + 'title' => '应用资源用量统计信息', 'description' => 'The statistics of application resource usage.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Length' => [ - 'title' => 'TODO', - 'description' => 'The maximum number of entries returned.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - 'backendName' => 'length', - ], + 'Length' => ['title' => 'TODO', 'description' => 'The maximum number of entries returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'visibility' => 'Public', 'backendName' => 'length'], 'WebStatics' => [ 'title' => 'TODO', 'description' => 'The statistics.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The application statistics.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/WebStaticsInfo', - ], + 'items' => ['description' => 'The application statistics.'."\n", '$ref' => '#/components/schemas/WebStaticsInfo', 'visibility' => 'Public', 'extendType' => 'true', 'title' => '', 'example' => ''], 'required' => false, + 'visibility' => 'Public', 'backendName' => 'webStatics', + 'example' => '', ], ], + 'visibility' => 'Public', + 'example' => '', ], 'HTTPGetAction' => [ 'title' => 'TODO', 'description' => 'The description.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Host' => [ - 'title' => 'Host name to connect to, defaults to the pod IP. You probably want to set'."\n" - .'"Host" in httpHeaders instead.', - 'description' => 'The hostname to which you want to connect. The default value is the IP address of the pod. You may need to specify Host in HttpHeaders.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '172.22.XX.XX', - 'backendName' => 'host', - ], + 'Host' => ['title' => 'Host name to connect to, defaults to the pod IP. You probably want to set'."\n" + .'"Host" in httpHeaders instead.', 'description' => 'The hostname to which you want to connect. The default value is the IP address of the pod. You may need to specify Host in HttpHeaders.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.22.XX.XX'], 'HttpHeaders' => [ 'title' => 'Custom headers to set in the request. HTTP allows repeated headers.', 'description' => 'The custom headers that you need to specify in the request. Duplicate headers are allowed in an HTTP request.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The HTTP request header.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/HTTPHeader', - ], - 'required' => false, - 'backendName' => 'httpHeaders', - ], - 'Path' => [ - 'title' => 'Path to access on the HTTP server.', - 'description' => 'The path of a URL.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '/path1', - 'backendName' => 'path', - ], - 'Port' => [ - 'title' => 'Number of the port to access on the container.'."\n" - .'Number must be in the range 1 to 65535.', - 'description' => 'The port range. Valid values: 1 to 65535.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - 'backendName' => 'port', - ], - 'Scheme' => [ - 'title' => 'Scheme to use for connecting to the host.'."\n" - .'Defaults to HTTP.', - 'description' => 'The scheme that you want to use to connect to the host. Default value: http.'."\n", - 'visibility' => 'Public', - 'type' => 'string', + 'items' => ['description' => 'The HTTP request header.'."\n", '$ref' => '#/components/schemas/HTTPHeader', 'title' => '', 'example' => ''], 'required' => false, - 'example' => 'http', - 'backendName' => 'scheme', + 'example' => '', ], + 'Path' => ['title' => 'Path to access on the HTTP server.', 'description' => 'The path of a URL.'."\n", 'type' => 'string', 'required' => false, 'example' => '/path1'], + 'Port' => ['title' => 'Number of the port to access on the container.'."\n" + .'Number must be in the range 1 to 65535.', 'description' => 'The port range. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80'], + 'Scheme' => ['title' => 'Scheme to use for connecting to the host.'."\n" + .'Defaults to HTTP.', 'description' => 'The scheme that you want to use to connect to the host. Default value: http.'."\n", 'type' => 'string', 'required' => false, 'example' => 'http'], ], + 'example' => '', ], 'HTTPHeader' => [ 'title' => 'TODO', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'name' => [ - 'title' => 'The header field name.'."\n" - .'This will be canonicalized upon output, so case-variant names will be understood as the same header.', - 'description' => 'The header name.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'Content-Type', - 'backendName' => 'name', - ], - 'value' => [ - 'title' => 'The header field value', - 'description' => 'The header value.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'application/json', - 'backendName' => 'value', - ], + 'name' => ['title' => 'The header field name.'."\n" + .'This will be canonicalized upon output, so case-variant names will be understood as the same header.', 'description' => 'The header name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Content-Type', 'visibility' => 'Public', 'backendName' => 'name'], + 'value' => ['title' => 'The header field value', 'description' => 'The header value.'."\n", 'type' => 'string', 'required' => false, 'example' => 'application/json', 'visibility' => 'Public', 'backendName' => 'value'], ], + 'visibility' => 'Public', + 'example' => '', ], 'ImageRegistryConfig' => [ 'title' => 'A short description of struct', - 'description' => '', - 'visibility' => 'Public', + 'description' => 'The configuration of the image repository.', 'type' => 'object', 'properties' => [ - 'AuthConfig' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'backendName' => 'authConfig', - '$ref' => '#/components/schemas/RegistryAuthenticationConfig', - ], - 'CertConfig' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'backendName' => 'certConfig', - '$ref' => '#/components/schemas/RegistryCertificateConfig', - ], + 'AuthConfig' => ['title' => '镜像仓库认证配置', 'description' => 'The authentication configuration for the image repository.', 'example' => '', '$ref' => '#/components/schemas/RegistryAuthenticationConfig'], + 'CertConfig' => ['title' => '镜像仓库证书配置', 'description' => 'The certificate configuration for the image repository.', 'example' => '', '$ref' => '#/components/schemas/RegistryCertificateConfig'], ], + 'example' => '', ], 'InitContainerConfig' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', + 'title' => '初始化容器配置', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'backendName' => 'name', - ], - 'ImageUrl' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'backendName' => 'imageUrl', - ], - 'Command' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'backendName' => 'command', - ], - 'CommandArgs' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'backendName' => 'commandArgs', - ], - 'Envs' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'backendName' => 'envs', - ], - 'ConfigMapMountDesc' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'backendName' => 'configMapMountDesc', - ], - 'EmptyDirDesc' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'backendName' => 'emptyDirDesc', - ], - ], + 'Name' => ['title' => '容器名称', 'description' => 'Container name.', 'type' => 'string', 'example' => 'name'], + 'ImageUrl' => ['title' => '镜像地址', 'description' => 'The address of the image registry.', 'type' => 'string', 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1'], + 'Command' => ['title' => '镜像启动命令', 'description' => 'Start command for the image.', 'type' => 'string', 'example' => 'echo'], + 'CommandArgs' => ['title' => '镜像启动命令参数', 'description' => 'Arguments for the image start command.', 'type' => 'string', 'example' => '[\\"-c\\",\\"/bin/bash /home/admin/bin/start.sh\\"]'], + 'Envs' => ['title' => '容器环境变量参数', 'description' => 'Environment variable parameters for the container.', 'type' => 'string', 'example' => '[{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}]'], + 'ConfigMapMountDesc' => ['title' => 'ConfigMap 挂载描述', 'description' => 'ConfigMap mount description.', 'type' => 'string', 'example' => '[{"configMapId":16,"key":"test","mountPath":"/tmp"}]'], + 'EmptyDirDesc' => ['title' => 'EmptyDir挂载描述', 'description' => 'EmptyDir mount description.', 'type' => 'string', 'example' => '[{\\"name\\":\\"workdir\\",\\"mountPath\\":\\"/usr/local/tomcat/webapps\\"}]'], + 'SecretMountDesc' => ['title' => 'Secret 挂载描述', 'type' => 'string', 'description' => '', 'example' => ''], + ], + 'description' => 'Initialization container configuration.', + 'example' => '', ], 'ListWebApplicationInstancesBody' => [ - 'title' => '', + 'title' => '获取应用实例列表的响应信息', 'description' => 'The queried application instances.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - 'backendName' => 'code', - ], - 'Data' => [ - 'title' => '', - 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'data', - '$ref' => '#/components/schemas/ListWebInstancesOutput', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* If the request was successful, a success message is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], - 'RequestId' => [ - 'title' => '', - 'description' => 'The ID of the request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - 'backendName' => 'requestId', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**: The request was successful.'."\n" - .'* **false**: The request failed.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'success', - ], + 'Code' => ['title' => 'HTTP 状态码', 'description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'* **2xx**: The request was successful.'."\n" + .'* **3xx**: The request was redirected.'."\n" + .'* **4xx**: The request failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'visibility' => 'Public', 'backendName' => 'code'], + 'Data' => ['title' => '调用返回数据。', 'description' => 'The response parameters.'."\n", 'required' => false, '$ref' => '#/components/schemas/ListWebInstancesOutput', 'visibility' => 'Public', 'backendName' => 'data', 'example' => ''], + 'Message' => ['title' => '调用结果的附加信息。', 'description' => 'The returned message. Valid values:'."\n" + ."\n" + .'* If the request was successful, a success message is returned.'."\n" + .'* If the request failed, an error code is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'success', 'visibility' => 'Public', 'backendName' => 'message'], + 'RequestId' => ['title' => '请求 ID。', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => false, 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'visibility' => 'Public', 'backendName' => 'requestId'], + 'Success' => ['title' => '是否成功。', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**: The request was successful.'."\n" + .'* **false**: The request failed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'success'], ], + 'visibility' => 'Public', + 'example' => '', ], 'ListWebApplicationRevisionsBody' => [ 'title' => 'TODO', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '', - 'description' => 'The HTTP status code.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - 'backendName' => 'code', - ], - 'Data' => [ - 'title' => '', - 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'data', - '$ref' => '#/components/schemas/ListWebApplicationRevisionsOutput', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], - 'RequestId' => [ - 'title' => '', - 'description' => 'The ID of the request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - 'backendName' => 'requestId', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the request was successful.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'success', - ], + 'Code' => ['title' => 'HTTP 状态码', 'description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'visibility' => 'Public', 'backendName' => 'code'], + 'Data' => ['title' => '调用返回数据。', 'description' => 'The response parameters.'."\n", 'required' => false, '$ref' => '#/components/schemas/ListWebApplicationRevisionsOutput', 'visibility' => 'Public', 'backendName' => 'data', 'example' => ''], + 'Message' => ['title' => '调用结果的附加信息。', 'description' => 'The returned message.'."\n", 'type' => 'string', 'required' => false, 'example' => 'success', 'visibility' => 'Public', 'backendName' => 'message'], + 'RequestId' => ['title' => '请求 ID。', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => false, 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'visibility' => 'Public', 'backendName' => 'requestId'], + 'Success' => ['title' => '是否成功。', 'description' => 'Indicates whether the request was successful.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'success'], ], + 'visibility' => 'Public', + 'example' => '', ], 'ListWebApplicationRevisionsOutput' => [ 'title' => 'TODO', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'title' => '', - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'A2RN', - 'backendName' => 'nextToken', - ], + 'NextToken' => ['title' => '当符合查询条件的数据未读取完时,服务端会返回nextToken,此时可以使用nextToken继续读取后面的数据。第一次查询不需要提供这个参数。', 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.'."\n", 'type' => 'string', 'required' => false, 'example' => '1', 'visibility' => 'Public', 'backendName' => 'nextToken'], 'Revisions' => [ - 'title' => '', + 'title' => '版本列表', 'description' => 'The versions.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The version information.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/Revision', - ], + 'items' => ['description' => 'The version information.'."\n", '$ref' => '#/components/schemas/Revision', 'visibility' => 'Public', 'extendType' => 'true', 'title' => '', 'example' => ''], 'required' => false, + 'visibility' => 'Public', 'backendName' => 'revisions', + 'example' => '', ], ], + 'visibility' => 'Public', + 'example' => '', ], 'ListWebApplicationsBody' => [ 'title' => 'TODO', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - 'backendName' => 'code', - ], - 'Data' => [ - 'title' => '', - 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'data', - '$ref' => '#/components/schemas/ListWebApplicationsOutput', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* If the request was successful, a success message is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], - 'RequestId' => [ - 'title' => '', - 'description' => 'The ID of the request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - 'backendName' => 'requestId', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**: The request was successful.'."\n" - .'* **false**: The request failed.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'success', - ], + 'Code' => ['title' => 'HTTP 状态码', 'description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'* **2xx**: The request was successful.'."\n" + .'* **3xx**: The request was redirected.'."\n" + .'* **4xx**: The request failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'visibility' => 'Public', 'backendName' => 'code'], + 'Data' => ['title' => '调用返回数据。', 'description' => 'The response parameters.'."\n", 'required' => false, '$ref' => '#/components/schemas/ListWebApplicationsOutput', 'visibility' => 'Public', 'backendName' => 'data', 'example' => ''], + 'Message' => ['title' => '调用结果的附加信息。', 'description' => 'The returned message. Valid values:'."\n" + ."\n" + .'* If the request was successful, a success message is returned.'."\n" + .'* If the request failed, an error code is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'success', 'visibility' => 'Public', 'backendName' => 'message'], + 'RequestId' => ['title' => '请求 ID。', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => false, 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'visibility' => 'Public', 'backendName' => 'requestId'], + 'Success' => ['title' => '是否成功。', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**: The request was successful.'."\n" + .'* **false**: The request failed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'success'], ], + 'visibility' => 'Public', + 'example' => '', ], 'ListWebApplicationsOutput' => [ 'title' => 'TODO', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'title' => '', - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'A2RN', - 'backendName' => 'nextToken', - ], + 'NextToken' => ['title' => '当符合查询条件的数据未读取完时,服务端会返回nextToken,此时可以使用nextToken继续读取后面的数据。第一次查询不需要提供这个参数。', 'description' => 'The pagination token that is used in the next request to retrieve a new page of results.'."\n", 'type' => 'string', 'required' => false, 'example' => 'A2RN', 'visibility' => 'Public', 'backendName' => 'nextToken'], 'WebApplicationWithInstanceCount' => [ - 'title' => '', + 'title' => '应用列表', 'description' => 'The applications.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'IP ACL.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/WebApplicationWithInstanceCount', - ], + 'items' => ['description' => 'IP ACL.'."\n", '$ref' => '#/components/schemas/WebApplicationWithInstanceCount', 'visibility' => 'Public', 'extendType' => 'true', 'title' => '', 'example' => ''], 'required' => false, + 'visibility' => 'Public', 'backendName' => 'webApplicationWithInstanceCount', + 'example' => '', ], ], + 'visibility' => 'Public', + 'example' => '', ], 'ListWebCustomDomainBody' => [ 'title' => 'TODO', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - 'backendName' => 'code', - ], - 'Data' => [ - 'title' => '', - 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'data', - '$ref' => '#/components/schemas/ListWebCustomDomainOutput', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* If the request was successful, a success message is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], - 'RequestId' => [ - 'title' => '', - 'description' => 'The ID of the request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - 'backendName' => 'requestId', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**: The request was successful.'."\n" - .'* **false**: The request failed.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'success', - ], + 'Code' => ['title' => 'HTTP 状态码', 'description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'* **2xx**: The request was successful.'."\n" + .'* **3xx**: The request was redirected.'."\n" + .'* **4xx**: The request failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'visibility' => 'Public', 'backendName' => 'code'], + 'Data' => ['title' => '调用返回数据。', 'description' => 'The response parameters.'."\n", 'required' => false, '$ref' => '#/components/schemas/ListWebCustomDomainOutput', 'visibility' => 'Public', 'backendName' => 'data', 'example' => ''], + 'Message' => ['title' => '调用结果的附加信息。', 'description' => 'The returned message. Valid values:'."\n" + ."\n" + .'* If the request was successful, a success message is returned.'."\n" + .'* If the request failed, an error code is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'success', 'visibility' => 'Public', 'backendName' => 'message'], + 'RequestId' => ['title' => '请求 ID。', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => false, 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'visibility' => 'Public', 'backendName' => 'requestId'], + 'Success' => ['title' => '是否成功。', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**: The request was successful.'."\n" + .'* **false**: The request failed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'success'], ], + 'visibility' => 'Public', + 'example' => '', ], 'ListWebCustomDomainOutput' => [ 'title' => 'TODO', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'title' => '', - 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'A2RN', - 'backendName' => 'nextToken', - ], + 'NextToken' => ['title' => '当符合查询条件的数据未读取完时,服务端会返回nextToken,此时可以使用nextToken继续读取后面的数据。第一次查询不需要提供这个参数。', 'description' => 'The pagination token that is used in the next request to retrieve a new page of results. You do not need to specify this parameter for the first request.'."\n", 'type' => 'string', 'required' => false, 'example' => 'A2RN', 'visibility' => 'Public', 'backendName' => 'nextToken'], 'WebCustomDomains' => [ - 'title' => '', + 'title' => '自定义域名列表', 'description' => 'The custom domain names.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The information about the custom domain name.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/WebCustomDomain', - ], + 'items' => ['description' => 'The information about the custom domain name.'."\n", '$ref' => '#/components/schemas/WebCustomDomain', 'visibility' => 'Public', 'extendType' => 'true', 'title' => '', 'example' => ''], 'required' => false, + 'visibility' => 'Public', 'backendName' => 'webCustomDomains', + 'example' => '', ], ], + 'visibility' => 'Public', + 'example' => '', ], 'ListWebInstancesOutput' => [ - 'title' => '', + 'title' => '应用实例信息', 'description' => 'The details of the application instance.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'WebInstances' => [ - 'title' => '', + 'title' => '应用实例', 'description' => 'The application instance.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The details of the instance.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/WebInstanceInfo', - ], + 'items' => ['description' => 'The details of the instance.'."\n", '$ref' => '#/components/schemas/WebInstanceInfo', 'visibility' => 'Public', 'extendType' => 'true', 'title' => '', 'example' => ''], 'required' => false, - 'backendName' => 'webInstances', - ], - 'CurrentError' => [ - 'title' => '', - 'description' => 'The error message of instance creation. If the instance creation was successful, this parameter is not returned.'."\n", 'visibility' => 'Public', - 'type' => 'string', + 'backendName' => 'webInstances', 'example' => '', - 'backendName' => 'currentError', ], + 'CurrentError' => ['title' => '实例创建错误信息', 'description' => 'The error message of instance creation. If the instance creation was successful, this parameter is not returned.'."\n", 'type' => 'string', 'example' => '无', 'visibility' => 'Public', 'backendName' => 'currentError'], 'WebVersionStatus' => [ - 'title' => '', + 'title' => '实例状态', 'description' => 'The instance status.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'required' => false, - 'additionalProperties' => [ - 'description' => 'The instance status.'."\n", - 'visibility' => 'Public', - '$ref' => '#/components/schemas/WebVersionStatus', - ], + 'additionalProperties' => ['description' => 'The instance status.'."\n", '$ref' => '#/components/schemas/WebVersionStatus', 'visibility' => 'Public', 'title' => '', 'example' => ''], + 'visibility' => 'Public', 'backendName' => 'webVersionStatus', + 'example' => '', ], ], + 'visibility' => 'Public', + 'example' => '', ], 'MetricsCollectConfig' => [ 'title' => 'TODO', 'description' => 'The configurations of monitoring and collection.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'LogstoreName' => [ - 'title' => '', - 'description' => 'The name of the Logstore in Simple Log Service to which the metric data is pushed.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'my-sls-logstorename', - 'maxLength' => 63, - 'backendName' => 'logstoreName', - ], - 'ProjectName' => [ - 'title' => '', - 'description' => 'The name of the project in Simple Log Service to which the metric data is pushed.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'my-sls-project', - 'maxLength' => 63, - 'backendName' => 'projectName', - ], - 'EnablePushToUserSLS' => [ - 'title' => '', - 'description' => 'Specifies whether to push metric data to Simple Log Service. Valid values:'."\n" - ."\n" - .'* true'."\n" - .'* false'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'enablePushToUserSLS', - ], + 'LogstoreName' => ['title' => '监控指标推送到日志服务的logstore名称', 'description' => 'The name of the Logstore in Simple Log Service to which the metric data is pushed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'my-sls-logstorename', 'maxLength' => 63, 'visibility' => 'Public', 'backendName' => 'logstoreName'], + 'ProjectName' => ['title' => '监控指标推送到日志服务的project名称', 'description' => 'The name of the project in Simple Log Service to which the metric data is pushed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'my-sls-project', 'maxLength' => 63, 'visibility' => 'Public', 'backendName' => 'projectName'], + 'EnablePushToUserSLS' => ['title' => '是否推送', 'description' => 'Specifies whether to push metric data to Simple Log Service. Valid values:'."\n" + ."\n" + .'* true'."\n" + .'* false'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'enablePushToUserSLS'], ], + 'visibility' => 'Public', + 'example' => '', ], 'PathConfig' => [ 'title' => 'A short description of struct', - 'description' => 'A short description of struct', - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'path' => [ - 'title' => 'path', - 'description' => 'path', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '/packages', - 'backendName' => 'path', - ], - 'applicationName' => [ - 'title' => 'applicationName', - 'description' => 'applicationName', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'applicationName', - 'backendName' => 'applicationName', + 'path' => ['title' => 'path', 'description' => 'The path.', 'type' => 'string', 'example' => '/packages'], + 'applicationName' => ['title' => 'applicationName', 'description' => 'The name of the application.', 'type' => 'string', 'example' => 'applicationName'], + ], + 'description' => 'A brief description of the structure.', + 'example' => '', + ], + 'PortProtocol' => [ + 'title' => 'A short description of struct', + 'type' => 'object', + 'properties' => [ + 'Port' => ['title' => '端口号', 'type' => 'integer', 'format' => 'int32', 'description' => '', 'example' => ''], + 'TargetPort' => ['title' => '目标端口号', 'type' => 'integer', 'format' => 'int32', 'description' => '', 'example' => ''], + 'Protocol' => ['title' => '协议', 'type' => 'string', 'description' => '', 'example' => ''], + ], + 'description' => '', + 'example' => '', + ], + 'PortProtocols' => [ + 'title' => 'A short description of struct', + 'type' => 'array', + 'items' => ['description' => '', 'title' => '', 'example' => '', '$ref' => '#/components/schemas/PortProtocol'], + 'description' => '', + 'example' => '', + ], + 'PriceEstimateFeature' => [ + 'title' => '应用特性', + 'description' => '价格计算器应用特性', + 'type' => 'object', + 'properties' => [ + 'RegionId' => ['title' => 'Region', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'backendName' => 'regionId'], + 'EnvType' => ['title' => '环境类型', 'type' => 'string', 'required' => true, 'example' => 'Test/Production', 'backendName' => 'envType'], + 'AppType' => ['title' => '应用类型', 'type' => 'string', 'required' => true, 'example' => 'Web/MicroService', 'backendName' => 'appType'], + 'CpuStrategy' => ['title' => 'CPU分配策略', 'type' => 'string', 'required' => true, 'example' => 'Request/Always', 'backendName' => 'cpuStrategy'], + 'CpuCore' => ['title' => 'CPU核心数', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '1', 'backendName' => 'cpuCore'], + 'MemoryGiB' => ['title' => '内存容量', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '1', 'backendName' => 'memoryGiB'], + 'MinInstanceCount' => ['title' => '最小实例数', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'backendName' => 'minInstanceCount'], + 'MaxInstanceCount' => ['title' => '最大实例数', 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'backendName' => 'maxInstanceCount'], + 'InstanceQps' => ['title' => '单实例并发请求数', 'type' => 'number', 'format' => 'float', 'example' => '2', 'backendName' => 'instanceQps'], + 'InternetOutboundGiB' => ['title' => '公网出口流量', 'type' => 'number', 'format' => 'float', 'example' => '24', 'backendName' => 'internetOutboundGiB'], + 'HighLoadSeconds' => ['title' => '峰值时段时长', 'type' => 'integer', 'format' => 'int64', 'example' => '3600', 'backendName' => 'highLoadSeconds'], + 'HighLoadQps' => ['title' => '峰值时段并发请求数', 'type' => 'number', 'format' => 'float', 'example' => '5', 'backendName' => 'highLoadQps'], + 'HighLoadInstanceCount' => ['title' => '峰值时段实例数', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'backendName' => 'highLoadInstanceCount'], + 'LowLoadSeconds' => ['title' => '常态时段时长', 'type' => 'integer', 'format' => 'int64', 'example' => '3600', 'backendName' => 'lowLoadSeconds'], + 'LowLoadQps' => ['title' => '常态时段并发请求数', 'type' => 'number', 'format' => 'float', 'example' => '2', 'backendName' => 'lowLoadQps'], + 'LowLoadInstanceCount' => ['title' => '常态时段实例数', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'backendName' => 'lowLoadInstanceCount'], + 'NoneLoadSeconds' => ['title' => '空闲时段时长', 'type' => 'integer', 'format' => 'int64', 'example' => '79200', 'backendName' => 'noneLoadSeconds'], + 'NoneLoadInstanceCount' => ['title' => '空闲时段实例数', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'backendName' => 'noneLoadInstanceCount'], + 'NewSaeVersion' => ['title' => '应用版本', 'type' => 'string', 'example' => 'std', 'backendName' => 'newSaeVersion'], + 'ResourceType' => ['title' => '计算资源类型', 'type' => 'string', 'example' => 'haiguang', 'backendName' => 'resourceType'], + 'EphemeralStorageGiB' => ['title' => '临时存储容量', 'type' => 'integer', 'format' => 'int64', 'example' => '30', 'backendName' => 'ephemeralStorageGiB'], + 'EnableCpuIdle' => ['title' => '是否启用闲置', 'type' => 'boolean', 'example' => 'true', 'backendName' => 'enableCpuIdle'], + 'CpuUtilLevel' => ['title' => 'CPU利用率预估等级', 'type' => 'string', 'example' => 'L1', 'backendName' => 'cpuUtilLevel'], + 'CpuUtilMetrics' => [ + 'title' => 'CPU利用率监控指标', + 'type' => 'array', + 'items' => ['type' => 'number', 'format' => 'float', 'example' => '30'], + 'backendName' => 'cpuUtilMetrics', ], + 'AppCount' => ['title' => '应用数量', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'backendName' => 'appCount'], ], + 'required' => true, + 'parseType' => 'struct', ], 'ProbeHandler' => [ 'title' => 'TODO', 'description' => 'The description.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'HttpGet' => [ - 'title' => 'HTTPGet specifies the http request to perform.', - 'description' => 'The action that specifies the HTTP request to execute.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'httpGet', - '$ref' => '#/components/schemas/HTTPGetAction', - ], - 'TcpSocket' => [ - 'title' => 'TCPSocket specifies an action involving a TCP port.', - 'description' => 'The action that specifies the involved TCP port.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'tcpSocket', - '$ref' => '#/components/schemas/TCPSocketAction', - ], + 'HttpGet' => ['title' => 'HTTPGet specifies the http request to perform.', 'description' => 'The action that specifies the HTTP request to execute.'."\n", 'required' => false, '$ref' => '#/components/schemas/HTTPGetAction', 'visibility' => 'Public', 'backendName' => 'httpGet', 'example' => ''], + 'TcpSocket' => ['title' => 'TCPSocket specifies an action involving a TCP port.', 'description' => 'The action that specifies the involved TCP port.'."\n", 'required' => false, '$ref' => '#/components/schemas/TCPSocketAction', 'visibility' => 'Public', 'backendName' => 'tcpSocket', 'example' => ''], ], + 'visibility' => 'Public', + 'example' => '', ], 'PublishWebApplicationRevisionInput' => [ 'title' => 'TODO', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'Containers' => [ - 'title' => '', + 'title' => '修订版本上的容器配置', 'description' => 'The container configurations of the revision version.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The information about the container.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/Container', - ], + 'items' => ['description' => 'The information about the container.'."\n", '$ref' => '#/components/schemas/Container', 'visibility' => 'Public', 'extendType' => 'true', 'title' => '', 'example' => ''], 'required' => true, 'maxItems' => 1, - 'backendName' => 'containers', - ], - 'Description' => [ - 'title' => '', - 'description' => 'The version description.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'test version', - 'maxLength' => 256, - 'backendName' => 'description', - ], - 'EnableArmsMetrics' => [ - 'title' => '', - 'description' => 'Specifies whether to enable Application Real-Time Monitoring Service (ARMS) monitoring.'."\n", 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'enableArmsMetrics', - ], - 'TakeEffect' => [ - 'title' => '', - 'description' => 'Specifies whether to switch all traffic to a new version after the new version is released. Default value: false.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'backendName' => 'takeEffect', + 'backendName' => 'containers', + 'example' => '', ], + 'Description' => ['title' => '版本描述', 'description' => 'The version description.'."\n", 'type' => 'string', 'required' => false, 'example' => 'test version', 'maxLength' => 256, 'visibility' => 'Public', 'backendName' => 'description'], + 'EnableArmsMetrics' => ['title' => '是否开启Arms应用监控', 'description' => 'Specifies whether to enable Application Real-Time Monitoring Service (ARMS) monitoring.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'enableArmsMetrics'], + 'TakeEffect' => ['title' => '新版本发布后是否将 100% 流量切到新版本, 默认值为 false', 'description' => 'Specifies whether to switch all traffic to a new version after the new version is released. Default value: false.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'false', 'visibility' => 'Public', 'backendName' => 'takeEffect'], ], + 'visibility' => 'Public', + 'example' => '', ], 'RegistryAuthenticationConfig' => [ 'title' => 'A short description of struct', - 'description' => '', - 'visibility' => 'Public', + 'description' => 'The authentication configuration for the image repository.', 'type' => 'object', 'properties' => [ - 'UserName' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'admin', - 'backendName' => 'userName', - ], - 'Password' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'abc***', - 'backendName' => 'password', - ], + 'UserName' => ['title' => '镜像仓库用户名', 'description' => 'The username for the image repository.', 'type' => 'string', 'example' => 'admin'], + 'Password' => ['title' => '镜像仓库密码', 'description' => 'The password for the image repository.', 'type' => 'string', 'example' => 'abc***'], ], + 'example' => '', ], 'RegistryCertificateConfig' => [ 'title' => 'A short description of struct', - 'description' => '', - 'visibility' => 'Public', + 'description' => 'The certificate configuration for the image repository.', 'type' => 'object', 'properties' => [ - 'Insecure' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'boolean', - 'example' => 'true', - 'backendName' => 'insecure', - ], - 'CertBase64' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t', - 'backendName' => 'certBase64', - ], + 'Insecure' => ['title' => '是否以insecure的方式访问镜像仓库', 'description' => 'Specifies whether to access the image repository in an insecure manner.', 'type' => 'boolean', 'example' => 'true'], + 'CertBase64' => ['title' => 'base64之后的镜像仓库证书', 'description' => 'The Base64-encoded certificate of the image repository.', 'type' => 'string', 'example' => 'LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t'], ], + 'example' => '', ], 'Revision' => [ 'title' => 'TODO', 'description' => 'The description.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'CreatedTime' => [ - 'title' => '', - 'description' => 'The time when the revision version was created.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '2021-06-09T14:24:42', - 'backendName' => 'createdTime', - ], - 'Description' => [ - 'title' => '', - 'description' => 'The description of the revision version.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - 'backendName' => 'description', - ], - 'RevisionConfig' => [ - 'title' => '', - 'description' => 'The configurations of the revision version.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'revisionConfig', - '$ref' => '#/components/schemas/RevisionConfig', - ], - 'RevisionId' => [ - 'title' => '', - 'description' => 'The ID of the revision version.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '001', - 'backendName' => 'revisionId', - ], - 'Weight' => [ - 'title' => '', - 'description' => 'The traffic weight of the version.'."\n", - 'visibility' => 'Public', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '100', - 'backendName' => 'weight', - ], + 'CreatedTime' => ['description' => 'The time when the revision version was created.'."\n", 'type' => 'string', 'title' => '修订版本创建时间', 'required' => false, 'example' => '2021-06-09T14:24:42'], + 'Description' => ['description' => 'The description of the revision version.'."\n", 'type' => 'string', 'title' => '修订版本描述', 'required' => false, 'example' => 'test'], + 'RevisionConfig' => ['description' => 'The configurations of the revision version.'."\n", 'title' => '修订版本上的配置', 'required' => false, '$ref' => '#/components/schemas/RevisionConfig', 'example' => ''], + 'RevisionId' => ['description' => 'The ID of the revision version.'."\n", 'type' => 'string', 'title' => '修订版本ID', 'required' => false, 'example' => '1'], + 'Weight' => ['description' => 'The traffic weight of the version.'."\n", 'type' => 'number', 'title' => '版本的流量权重', 'format' => 'float', 'required' => false, 'example' => '0.5'], ], + 'example' => '', ], 'RevisionConfig' => [ 'title' => 'TODO', 'description' => 'The configurations of the revision version.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'Containers' => [ - 'title' => '', + 'title' => '容器配置,目前一个应用只支持一个容器,数组的长度最大为1', 'description' => 'The container configurations. You can deploy only one container for each application. The maximum length of this array is 1.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The information about the container.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/Container', - ], + 'items' => ['description' => 'The information about the container.'."\n", '$ref' => '#/components/schemas/Container', 'visibility' => 'Public', 'extendType' => 'true', 'title' => '', 'example' => ''], 'required' => true, 'maxItems' => 1, - 'backendName' => 'containers', - ], - 'EnableArmsMetrics' => [ - 'title' => '', - 'description' => 'Specifies whether to enable Application Real-Time Monitoring Service (ARMS) monitoring. Valid values:'."\n" - ."\n" - .'* **`true`**: Enables the ARMS monitoring.'."\n" - .'* **`false`**: Disables the ARMS monitoring.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'enableArmsMetrics', - ], - 'WebNetworkConfig' => [ - 'title' => '', - 'description' => 'The network configurations.'."\n" - ."\n" - .'> This parameter is used to configure network settings for a version of the application.'."\n", 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webNetworkConfig', - '$ref' => '#/components/schemas/WebNetworkConfig', + 'backendName' => 'containers', + 'example' => '', ], + 'EnableArmsMetrics' => ['title' => '是否开启Arms应用监控', 'description' => 'Specifies whether to enable Application Real-Time Monitoring Service (ARMS) monitoring. Valid values:'."\n" + ."\n" + .'* **`true`**: Enables the ARMS monitoring.'."\n" + .'* **`false`**: Disables the ARMS monitoring.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'enableArmsMetrics'], + 'WebNetworkConfig' => ['title' => '网络配置', 'description' => 'The network configurations.'."\n" + ."\n" + .'> This parameter is used to configure network settings for a version of the application.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebNetworkConfig', 'visibility' => 'Public', 'backendName' => 'webNetworkConfig', 'example' => ''], ], + 'visibility' => 'Public', + 'example' => '', ], 'RouteConfig' => [ 'title' => 'A short description of struct', - 'description' => 'A short description of struct', - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'routes' => [ 'title' => 'pathConfig', - 'description' => 'pathConfig', - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'PathConfig', - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/PathConfig', - ], - 'backendName' => 'routes', + 'items' => ['description' => 'A path configuration.', 'title' => '', 'example' => '', '$ref' => '#/components/schemas/PathConfig'], + 'description' => 'The path configurations.', + 'example' => '', ], ], + 'description' => 'The description of the struct.', + 'example' => '', ], 'SidecarContainerConfig' => [ - 'title' => '', - 'description' => 'The configurations of the Sidecar container.'."\n", - 'visibility' => 'Public', + 'title' => 'Sidecar 容器配置', + 'description' => 'The configuration of the sidecar container.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'title' => '', - 'description' => 'The container name.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'name', - 'backendName' => 'name', - ], - 'Cpu' => [ - 'title' => 'Cpu', - 'description' => 'Cpu'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - 'backendName' => 'cpu', - ], - 'Memory' => [ - 'title' => 'Memory', - 'description' => 'Memory'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - 'backendName' => 'memory', - ], - 'ImageUrl' => [ - 'title' => '', - 'description' => 'The image address.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest', - 'backendName' => 'imageUrl', - ], - 'Command' => [ - 'title' => '', - 'description' => 'The startup command of the image.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'python', - 'backendName' => 'command', - ], - 'CommandArgs' => [ - 'title' => '', - 'description' => 'The parameters of the image startup command.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '["a","b"]', - 'backendName' => 'commandArgs', - ], - 'Envs' => [ - 'title' => '', - 'description' => 'The environment variables of the container.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '[{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}]', - 'backendName' => 'envs', - ], - 'ConfigMapMountDesc' => [ - 'title' => '', - 'description' => 'The description of the ConfigMap mounted to the application.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '[{"configMapId":16,"key":"test","mountPath":"/tmp"}]', - 'backendName' => 'configMapMountDesc', - ], - 'EmptyDirDesc' => [ - 'title' => '', - 'description' => 'The EmptyDir description.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '[{\\"name\\":\\"workdir\\",\\"mountPath\\":\\"/usr/local/tomcat/webapps\\"}]', - 'backendName' => 'emptyDirDesc', - ], - 'AcrInstanceId' => [ - 'title' => '', - 'description' => 'The ID of the Container Registry Enterprise Edition instance. This parameter is required if the ImageUrl parameter is set to the URL of an image in a Container Registry Enterprise Edition instance.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'cri-xxxxxx', - 'backendName' => 'acrInstanceId', - ], - ], + 'Name' => ['title' => '容器名称', 'description' => 'The name of the container.', 'type' => 'string', 'example' => 'name'], + 'Cpu' => ['title' => 'Cpu', 'description' => 'The CPU resources allocated to the container, measured in millicores. For example, a value of 1000 represents 1 vCPU.', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'Memory' => ['title' => 'Memory', 'description' => 'The amount of memory allocated to the container, measured in MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '1024'], + 'ImageUrl' => ['title' => '镜像地址', 'description' => 'The container image URL.', 'type' => 'string', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest'], + 'Command' => ['title' => '镜像启动命令', 'description' => 'The startup command for the image. This command overrides the `ENTRYPOINT` defined in the image.', 'type' => 'string', 'example' => 'python'], + 'CommandArgs' => ['title' => '镜像启动命令参数', 'description' => 'The arguments for the startup command. This parameter corresponds to `CMD` in the Dockerfile.', 'type' => 'string', 'example' => '["a","b"]'], + 'Envs' => ['title' => '容器环境变量参数', 'description' => 'The environment variables to set in the container. Specify the variables as a JSON array of key-value pairs.', 'type' => 'string', 'example' => '[{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}]'], + 'ConfigMapMountDesc' => ['title' => 'ConfigMap 挂载描述', 'description' => 'The settings for mounting a ConfigMap. Use this to inject configuration data into the container as files.', 'type' => 'string', 'example' => '[{"configMapId":16,"key":"test","mountPath":"/tmp"}]'], + 'EmptyDirDesc' => ['title' => 'EmptyDir描述', 'description' => 'The configuration for an `emptyDir` volume. This creates a temporary directory that persists for the life of the application instance.', 'type' => 'string', 'example' => '[{\\"name\\":\\"workdir\\",\\"mountPath\\":\\"/usr/local/tomcat/webapps\\"}]'], + 'AcrInstanceId' => ['title' => '容器镜像服务 ACR 企业版实例 ID。当 ImageUrl 为容器镜像服务企业版时必填', 'description' => 'The instance ID of the ACR Enterprise Edition. This parameter is required if the `ImageUrl` is from an ACR Enterprise Edition repository.', 'type' => 'string', 'example' => 'cri-xxxxxx'], + 'SecretMountDesc' => ['title' => 'Secret 挂载描述', 'description' => 'Specifies how to mount a Secret. This lets you securely use sensitive data, such as credentials or keys, in your application.', 'type' => 'string', 'example' => ''], + 'Liveness' => ['title' => '存活检查(Liveness配置)', 'description' => 'The configuration for the liveness probe. The liveness probe checks if the container is running. If the probe fails, the system restarts the container.', 'type' => 'string', 'example' => ''], + 'Readiness' => ['title' => '业务就绪检查(Readiness配置)', 'description' => 'The configuration for the readiness probe. The readiness probe checks if the container is ready to handle requests. The system will not direct traffic to a container until its readiness probe succeeds.', 'type' => 'string', 'example' => ''], + 'PreStop' => ['title' => 'PreStop配置', 'description' => 'The configuration for the preStop hook. This hook runs immediately before the container is terminated to ensure a graceful shutdown.', 'type' => 'string', 'example' => ''], + 'PostStart' => ['title' => 'PostStart配置', 'description' => 'The configuration for the postStart hook. This hook runs immediately after the container starts to perform initialization tasks.', 'type' => 'string', 'example' => ''], + ], + 'example' => '', ], 'SLSCollectConfig' => [ 'title' => 'TODO', 'description' => 'The logging configurations.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'LogPath' => [ - 'title' => 'TODO', - 'description' => 'The log path.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '/test', - 'backendName' => 'logPath', - ], - 'LogType' => [ - 'title' => 'TODO', - 'description' => 'The log type. The following types of logs are supported:'."\n" - ."\n" - .'* File collection logs'."\n" - .'* Standard output logs'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'file_log', - 'backendName' => 'logType', - ], - 'LogstoreName' => [ - 'title' => 'TODO', - 'description' => 'The name of the Logstore. The name must meet the following requirements:'."\n" - ."\n" - .'* The name must be unique in a project.'."\n" - .'* The name can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n" - .'* The name must start and end with a lowercase letter or a digit.'."\n" - .'* The name must be 3 to 63 characters in length.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'sag-shanghai', - 'backendName' => 'logstoreName', - ], - 'LogtailName' => [ - 'title' => 'TODO', - 'description' => 'The name for the Logtail configuration.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '******-access-log-collector', - 'backendName' => 'logtailName', - ], - 'MachineGroup' => [ - 'title' => 'TODO', - 'description' => 'The name of the machine group of Simple Log Service.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'Log Service Group', - 'backendName' => 'machineGroup', - ], - 'ProjectName' => [ - 'title' => 'TODO', - 'description' => 'The name of the SLS project.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - 'backendName' => 'projectName', - ], + 'LogPath' => ['title' => 'TODO', 'description' => 'The log path.'."\n", 'type' => 'string', 'required' => false, 'example' => '/test', 'visibility' => 'Public', 'backendName' => 'logPath'], + 'LogType' => ['title' => 'TODO', 'description' => 'The log type. The following types of logs are supported:'."\n" + ."\n" + .'* File collection logs'."\n" + .'* Standard output logs'."\n", 'type' => 'string', 'required' => false, 'example' => '文件采集日志', 'visibility' => 'Public', 'backendName' => 'logType'], + 'LogstoreName' => ['title' => 'TODO', 'description' => 'The name of the Logstore. The name must meet the following requirements:'."\n" + ."\n" + .'* The name must be unique in a project.'."\n" + .'* The name can contain only lowercase letters, digits, hyphens (-), and underscores (\\_).'."\n" + .'* The name must start and end with a lowercase letter or a digit.'."\n" + .'* The name must be 3 to 63 characters in length.'."\n", 'type' => 'string', 'required' => false, 'example' => 'my-logstore', 'visibility' => 'Public', 'backendName' => 'logstoreName'], + 'LogtailName' => ['title' => 'TODO', 'description' => 'The name for the Logtail configuration.'."\n", 'type' => 'string', 'required' => false, 'example' => '******-access-log-collector', 'visibility' => 'Public', 'backendName' => 'logtailName'], + 'MachineGroup' => ['title' => 'TODO', 'description' => 'The name of the machine group of Simple Log Service.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Log Service Group', 'visibility' => 'Public', 'backendName' => 'machineGroup'], + 'ProjectName' => ['title' => 'TODO', 'description' => 'The name of the SLS project.'."\n", 'type' => 'string', 'required' => false, 'example' => 'log-service-1199085698835****-cn-neijing', 'visibility' => 'Public', 'backendName' => 'projectName'], ], + 'visibility' => 'Public', + 'example' => '', ], 'SLSCollectConfigs' => [ 'title' => 'TODO', 'description' => 'The log collection configurations of the container.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'CollectConfigs' => [ - 'title' => '', + 'title' => '日志采集的配置', 'description' => 'The configurations of log collection.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The log configurations.'."\n", - 'visibility' => 'Public', - 'extendType' => 'true', - '$ref' => '#/components/schemas/SLSCollectConfig', - ], + 'items' => ['description' => 'The log configurations.'."\n", '$ref' => '#/components/schemas/SLSCollectConfig', 'visibility' => 'Public', 'extendType' => 'true', 'title' => '', 'example' => ''], 'required' => false, + 'visibility' => 'Public', 'backendName' => 'collectConfigs', + 'example' => '', ], ], + 'visibility' => 'Public', + 'example' => '', ], 'StartupProbe' => [ 'title' => 'TODO', 'description' => 'The configuration check when the container is started.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'FailureThreshold' => [ - 'title' => 'Minimum consecutive failures for the probe to be considered failed after having succeeded.'."\n" - .'Defaults to 3. Minimum value is 1.', - 'description' => 'The minimum number of consecutive failures that is considered a failure after a successful probe. Default value: 3. Minimum value: 1.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'backendName' => 'failureThreshold', - ], - 'InitialDelaySeconds' => [ - 'title' => 'Number of seconds after the container has started before liveness probes are initiated.'."\n" - .'More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes', - 'description' => 'The duration after the container is started before health checks are initiated. For more information, see [Probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes).'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'backendName' => 'initialDelaySeconds', - ], - 'PeriodSeconds' => [ - 'title' => 'How often (in seconds) to perform the probe.'."\n" - .'Default to 10 seconds. Minimum value is 1.', - 'description' => 'The health check interval. Default value: 10. Unit: seconds. Minimum value: 1.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'backendName' => 'periodSeconds', - ], - 'ProbeHandler' => [ - 'title' => 'The action taken to determine the health of a container', - 'description' => 'The operation to determine the health of the container.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'probeHandler', - '$ref' => '#/components/schemas/ProbeHandler', - ], - 'TimeoutSeconds' => [ - 'title' => 'Number of seconds after which the probe times out.'."\n" - .'Defaults to 1 second. Minimum value is 1.'."\n" - .'More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes', - 'description' => 'The timeout period of a health check. Default value: 1. Minimum value: 1. For more information, see [Container probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes).'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - 'backendName' => 'timeoutSeconds', - ], + 'FailureThreshold' => ['title' => 'Minimum consecutive failures for the probe to be considered failed after having succeeded.'."\n" + .'Defaults to 3. Minimum value is 1.', 'description' => 'The minimum number of consecutive failures that is considered a failure after a successful probe. Default value: 3. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'visibility' => 'Public', 'backendName' => 'failureThreshold'], + 'InitialDelaySeconds' => ['title' => 'Number of seconds after the container has started before liveness probes are initiated.'."\n" + .'More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes', 'description' => 'The duration after the container is started before health checks are initiated. For more information, see [Probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'visibility' => 'Public', 'backendName' => 'initialDelaySeconds'], + 'PeriodSeconds' => ['title' => 'How often (in seconds) to perform the probe.'."\n" + .'Default to 10 seconds. Minimum value is 1.', 'description' => 'The health check interval. Default value: 10. Unit: seconds. Minimum value: 1.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'visibility' => 'Public', 'backendName' => 'periodSeconds'], + 'ProbeHandler' => ['title' => 'The action taken to determine the health of a container', 'description' => 'The operation to determine the health of the container.'."\n", 'required' => false, '$ref' => '#/components/schemas/ProbeHandler', 'visibility' => 'Public', 'backendName' => 'probeHandler', 'example' => ''], + 'TimeoutSeconds' => ['title' => 'Number of seconds after which the probe times out.'."\n" + .'Defaults to 1 second. Minimum value is 1.'."\n" + .'More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes', 'description' => 'The timeout period of a health check. Default value: 1. Minimum value: 1. For more information, see [Container probes](https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes).'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'visibility' => 'Public', 'backendName' => 'timeoutSeconds'], ], + 'visibility' => 'Public', + 'example' => '', ], 'TCPSocketAction' => [ 'title' => 'TODO', 'description' => 'The description.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Host' => [ - 'title' => 'Optional: Host name to connect to, defaults to the pod IP.', - 'description' => 'Optional. The hostname to which you want to connect. The default value is the IP address of the pod.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '172.16.XX.XX', - 'backendName' => 'host', - ], - 'Port' => [ - 'title' => 'Number of the port to access on the container.'."\n" - .'Number must be in the range 1 to 65535.', - 'description' => 'The port number that you want to access on the container. Valid values: 1 to 65535.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - 'backendName' => 'port', - ], + 'Host' => ['title' => 'Optional: Host name to connect to, defaults to the pod IP.', 'description' => 'Optional. The hostname to which you want to connect. The default value is the IP address of the pod.'."\n", 'type' => 'string', 'required' => false, 'example' => '172.16.XX.XX', 'visibility' => 'Public', 'backendName' => 'host'], + 'Port' => ['title' => 'Number of the port to access on the container.'."\n" + .'Number must be in the range 1 to 65535.', 'description' => 'The port number that you want to access on the container. Valid values: 1 to 65535.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80', 'visibility' => 'Public', 'backendName' => 'port'], ], + 'visibility' => 'Public', + 'example' => '', ], 'UpdateWebApplicationInput' => [ 'title' => 'TODO', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Description' => [ - 'title' => '', - 'description' => 'The application description.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'sae-app', - 'maxLength' => 256, - 'backendName' => 'description', - ], - 'WebNetworkConfig' => [ - 'title' => '', - 'description' => 'The network configurations of the application.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webNetworkConfig', - '$ref' => '#/components/schemas/WebNetworkConfig', - ], + 'Description' => ['title' => '应用描述', 'description' => 'The application description.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sae-app', 'maxLength' => 256, 'visibility' => 'Public', 'backendName' => 'description'], + 'WebNetworkConfig' => ['title' => '应用网络配置', 'description' => 'The network configurations of the application.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebNetworkConfig', 'visibility' => 'Public', 'backendName' => 'webNetworkConfig', 'example' => ''], ], + 'visibility' => 'Public', + 'example' => '', ], 'UpdateWebApplicationScalingConfigInput' => [ - 'title' => '', + 'title' => '更新弹性配置的请求信息', 'description' => 'The request information for updating the scaling configurations.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'MaximumInstanceCount' => [ - 'title' => '', - 'description' => 'The maximum number of instances.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '10', - 'backendName' => 'maximumInstanceCount', - ], - 'MinimumInstanceCount' => [ - 'title' => '', - 'description' => 'The minimum number of instances.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - 'backendName' => 'minimumInstanceCount', - ], + 'MaximumInstanceCount' => ['title' => '最大实例数', 'description' => 'The maximum number of instances.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10', 'visibility' => 'Public', 'backendName' => 'maximumInstanceCount'], + 'MinimumInstanceCount' => ['title' => '最小实例数', 'description' => 'The minimum number of instances.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'visibility' => 'Public', 'backendName' => 'minimumInstanceCount'], ], + 'visibility' => 'Public', + 'example' => '', ], 'UpdateWebApplicationTrafficConfigInput' => [ - 'title' => '', + 'title' => '更新流量配置的请求信息', 'description' => 'The request information for updating the traffic configurations.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'WebAclConfig' => [ - 'title' => '', - 'description' => 'The configurations of the access control list (ACL) that consists of IP addresses.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webAclConfig', - '$ref' => '#/components/schemas/WebAclConfig', - ], - 'AuthType' => [ - 'title' => '', - 'description' => 'The authentication type. Valid values: Anonymous (default): does not require authentication. Application: requires authentication.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'Anonymous', - 'backendName' => 'authType', - ], - 'DisableURLInternet' => [ - 'title' => '', - 'description' => 'Specifies whether to disable access to the default Internet domain. If you set this parameter to true, a 403 error is returned if you access the default public URL provided by the application. A value of false does not have affect the running of the function.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'disableURLInternet', - ], + 'WebAclConfig' => ['title' => 'IP ACL 白名单配置', 'description' => 'The configurations of the access control list (ACL) that consists of IP addresses.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebAclConfig', 'visibility' => 'Public', 'backendName' => 'webAclConfig', 'example' => ''], + 'AuthType' => ['title' => '认证类型。Anonymous:表示不需要认证,默认值。Application:表示需要认证。', 'description' => 'The authentication type. Valid values: Anonymous (default): does not require authentication. Application: requires authentication.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Anonymous', 'visibility' => 'Public', 'backendName' => 'authType'], + 'DisableURLInternet' => ['title' => '禁用默认公网域名访问的开关。设置为true时,访问应用默认提供的公网URL地址会返回403错误。设置为false时,不会有任何影响。', 'description' => 'Specifies whether to disable access to the default Internet domain. If you set this parameter to true, a 403 error is returned if you access the default public URL provided by the application. A value of false does not have affect the running of the function.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'disableURLInternet'], 'RevisionsTrafficWeight' => [ - 'title' => '', + 'title' => '应用版本流量比例,所有版本流量百分比之和必须等于 100%', 'description' => 'The traffic distribution for the application versions. The sum of traffic percentages for all versions must be equal to 1.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'required' => false, - 'additionalProperties' => [ - 'description' => 'The traffic percentage of the application version.'."\n", - 'visibility' => 'Public', - 'type' => 'number', - 'format' => 'float', - 'example' => '001:0.5'."\n" - .'002:0.5', - ], + 'additionalProperties' => ['description' => 'The traffic percentage of the application version.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '001:0.5'."\n" + .'002:0.5', 'visibility' => 'Public', 'title' => ''], + 'visibility' => 'Public', 'backendName' => 'revisionsTrafficWeight', + 'example' => '', ], ], + 'visibility' => 'Public', + 'example' => '', ], 'UpdateWebCustomDomainInput' => [ 'title' => 'TODO', 'description' => 'The request parameters for updating a custom domain name.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'WebCertConfig' => [ - 'title' => '', - 'description' => 'The information about the HTTPS certificate.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webCertConfig', - '$ref' => '#/components/schemas/WebCertConfig', - ], - 'DefaultForwardingAppName' => [ - 'title' => '', - 'description' => 'The name of the application to which data is forwarded by the domain name by default.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'demo-app', - 'backendName' => 'defaultForwardingAppName', - ], - 'Protocol' => [ - 'title' => '', - 'description' => 'The protocol type that is supported by the custom domain name. Valid values:'."\n" - ."\n" - .'* **HTTP**: Only HTTP is supported.'."\n" - .'* **HTTPS**: Only HTTPS is supported.'."\n" - .'* **HTTP,HTTPS**: Both HTTP and HTTPS are supported.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - 'backendName' => 'protocol', - ], - 'WebTLSConfig' => [ - 'title' => '', - 'description' => 'The Transport Layer Security (TLS) configurations.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webTLSConfig', - '$ref' => '#/components/schemas/WebTLSConfig', - ], - 'WebWAFConfig' => [ - 'title' => '', - 'description' => 'The Web Application Firewall (WAF) configurations.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webWAFConfig', - '$ref' => '#/components/schemas/WebWAFConfig', - ], - 'RouteConfig' => [ - 'title' => '', - 'description' => 'The route configuration.'."\n", - 'visibility' => 'Public', - 'backendName' => 'routeConfig', - '$ref' => '#/components/schemas/RouteConfig', - ], + 'WebCertConfig' => ['title' => 'HTTPS证书的信息。', 'description' => 'The information about the HTTPS certificate.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebCertConfig', 'visibility' => 'Public', 'backendName' => 'webCertConfig', 'example' => ''], + 'DefaultForwardingAppName' => ['title' => '域名默认转发的应用名', 'description' => 'The name of the application to which data is forwarded by the domain name by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'demo-app', 'visibility' => 'Public', 'backendName' => 'defaultForwardingAppName'], + 'Protocol' => ['title' => '域名支持的协议类型。HTTP:仅支持HTTP协议。HTTPS:仅支持HTTPS协议。HTTP,HTTPS:支持HTTP及HTTPS协议。', 'description' => 'The protocol type that is supported by the custom domain name. Valid values:'."\n" + ."\n" + .'* **HTTP**: Only HTTP is supported.'."\n" + .'* **HTTPS**: Only HTTPS is supported.'."\n" + .'* **HTTP,HTTPS**: Both HTTP and HTTPS are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'visibility' => 'Public', 'backendName' => 'protocol'], + 'WebTLSConfig' => ['title' => 'TLS配置信息。', 'description' => 'The Transport Layer Security (TLS) configurations.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebTLSConfig', 'visibility' => 'Public', 'backendName' => 'webTLSConfig', 'example' => ''], + 'WebWAFConfig' => ['title' => 'Web应用防火墙配置信息。', 'description' => 'The Web Application Firewall (WAF) configurations.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebWAFConfig', 'visibility' => 'Public', 'backendName' => 'webWAFConfig', 'example' => ''], + 'RouteConfig' => ['title' => '路由配置', 'description' => 'The route configuration.'."\n", '$ref' => '#/components/schemas/RouteConfig', 'visibility' => 'Public', 'backendName' => 'routeConfig', 'example' => ''], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebAclConfig' => [ - 'title' => '', + 'title' => 'IP ACL 白名单配置', 'description' => 'The IP ACL.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'WebAclEntries' => [ - 'title' => '', + 'title' => 'IP 列表', 'description' => 'The IP addresses.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the ACL.'."\n", - 'visibility' => 'Public', - 'required' => true, - 'extendType' => 'true', - '$ref' => '#/components/schemas/WebAclEntryConfig', - ], + 'items' => ['description' => 'The configurations of the ACL.'."\n", 'required' => true, '$ref' => '#/components/schemas/WebAclEntryConfig', 'title' => '', 'example' => ''], 'required' => true, - 'nullable' => true, - 'backendName' => 'webAclEntries', - ], - 'AclDescription' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Private', - 'type' => 'string', - 'example' => '192.168.0.0/24', - 'backendName' => 'aclDescription', + 'example' => '', ], ], + 'example' => '', ], 'WebAclEntryConfig' => [ - 'title' => '', + 'title' => 'IP 白名单列表', 'description' => 'The IP address whitelist.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Entry' => [ - 'title' => 'CIDR', - 'description' => 'The IP address.'."\n" - ."\n" - .'> CIDR notation is not supported.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => '1.2.3.4/32', - 'backendName' => 'entry', - ], - 'Description' => [ - 'title' => '', - 'description' => '', - 'visibility' => 'Private', - 'type' => 'string', - 'example' => '', - 'backendName' => 'description', - ], + 'Entry' => ['title' => 'CIDR', 'description' => 'The IP address.'."\n" + ."\n" + .'> CIDR notation is not supported.'."\n", 'type' => 'string', 'required' => true, 'example' => '219.145.XX.XX'], ], + 'example' => '', ], 'WebApplication' => [ - 'title' => '', + 'title' => '应用信息', 'description' => 'The application details.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'ApplicationId' => [ - 'title' => '', - 'description' => 'The application ID.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - 'maxLength' => 128, - 'minLength' => 1, - 'backendName' => 'applicationId', - ], - 'ApplicationName' => [ - 'title' => '', - 'description' => 'The application name.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => true, - 'example' => 'sae-app', - 'maxLength' => 128, - 'minLength' => 1, - 'backendName' => 'applicationName', - ], - 'CreatedTime' => [ - 'title' => '', - 'description' => 'The time when the application was created.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '2019-07-11 15:54:49', - 'backendName' => 'createdTime', - ], - 'Description' => [ - 'title' => '', - 'description' => 'The application description.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'my sae app', - 'maxLength' => 256, - 'backendName' => 'description', - ], - 'LastModifiedTime' => [ - 'title' => '', - 'description' => 'The time when the application was last modified.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '2019-07-11 20:12:58', - 'backendName' => 'lastModifiedTime', - ], - 'NamespaceId' => [ - 'title' => '', - 'description' => 'The ID of the namespace to which the application belongs.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - 'backendName' => 'namespaceId', - ], - 'RevisionConfig' => [ - 'title' => '', - 'description' => 'The configurations of the revision version.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'revisionConfig', - '$ref' => '#/components/schemas/RevisionConfig', - ], - 'InternetURL' => [ - 'title' => '', - 'description' => 'The public URL for accessing the application.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'https://****.cn-hangzhou.sae.run', - 'backendName' => 'internetURL', - ], - 'IntranetURL' => [ - 'title' => '', - 'description' => 'The internal URL for accessing the application.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'https://****.cn-hangzhou-vpc.sae.run', - 'backendName' => 'intranetURL', - ], - 'VpcId' => [ - 'title' => '', - 'description' => 'The Virtual Private Cloud (VPC) ID of the application namespace.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-2ze0i263cnn311nvj****', - 'backendName' => 'vpcId', - ], - 'WebScalingConfig' => [ - 'title' => '', - 'description' => 'The scaling configurations of the application.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webScalingConfig', - '$ref' => '#/components/schemas/WebScalingConfig', - ], - 'WebTrafficConfig' => [ - 'title' => '', - 'description' => 'The traffic configurations of the application.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webTrafficConfig', - '$ref' => '#/components/schemas/WebTrafficConfig', - ], + 'ApplicationId' => ['title' => '应用ID', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'maxLength' => 128, 'minLength' => 1, 'visibility' => 'Public', 'backendName' => 'applicationId'], + 'ApplicationName' => ['title' => '应用名称', 'description' => 'The application name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'sae-app', 'maxLength' => 128, 'minLength' => 1, 'visibility' => 'Public', 'backendName' => 'applicationName'], + 'CreatedTime' => ['title' => '应用创建时间', 'description' => 'The time when the application was created.'."\n", 'type' => 'string', 'required' => false, 'example' => '2024-07-17T06:12:17Z', 'visibility' => 'Public', 'backendName' => 'createdTime'], + 'Description' => ['title' => '应用描述', 'description' => 'The application description.'."\n", 'type' => 'string', 'required' => false, 'example' => 'my sae app', 'maxLength' => 256, 'visibility' => 'Public', 'backendName' => 'description'], + 'LastModifiedTime' => ['title' => '应用最近一次修改时间', 'description' => 'The time when the application was last modified.'."\n", 'type' => 'string', 'required' => false, 'example' => '2024-07-17T06:12:18Z', 'visibility' => 'Public', 'backendName' => 'lastModifiedTime'], + 'NamespaceId' => ['title' => '应用所属的命名空间ID', 'description' => 'The ID of the namespace to which the application belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'visibility' => 'Public', 'backendName' => 'namespaceId'], + 'RevisionConfig' => ['title' => '应用修订版本上的配置', 'description' => 'The configurations of the revision version.'."\n", 'required' => false, '$ref' => '#/components/schemas/RevisionConfig', 'visibility' => 'Public', 'backendName' => 'revisionConfig', 'example' => ''], + 'InternetURL' => ['title' => '应用公网访问URL', 'description' => 'The public URL for accessing the application.'."\n", 'type' => 'string', 'required' => false, 'example' => 'https://****.cn-hangzhou.sae.run', 'visibility' => 'Public', 'backendName' => 'internetURL'], + 'IntranetURL' => ['title' => '应用内网访问URL', 'description' => 'The internal URL for accessing the application.'."\n", 'type' => 'string', 'required' => false, 'example' => 'https://****.cn-hangzhou-vpc.sae.run', 'visibility' => 'Public', 'backendName' => 'intranetURL'], + 'VpcId' => ['title' => '应用命名空间的 VpcId', 'description' => 'The Virtual Private Cloud (VPC) ID of the application namespace.'."\n", 'type' => 'string', 'required' => false, 'example' => 'vpc-2ze0i263cnn311nvj****', 'visibility' => 'Public', 'backendName' => 'vpcId'], + 'WebScalingConfig' => ['title' => '应用弹性伸缩配置', 'description' => 'The scaling configurations of the application.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebScalingConfig', 'visibility' => 'Public', 'backendName' => 'webScalingConfig', 'example' => ''], + 'WebTrafficConfig' => ['title' => '应用流量配置', 'description' => 'The traffic configurations of the application.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebTrafficConfig', 'visibility' => 'Public', 'backendName' => 'webTrafficConfig', 'example' => ''], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebApplicationBody' => [ 'title' => 'TODO', 'description' => 'The message returned.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '', - 'description' => 'The HTTP status code. Value description:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - 'backendName' => 'code', - ], - 'Data' => [ - 'title' => '', - 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'data', - '$ref' => '#/components/schemas/WebApplication', - ], - 'Message' => [ - 'title' => '', - 'description' => 'Additional information about the call result. Value description:'."\n" - ."\n" - .'* If the request is successful, a success message is returned.'."\n" - .'* If the request fails, an error code is returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], - 'RequestId' => [ - 'title' => '', - 'description' => 'The request ID.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - 'backendName' => 'requestId', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'success', - ], - ], + 'Code' => ['description' => 'The HTTP status code. Value description:'."\n" + ."\n" + .'* **2xx**: The request was successful.'."\n" + .'* **3xx**: The request was redirected.'."\n" + .'* **4xx**: The request failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'integer', 'title' => 'HTTP 状态码', 'format' => 'int32', 'required' => false, 'example' => '200'], + 'Data' => ['description' => 'The response parameters.'."\n", 'title' => '调用返回数据。', 'required' => false, '$ref' => '#/components/schemas/WebApplication', 'example' => ''], + 'Message' => ['description' => 'Additional information about the call result. Value description:'."\n" + ."\n" + .'* If the request is successful, a success message is returned.'."\n" + .'* If the request fails, an error code is returned.'."\n", 'type' => 'string', 'title' => '调用结果的附加信息。', 'required' => false, 'example' => 'success'], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'title' => '请求 ID。', 'required' => false, 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****'], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", 'type' => 'boolean', 'title' => '是否成功。', 'required' => false, 'example' => 'true'], + ], + 'example' => '', ], 'WebApplicationInstanceLogsBody' => [ - 'title' => '', + 'title' => '获取应用实例日志的响应信息', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - 'backendName' => 'code', - ], - 'Data' => [ - 'title' => '', - 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'data', - '$ref' => '#/components/schemas/DescribeInstanceLogsOutput', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* If the request was successful, a success message is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], - 'RequestId' => [ - 'title' => '', - 'description' => 'The ID of the request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - 'backendName' => 'requestId', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**: The request was successful.'."\n" - .'* **false**: The request failed.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'success', - ], + 'Code' => ['title' => 'HTTP 状态码', 'description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'* **2xx**: The request was successful.'."\n" + .'* **3xx**: The request was redirected.'."\n" + .'* **4xx**: The request failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'visibility' => 'Public', 'backendName' => 'code'], + 'Data' => ['title' => '调用返回数据。', 'description' => 'The response parameters.'."\n", 'required' => false, '$ref' => '#/components/schemas/DescribeInstanceLogsOutput', 'visibility' => 'Public', 'backendName' => 'data', 'example' => ''], + 'Message' => ['title' => '调用结果的附加信息。', 'description' => 'The returned message. Valid values:'."\n" + ."\n" + .'* If the request was successful, a success message is returned.'."\n" + .'* If the request failed, an error code is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'success', 'visibility' => 'Public', 'backendName' => 'message'], + 'RequestId' => ['title' => '请求 ID。', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => false, 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'visibility' => 'Public', 'backendName' => 'requestId'], + 'Success' => ['title' => '是否成功。', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**: The request was successful.'."\n" + .'* **false**: The request failed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'success'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebApplicationResourceStaticsBody' => [ - 'title' => '', + 'title' => '获取应用资源用量统计的响应信息', 'description' => 'Response parameters for obtaining web application resources statics.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - 'backendName' => 'code', - ], - 'Data' => [ - 'title' => '', - 'description' => 'The data returned for the operation.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'data', - '$ref' => '#/components/schemas/DescribeWebStaticsQueryOutput', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The message returned for the operation. Valid values:'."\n" - ."\n" - .'* success is returned when the request succeeds.'."\n" - .'* An error code is returned if the request failed.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], - 'RequestId' => [ - 'title' => '', - 'description' => 'The ID of the request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - 'backendName' => 'requestId', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the call was successful. Valid values:'."\n" - ."\n" - .'* **true**: The request was successful.'."\n" - .'* **false**: The request failed.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'success', - ], + 'Code' => ['title' => 'HTTP 状态码', 'description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'* **2xx**: The request was successful.'."\n" + .'* **3xx**: The request was redirected.'."\n" + .'* **4xx**: The request failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'visibility' => 'Public', 'backendName' => 'code'], + 'Data' => ['title' => '调用返回数据。', 'description' => 'The data returned for the operation.'."\n", 'required' => false, '$ref' => '#/components/schemas/DescribeWebAppStaticsOutput', 'visibility' => 'Public', 'backendName' => 'data', 'example' => ''], + 'Message' => ['title' => '调用结果的附加信息。', 'description' => 'The message returned for the operation. Valid values:'."\n" + ."\n" + .'* success is returned when the request succeeds.'."\n" + .'* An error code is returned if the request failed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'success', 'visibility' => 'Public', 'backendName' => 'message'], + 'RequestId' => ['title' => '请求 ID。', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => false, 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'visibility' => 'Public', 'backendName' => 'requestId'], + 'Success' => ['title' => '是否成功。', 'description' => 'Indicates whether the call was successful. Valid values:'."\n" + ."\n" + .'* **true**: The request was successful.'."\n" + .'* **false**: The request failed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'success'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebApplicationRevisionBody' => [ 'title' => 'TODO', 'description' => 'The information returned.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '', - 'description' => 'The HTTP status code.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - 'backendName' => 'code', - ], - 'Data' => [ - 'title' => '', - 'description' => 'The data returned for the operation.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'data', - '$ref' => '#/components/schemas/Revision', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The message returned for the operation.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], - 'RequestId' => [ - 'title' => '', - 'description' => 'The ID of the request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - 'backendName' => 'requestId', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the call was successful.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'success', - ], + 'Code' => ['title' => 'HTTP 状态码', 'description' => 'The HTTP status code.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'visibility' => 'Public', 'backendName' => 'code'], + 'Data' => ['title' => '调用返回数据。', 'description' => 'The data returned for the operation.'."\n", 'required' => false, '$ref' => '#/components/schemas/Revision', 'visibility' => 'Public', 'backendName' => 'data', 'example' => ''], + 'Message' => ['title' => '调用结果的附加信息。', 'description' => 'The message returned for the operation.'."\n", 'type' => 'string', 'required' => false, 'example' => 'success', 'visibility' => 'Public', 'backendName' => 'message'], + 'RequestId' => ['title' => '请求 ID。', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => false, 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'visibility' => 'Public', 'backendName' => 'requestId'], + 'Success' => ['title' => '是否成功。', 'description' => 'Indicates whether the call was successful.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'success'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebApplicationScalingConfigBody' => [ - 'title' => '', + 'title' => '获取弹性配置的响应信息', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - 'backendName' => 'code', - ], - 'Data' => [ - 'title' => '', - 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'data', - '$ref' => '#/components/schemas/WebScalingConfig', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* If the request was successful, a success message is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], - 'RequestId' => [ - 'title' => '', - 'description' => 'The ID of the request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - 'backendName' => 'requestId', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**: The request was successful.'."\n" - .'* **false**: The request failed.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'success', - ], + 'Code' => ['title' => 'HTTP 状态码', 'description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'* **2xx**: The request was successful.'."\n" + .'* **3xx**: The request was redirected.'."\n" + .'* **4xx**: The request failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'visibility' => 'Public', 'backendName' => 'code'], + 'Data' => ['title' => '调用返回数据。', 'description' => 'The response parameters.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebScalingConfig', 'visibility' => 'Public', 'backendName' => 'data', 'example' => ''], + 'Message' => ['title' => '调用结果的附加信息。', 'description' => 'The returned message. Valid values:'."\n" + ."\n" + .'* If the request was successful, a success message is returned.'."\n" + .'* If the request failed, an error code is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'success', 'visibility' => 'Public', 'backendName' => 'message'], + 'RequestId' => ['title' => '请求 ID。', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => false, 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'visibility' => 'Public', 'backendName' => 'requestId'], + 'Success' => ['title' => '是否成功。', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**: The request was successful.'."\n" + .'* **false**: The request failed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'success'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebApplicationStatus' => [ 'title' => 'TODO', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'InstanceCount' => [ - 'title' => '', - 'description' => 'The number of application instances.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3', - 'backendName' => 'instanceCount', - ], - 'WebScalingConfig' => [ - 'title' => '', - 'description' => 'The scaling configurations of the application.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webScalingConfig', - '$ref' => '#/components/schemas/WebScalingConfig', - ], + 'InstanceCount' => ['title' => '应用实例数', 'description' => 'The number of application instances.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3', 'visibility' => 'Public', 'backendName' => 'instanceCount'], + 'WebScalingConfig' => ['title' => '应用弹性伸缩配置', 'description' => 'The scaling configurations of the application.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebScalingConfig', 'visibility' => 'Public', 'backendName' => 'webScalingConfig', 'example' => ''], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebApplicationTrafficConfigBody' => [ - 'title' => '', + 'title' => '获取流量配置的响应信息', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - 'backendName' => 'code', - ], - 'Data' => [ - 'title' => '', - 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'data', - '$ref' => '#/components/schemas/WebTrafficConfig', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* If the request was successful, a success message is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], - 'RequestId' => [ - 'title' => '', - 'description' => 'The ID of the request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - 'backendName' => 'requestId', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**: The request was successful.'."\n" - .'* **false**: The request failed.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'success', - ], + 'Code' => ['title' => 'HTTP 状态码', 'description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'* **2xx**: The request was successful.'."\n" + .'* **3xx**: The request was redirected.'."\n" + .'* **4xx**: The request failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'visibility' => 'Public', 'backendName' => 'code'], + 'Data' => ['title' => '调用返回数据。', 'description' => 'The response parameters.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebTrafficConfig', 'visibility' => 'Public', 'backendName' => 'data', 'example' => ''], + 'Message' => ['title' => '调用结果的附加信息。', 'description' => 'The returned message. Valid values:'."\n" + ."\n" + .'* If the request was successful, a success message is returned.'."\n" + .'* If the request failed, an error code is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'success', 'visibility' => 'Public', 'backendName' => 'message'], + 'RequestId' => ['title' => '请求 ID。', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => false, 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'visibility' => 'Public', 'backendName' => 'requestId'], + 'Success' => ['title' => '是否成功。', 'description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**: The request was successful.'."\n" + .'* **false**: The request failed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'success'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebApplicationWithInstanceCount' => [ 'title' => 'TODO', 'description' => 'The message returned.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'WebApplication' => [ - 'title' => '', - 'description' => 'The application information.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webApplication', - '$ref' => '#/components/schemas/WebApplication', - ], - 'InstanceCount' => [ - 'title' => '', - 'description' => 'The number of application instances.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - 'backendName' => 'instanceCount', - ], + 'WebApplication' => ['description' => 'The application information.'."\n", 'title' => '应用信息', 'required' => false, '$ref' => '#/components/schemas/WebApplication', 'example' => ''], + 'InstanceCount' => ['description' => 'The number of application instances.'."\n", 'type' => 'integer', 'title' => '应用实例数', 'format' => 'int64', 'example' => '1'], ], + 'example' => '', ], 'WebApplicationWithStatus' => [ 'title' => 'TODO', 'description' => 'The information returned.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'WebApplication' => [ - 'title' => '', - 'description' => 'The details of the application.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'WebApplication', - '$ref' => '#/components/schemas/WebApplication', - ], - 'Status' => [ - 'title' => '', - 'description' => 'The status of the application.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'status', - '$ref' => '#/components/schemas/WebApplicationStatus', - ], + 'WebApplication' => ['title' => '应用详情', 'description' => 'The details of the application.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplication', 'visibility' => 'Public', 'backendName' => 'WebApplication', 'example' => ''], + 'Status' => ['title' => '应用状态', 'description' => 'The status of the application.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationStatus', 'visibility' => 'Public', 'backendName' => 'status', 'example' => ''], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebCertConfig' => [ 'title' => 'TODO', 'description' => 'The information about the HTTPS certificate.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'CertName' => [ - 'title' => 'TODO', - 'description' => 'The certificate name.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'sae-certname', - 'maxLength' => 128, - 'minLength' => 1, - 'backendName' => 'certName', - ], - 'Certificate' => [ - 'title' => 'TODO', - 'description' => 'The public key of the certificate.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '-----BEGIN CERTIFICATE-----'."\n" - .' …… '."\n" - .'-----END CERTIFICATE-----', - 'maxLength' => 20480, - 'backendName' => 'certificate', - ], - 'PrivateKey' => [ - 'title' => 'TODO', - 'description' => 'The private key of the certificate.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA5SIfpNCBoiDrZhX1H39CHwQMVD0kBNeBTWfP9xkeesvfzbOz ******* POVNFfDf9h7pJtQ5fRZNTYTDs/d+cH62Z3+nS74mNnEfff0nkvne '."\n" - .'-----END RSA PRIVATE KEY-----', - 'maxLength' => 4096, - 'backendName' => 'privateKey', - ], + 'CertName' => ['title' => 'TODO', 'description' => 'The certificate name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sae-certname', 'maxLength' => 128, 'minLength' => 1, 'visibility' => 'Public', 'backendName' => 'certName'], + 'Certificate' => ['title' => 'TODO', 'description' => 'The public key of the certificate.'."\n", 'type' => 'string', 'required' => false, 'example' => '-----BEGIN CERTIFICATE-----'."\n" + .' …… '."\n" + .'-----END CERTIFICATE-----', 'maxLength' => 20480, 'visibility' => 'Public', 'backendName' => 'certificate'], + 'PrivateKey' => ['title' => 'TODO', 'description' => 'The private key of the certificate.'."\n", 'type' => 'string', 'required' => false, 'example' => '-----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA5SIfpNCBoiDrZhX1H39CHwQMVD0kBNeBTWfP9xkeesvfzbOz ******* POVNFfDf9h7pJtQ5fRZNTYTDs/d+cH62Z3+nS74mNnEfff0nkvne '."\n" + .'-----END RSA PRIVATE KEY-----', 'maxLength' => 4096, 'visibility' => 'Public', 'backendName' => 'privateKey'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebCustomDomain' => [ - 'title' => '', + 'title' => '自定义域名信息', 'description' => 'The custom domain name.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'accountId' => [ - 'title' => '', - 'description' => 'The ID of your Alibaba Cloud account'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '123xxxxxx', - 'backendName' => 'accountId', - ], - 'WebCertConfig' => [ - 'title' => '', - 'description' => 'The information about the HTTPS certificate.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webCertConfig', - '$ref' => '#/components/schemas/WebCertConfig', - ], - 'CreatedTime' => [ - 'title' => '', - 'description' => 'The time when the custom domain name was created.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '2023-03-30T08:02:19Z', - 'backendName' => 'createdTime', - ], - 'DefaultForwardingAppName' => [ - 'title' => '', - 'description' => 'The name of the application that is forwarded by the domain name by default.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'appxxxxx', - 'backendName' => 'defaultForwardingAppName', - ], - 'DomainName' => [ - 'title' => '', - 'description' => 'The domain name.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - 'backendName' => 'domainName', - ], - 'LastModifiedTime' => [ - 'title' => '', - 'description' => 'The time when the custom domain name was last updated.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '2023-03-30T08:02:19Z', - 'backendName' => 'lastModifiedTime', - ], - 'NamespaceId' => [ - 'title' => '', - 'description' => 'The ID of the namespace to which the domain name belongs.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-chengdu', - 'backendName' => 'namespaceId', - ], - 'Protocol' => [ - 'title' => '', - 'description' => 'The protocol type that is supported by the custom domain name. HTTP: Only HTTP is supported. HTTPS: Only HTTPS is supported. HTTP, HTTPS: Both HTTP and HTTPS are supported.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - 'backendName' => 'protocol', - ], - 'WebTLSConfig' => [ - 'title' => '', - 'description' => 'The Transport Layer Security (TLS) configurations.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webTLSConfig', - '$ref' => '#/components/schemas/WebTLSConfig', - ], - 'WebWAFConfig' => [ - 'title' => '', - 'description' => 'The WAF configurations.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webWAFConfig', - '$ref' => '#/components/schemas/WebWAFConfig', - ], - 'RouteConfig' => [ - 'title' => '', - 'description' => 'The route configurations.'."\n", - 'visibility' => 'Public', - 'backendName' => 'routeConfig', - '$ref' => '#/components/schemas/RouteConfig', - ], + 'accountId' => ['title' => '您的阿里云账号(主账号)ID', 'description' => 'The ID of your Alibaba Cloud account'."\n", 'type' => 'string', 'required' => false, 'example' => '123xxxxxx', 'visibility' => 'Public', 'backendName' => 'accountId'], + 'WebCertConfig' => ['title' => 'HTTPS证书的信息。', 'description' => 'The information about the HTTPS certificate.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebCertConfig', 'visibility' => 'Public', 'backendName' => 'webCertConfig', 'example' => ''], + 'CreatedTime' => ['title' => '自定义域名的创建时间。', 'description' => 'The time when the custom domain name was created.'."\n", 'type' => 'string', 'required' => false, 'example' => '2023-03-30T08:02:19Z', 'visibility' => 'Public', 'backendName' => 'createdTime'], + 'DefaultForwardingAppName' => ['title' => '域名默认转发的应用名', 'description' => 'The name of the application that is forwarded by the domain name by default.'."\n", 'type' => 'string', 'required' => false, 'example' => 'appxxxxx', 'visibility' => 'Public', 'backendName' => 'defaultForwardingAppName'], + 'DomainName' => ['title' => '域名。', 'description' => 'The domain name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'example.com', 'visibility' => 'Public', 'backendName' => 'domainName'], + 'LastModifiedTime' => ['title' => '自定义域名上一次被更新的时间。', 'description' => 'The time when the custom domain name was last updated.'."\n", 'type' => 'string', 'required' => false, 'example' => '2023-03-30T08:02:19Z', 'visibility' => 'Public', 'backendName' => 'lastModifiedTime'], + 'NamespaceId' => ['title' => '域名所在的命名空间ID', 'description' => 'The ID of the namespace to which the domain name belongs.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-chengdu', 'visibility' => 'Public', 'backendName' => 'namespaceId'], + 'Protocol' => ['title' => '域名支持的协议类型。HTTP:仅支持HTTP协议。HTTPS:仅支持HTTPS协议。HTTP,HTTPS:支持HTTP及HTTPS协议。', 'description' => 'The protocol type that is supported by the custom domain name. HTTP: Only HTTP is supported. HTTPS: Only HTTPS is supported. HTTP, HTTPS: Both HTTP and HTTPS are supported.'."\n", 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'visibility' => 'Public', 'backendName' => 'protocol'], + 'WebTLSConfig' => ['title' => 'TLS配置信息。', 'description' => 'The Transport Layer Security (TLS) configurations.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebTLSConfig', 'visibility' => 'Public', 'backendName' => 'webTLSConfig', 'example' => ''], + 'WebWAFConfig' => ['title' => 'Web应用防火墙配置信息。', 'description' => 'The WAF configurations.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebWAFConfig', 'visibility' => 'Public', 'backendName' => 'webWAFConfig', 'example' => ''], + 'RouteConfig' => ['title' => '路由配置', 'description' => 'The route configurations.'."\n", '$ref' => '#/components/schemas/RouteConfig', 'visibility' => 'Public', 'backendName' => 'routeConfig', 'example' => ''], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebCustomDomainBody' => [ 'title' => 'TODO', 'description' => 'The information returned.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Code' => [ - 'title' => '', - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '200', - 'backendName' => 'code', - ], - 'Data' => [ - 'title' => '', - 'description' => 'The data returned for the operation.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'data', - '$ref' => '#/components/schemas/WebCustomDomain', - ], - 'Message' => [ - 'title' => '', - 'description' => 'The message returned for the operation. Valid values:'."\n" - ."\n" - .'* success is returned when the request succeeds.'."\n" - .'* An error code is returned if the request failed.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], - 'RequestId' => [ - 'title' => '', - 'description' => 'The ID of the request.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - 'backendName' => 'requestId', - ], - 'Success' => [ - 'title' => '', - 'description' => 'Indicates whether the call was successful. Valid values:'."\n" - ."\n" - .'* **true**: The request is successful.'."\n" - .'* **false**: The request failed.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'success', - ], + 'Code' => ['title' => 'HTTP 状态码', 'description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'* **2xx**: The request was successful.'."\n" + .'* **3xx**: The request was redirected.'."\n" + .'* **4xx**: The request failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '200', 'visibility' => 'Public', 'backendName' => 'code'], + 'Data' => ['title' => '调用返回数据。', 'description' => 'The data returned for the operation.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebCustomDomain', 'visibility' => 'Public', 'backendName' => 'data', 'example' => ''], + 'Message' => ['title' => '调用结果的附加信息。', 'description' => 'The message returned for the operation. Valid values:'."\n" + ."\n" + .'* success is returned when the request succeeds.'."\n" + .'* An error code is returned if the request failed.'."\n", 'type' => 'string', 'required' => false, 'example' => 'success', 'visibility' => 'Public', 'backendName' => 'message'], + 'RequestId' => ['title' => '请求 ID。', 'description' => 'The ID of the request.'."\n", 'type' => 'string', 'required' => false, 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'visibility' => 'Public', 'backendName' => 'requestId'], + 'Success' => ['title' => '是否成功。', 'description' => 'Indicates whether the call was successful. Valid values:'."\n" + ."\n" + .'* **true**: The request is successful.'."\n" + .'* **false**: The request failed.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'success'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebInstanceInfo' => [ 'title' => 'TODO', 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'InstanceId' => [ - 'title' => '', - 'description' => 'The ID of the application instance.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'c-66691780-1522405d-3021e1******', - 'backendName' => 'instanceId', - ], - 'VersionId' => [ - 'title' => '', - 'description' => 'The ID of the application version.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '1', - 'backendName' => 'versionId', - ], - 'ImageUrl' => [ - 'title' => '', - 'description' => 'The instance image.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae_test/******:0.0.1', - 'backendName' => 'imageUrl', - ], - 'Status' => [ - 'title' => '', - 'description' => 'The instance status.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'Idle', - 'backendName' => 'status', - ], + 'InstanceId' => ['title' => '应用实例ID', 'description' => 'The ID of the application instance.'."\n", 'type' => 'string', 'required' => false, 'example' => 'c-66691780-1522405d-3021e1******', 'visibility' => 'Public', 'backendName' => 'instanceId'], + 'VersionId' => ['title' => '应用版本ID', 'description' => 'The ID of the application version.'."\n", 'type' => 'string', 'required' => false, 'example' => '1', 'visibility' => 'Public', 'backendName' => 'versionId'], + 'ImageUrl' => ['title' => '实例的镜像', 'description' => 'The instance image.'."\n", 'type' => 'string', 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae_test/******:0.0.1', 'visibility' => 'Public', 'backendName' => 'imageUrl'], + 'Status' => ['title' => '实例状态', 'description' => 'The instance status.'."\n", 'type' => 'string', 'example' => 'Idle', 'visibility' => 'Public', 'backendName' => 'status'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebLogEntry' => [ 'title' => 'TODO', 'description' => 'The information returned.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'title' => 'TODO', - 'description' => 'The message returned. Valid values:'."\n" - ."\n" - .'* If the request was successful, a success message is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'success', - 'backendName' => 'message', - ], + 'Message' => ['title' => 'TODO', 'description' => 'The message returned. Valid values:'."\n" + ."\n" + .'* If the request was successful, a success message is returned.'."\n" + .'* If the request failed, an error code is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'success', 'visibility' => 'Public', 'backendName' => 'message'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebNASConfig' => [ 'description' => 'The File Storage NAS (NAS) configurations of the container.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'MountPoints' => [ 'title' => 'mountPoints', 'description' => 'The mount targets.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The information about mount targets.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'extendType' => 'true', - '$ref' => '#/components/schemas/WebNASMountPoint', - ], + 'items' => ['description' => 'The information about mount targets.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebNASMountPoint', 'visibility' => 'Public', 'extendType' => 'true', 'title' => '', 'example' => ''], 'required' => false, 'maxItems' => 5, + 'visibility' => 'Public', 'backendName' => 'mountPoints', 'itemName' => 'item', + 'example' => '', ], ], + 'visibility' => 'Public', + 'title' => '', + 'example' => '', ], 'WebNASMountPoint' => [ - 'title' => '', + 'title' => 'Nas存储配置', 'description' => 'The mount information.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'MountDir' => [ - 'title' => '', - 'description' => 'The local mount directory.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '/test/consumer/log', - 'maxLength' => 64, - 'backendName' => 'mountDir', - ], - 'NasAddr' => [ - 'title' => '', - 'description' => 'The mount target.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '/home', - 'maxLength' => 128, - 'backendName' => 'nasAddr', - ], - 'NasPath' => [ - 'title' => '', - 'description' => 'The mount directory.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '/', - 'backendName' => 'nasPath', - ], + 'MountDir' => ['title' => '挂载到容器内路径', 'description' => 'The local mount directory.'."\n", 'type' => 'string', 'required' => false, 'example' => '/test/consumer/log', 'maxLength' => 64, 'visibility' => 'Public', 'backendName' => 'mountDir'], + 'NasAddr' => ['title' => '挂载点', 'description' => 'The mount target.'."\n", 'type' => 'string', 'required' => false, 'example' => '/home', 'maxLength' => 128, 'visibility' => 'Public', 'backendName' => 'nasAddr'], + 'NasPath' => ['title' => '挂载目录', 'description' => 'The mount directory.'."\n", 'type' => 'string', 'example' => '/', 'visibility' => 'Public', 'backendName' => 'nasPath'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebNetworkConfig' => [ - 'title' => '', + 'title' => '网络配置', 'description' => 'The network configurations.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'InternetAccess' => [ - 'title' => '', - 'description' => 'Specifies whether to enable Internet access for the application. Valid values:'."\n" - ."\n" - .'* **true**: enables Internet access.'."\n" - .'* **false**: disables Internet access.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'internetAccess', - ], - 'SecurityGroupId' => [ - 'title' => '', - 'description' => 'The ID of a security group.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp18hj1wtxgy3b0***', - 'maxLength' => 50, - 'backendName' => 'securityGroupId', - ], + 'InternetAccess' => ['title' => '是否开启公网访问', 'description' => 'Specifies whether to enable Internet access for the application. Valid values:'."\n" + ."\n" + .'* **true**: enables Internet access.'."\n" + .'* **false**: disables Internet access.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'internetAccess'], + 'SecurityGroupId' => ['title' => '安全组ID', 'description' => 'The ID of a security group.'."\n", 'type' => 'string', 'required' => false, 'example' => 'sg-bp18hj1wtxgy3b0***', 'maxLength' => 50, 'visibility' => 'Public', 'backendName' => 'securityGroupId'], 'VSwitchIds' => [ - 'title' => '', + 'title' => '交换机列表', 'description' => 'The list of vSwitches.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The IDs of vSwitches.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'vsw-bp1ozpcrdc6r****', - 'extendType' => 'true', - ], + 'items' => ['description' => 'The IDs of vSwitches.'."\n", 'type' => 'string', 'example' => 'vsw-bp1ozpcrdc6r****', 'visibility' => 'Public', 'extendType' => 'true', 'title' => ''], 'required' => false, 'maxItems' => 10, + 'visibility' => 'Public', 'backendName' => 'vSwitchIds', + 'example' => '', ], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebOSSConfig' => [ 'title' => 'TODO', 'description' => 'Container OSS mount configuration.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'MountPoints' => [ 'title' => 'TODO', 'description' => 'The mount point.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The information about the mount point.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'extendType' => 'true', - '$ref' => '#/components/schemas/WebOSSMountPoint', - ], + 'items' => ['description' => 'The information about the mount point.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebOSSMountPoint', 'visibility' => 'Public', 'extendType' => 'true', 'title' => '', 'example' => ''], 'required' => false, 'maxItems' => 5, + 'visibility' => 'Public', 'backendName' => 'mountPoints', 'itemName' => 'item', + 'example' => '', ], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebOSSMountPoint' => [ 'title' => 'TODO', 'description' => 'The information about the mount point.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'BucketName' => [ - 'title' => 'TODO', - 'description' => 'The name of the bucket.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'gcx-pic-test', - 'maxLength' => 64, - 'minLength' => 3, - 'backendName' => 'bucketName', - ], - 'BucketPath' => [ - 'title' => 'TODO', - 'description' => 'The storage path in an OSS bucket.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'billing-2023-11-06_17:30:18-rn7wG8', - 'maxLength' => 128, - 'backendName' => 'bucketPath', - ], - 'MountDir' => [ - 'title' => 'TODO', - 'description' => 'The local mount directory.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => '/k8s-prod/oms-api-yy-prod/log', - 'maxLength' => 64, - 'minLength' => 2, - 'backendName' => 'mountDir', - ], - 'ReadOnly' => [ - 'title' => 'TODO', - 'description' => 'Specifies whether it is read-only.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'readOnly', - ], + 'BucketName' => ['title' => 'TODO', 'description' => 'The name of the bucket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'gcx-pic-test', 'maxLength' => 64, 'minLength' => 3, 'visibility' => 'Public', 'backendName' => 'bucketName'], + 'BucketPath' => ['title' => 'TODO', 'description' => 'The storage path in an OSS bucket.'."\n", 'type' => 'string', 'required' => false, 'example' => 'billing-2023-11-06_17:30:18-rn7wG8', 'maxLength' => 128, 'visibility' => 'Public', 'backendName' => 'bucketPath'], + 'MountDir' => ['title' => 'TODO', 'description' => 'The local mount directory.'."\n", 'type' => 'string', 'required' => false, 'example' => '/k8s-prod/oms-api-yy-prod/log', 'maxLength' => 64, 'minLength' => 2, 'visibility' => 'Public', 'backendName' => 'mountDir'], + 'ReadOnly' => ['title' => 'TODO', 'description' => 'Specifies whether it is read-only.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'readOnly'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebScalingConfig' => [ - 'title' => '', + 'title' => '弹性配置信息', 'description' => 'The scaling configurations.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'MaximumInstanceCount' => [ - 'title' => '', - 'description' => 'The maximum number of instances.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - 'backendName' => 'maximumInstanceCount', - ], - 'MinimumInstanceCount' => [ - 'title' => '', - 'description' => 'The minimum number of instances.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - 'backendName' => 'minimumInstanceCount', - ], + 'MaximumInstanceCount' => ['title' => '最大实例数', 'description' => 'The maximum number of instances.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10', 'visibility' => 'Public', 'backendName' => 'maximumInstanceCount'], + 'MinimumInstanceCount' => ['title' => '最小实例数', 'description' => 'The minimum number of instances.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'visibility' => 'Public', 'backendName' => 'minimumInstanceCount'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebStaticsInfo' => [ 'title' => 'TODO', 'description' => 'The information returned.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'CpuUsage' => [ - 'title' => 'TODO', - 'description' => 'CPU usage'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1327', - 'backendName' => 'cpuUsage', - ], - 'Invocations' => [ - 'title' => '', - 'description' => 'The number of times that the SQL statement is invoked.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2', - 'backendName' => 'invocations', - ], - 'InternetTrafficOut' => [ - 'title' => 'TODO', - 'description' => 'Indicates outbound traffic.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2792', - 'backendName' => 'internetTrafficOut', - ], - 'MemoryUsage' => [ - 'title' => 'TODO', - 'description' => 'The peak memory usage for the query.'."\n", - 'visibility' => 'Public', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '5045929297920', - 'backendName' => 'memoryUsage', - ], + 'CpuUsage' => ['title' => 'TODO', 'description' => 'CPU usage'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1327', 'visibility' => 'Public', 'backendName' => 'cpuUsage'], + 'Invocations' => ['title' => '调用次数', 'description' => 'The number of times that the SQL statement is invoked.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2', 'visibility' => 'Public', 'backendName' => 'invocations'], + 'InternetTrafficOut' => ['title' => 'TODO', 'description' => 'Indicates outbound traffic.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2792', 'visibility' => 'Public', 'backendName' => 'internetTrafficOut'], + 'MemoryUsage' => ['title' => 'TODO', 'description' => 'The peak memory usage for the query.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '5045929297920', 'visibility' => 'Public', 'backendName' => 'memoryUsage'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebTLSConfig' => [ 'title' => 'TODO', 'description' => 'The Transport Layer Security (TLS) configurations.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ 'CipherSuites' => [ 'title' => 'TODO', 'description' => 'The supported cipher suites.'."\n", - 'visibility' => 'Public', 'type' => 'array', - 'items' => [ - 'description' => 'The TLS cipher suites.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'TLS_RSA_WITH_RC4_128_SHA', - 'extendType' => 'true', - ], + 'items' => ['description' => 'The TLS cipher suites.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TLS_RSA_WITH_RC4_128_SHA', 'visibility' => 'Public', 'extendType' => 'true', 'title' => ''], 'required' => false, + 'visibility' => 'Public', 'backendName' => 'cipherSuites', 'itemName' => 'item', + 'example' => '', ], - 'MaxVersion' => [ - 'title' => 'TODO', - 'description' => 'The supported maximum TLS protocol version.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'TLSv1.3', - 'backendName' => 'maxVersion', - ], - 'MinVersion' => [ - 'title' => 'TODO', - 'description' => 'The supported minimum TLS protocol version.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'TLSv1.0', - 'backendName' => 'minVersion', - ], + 'MaxVersion' => ['title' => 'TODO', 'description' => 'The supported maximum TLS protocol version.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TLSv1.3', 'visibility' => 'Public', 'backendName' => 'maxVersion'], + 'MinVersion' => ['title' => 'TODO', 'description' => 'The supported minimum TLS protocol version.'."\n", 'type' => 'string', 'required' => false, 'example' => 'TLSv1.0', 'visibility' => 'Public', 'backendName' => 'minVersion'], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebTrafficConfig' => [ - 'title' => '', + 'title' => '流量配置信息', 'description' => 'The traffic configurations.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'WebAclConfig' => [ - 'title' => '', - 'description' => 'The configurations of IP ACL whitelist.'."\n", - 'visibility' => 'Public', - 'required' => false, - 'backendName' => 'webAclConfig', - '$ref' => '#/components/schemas/WebAclConfig', - ], - 'AuthType' => [ - 'title' => '', - 'description' => 'The authentication type. Valid values:'."\n" - ."\n" - .'* **Anonymous**: does not require authentication.'."\n" - .'* **Application**: requires authentication.'."\n" - ."\n" - .'> The default value is **Anonymous**.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'required' => false, - 'example' => 'Anonymous', - 'backendName' => 'authType', - ], - 'DisableInternetURL' => [ - 'title' => '', - 'description' => 'Specifies whether to disable access to the default Internet domain. If you set this parameter to true, a 403 error is returned if you access the default public URL provided by the function. A value of false does not have affect the running of the function.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'disableInternetURL', - ], + 'WebAclConfig' => ['title' => 'IP ACL 白名单配置', 'description' => 'The configurations of IP ACL whitelist.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebAclConfig', 'visibility' => 'Public', 'backendName' => 'webAclConfig', 'example' => ''], + 'AuthType' => ['title' => '认证类型。Anonymous:表示不需要认证,默认值。Application:表示需要认证。', 'description' => 'The authentication type. Valid values:'."\n" + ."\n" + .'* **Anonymous**: does not require authentication.'."\n" + .'* **Application**: requires authentication.'."\n" + ."\n" + .'> The default value is **Anonymous**.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Anonymous', 'visibility' => 'Public', 'backendName' => 'authType'], + 'DisableInternetURL' => ['title' => '禁用默认公网域名访问的开关。设置为true时,访问应用默认提供的公网URL地址会返回403错误。设置为false时,不会有任何影响。', 'description' => 'Specifies whether to disable access to the default Internet domain. If you set this parameter to true, a 403 error is returned if you access the default public URL provided by the function. A value of false does not have affect the running of the function.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'disableInternetURL'], 'RevisionsTrafficWeight' => [ - 'title' => '', + 'title' => '应用版本流量比例,所有版本流量百分比之和必须等于 100%', 'description' => 'Specifies the traffic weight of applications in different versions. The sum of traffic weight for all versions must be 100%.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'required' => false, - 'additionalProperties' => [ - 'description' => 'The version traffics. Valid values: 0 to 1.'."\n", - 'visibility' => 'Public', - 'type' => 'number', - 'format' => 'float', - 'example' => '100', - ], + 'additionalProperties' => ['description' => 'The version traffics. Valid values: 0 to 1.'."\n", 'type' => 'number', 'format' => 'float', 'example' => '001:0.5'."\n" + .'002:0.5', 'visibility' => 'Public', 'title' => ''], + 'visibility' => 'Public', 'backendName' => 'revisionsTrafficWeight', + 'example' => '', ], ], + 'visibility' => 'Public', + 'example' => '', ], 'WebVersionStatus' => [ 'description' => 'The response parameters.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'ErrorMessage' => [ - 'title' => 'errorMessage', - 'description' => 'The error message of the application execution. If the execution is successful, a null value is returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => '', - 'backendName' => 'errorMessage', - ], - 'Status' => [ - 'title' => 'status', - 'description' => 'The state of the application execution. Valid values:'."\n" - ."\n" - .'* **Completed**: The execution is successful.'."\n" - .'* **Updating**:The instance is being updated.'."\n" - .'* **Updating**:The execution failed and a non-null error message is returned.'."\n", - 'visibility' => 'Public', - 'type' => 'string', - 'example' => 'Completed', - 'backendName' => 'status', - ], + 'ErrorMessage' => ['title' => 'errorMessage', 'description' => 'The error message of the application execution. If the execution is successful, a null value is returned.'."\n", 'type' => 'string', 'example' => '空', 'visibility' => 'Public', 'backendName' => 'errorMessage'], + 'Status' => ['title' => 'status', 'description' => 'The state of the application execution. Valid values:'."\n" + ."\n" + .'* **Completed**: The execution is successful.'."\n" + .'* **Updating**:The instance is being updated.'."\n" + .'* **Updating**:The execution failed and a non-null error message is returned.'."\n", 'type' => 'string', 'example' => 'Completed', 'visibility' => 'Public', 'backendName' => 'status'], ], + 'visibility' => 'Public', 'parseType' => 'struct', + 'title' => '', + 'example' => '', ], 'WebWAFConfig' => [ 'title' => 'TODO', 'description' => 'The information returned.'."\n", - 'visibility' => 'Public', 'type' => 'object', 'properties' => [ - 'EnableWAF' => [ - 'title' => 'TODO', - 'description' => 'Specifies whether to enable Web Application Firewall (WAF). Valid values:'."\n" - ."\n" - .'* **true**: enables WAF.'."\n" - .'* **false**: disables WAF.'."\n", - 'visibility' => 'Public', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'backendName' => 'enableWAF', - ], + 'EnableWAF' => ['title' => 'TODO', 'description' => 'Specifies whether to enable Web Application Firewall (WAF). Valid values:'."\n" + ."\n" + .'* **true**: enables WAF.'."\n" + .'* **false**: disables WAF.'."\n", 'type' => 'boolean', 'required' => false, 'example' => 'true', 'visibility' => 'Public', 'backendName' => 'enableWAF'], ], + 'visibility' => 'Public', + 'example' => '', ], ], ], 'apis' => [ - 'OpenSaeService' => [ - 'path' => '/service/open', - 'methods' => [ - 'post', - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AbortAndRollbackChangeOrder' => [ + 'path' => '/pop/v1/sam/changeorder/AbortAndRollbackChangeOrder', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], - [ - 'APP' => [], - ], - [ - 'PrivateKey' => [], - ], - [ - 'BearerToken' => [], - ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '20152', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', + 'abilityTreeCode' => '6291', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], + ], + 'parameters' => [ + [ + 'name' => 'ChangeOrderId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the change order.'."\n", 'type' => 'string', 'required' => true, 'example' => 'ba386059-69b1-4e65-b1e5-0682d9fa****', 'title' => ''], ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'enableWAF', - 'type' => 'string', - 'example' => '559B4247-C41C-4D9E-B866-B55D378B****', - ], - 'OrderId' => [ - 'description' => 'PushEvent', - 'type' => 'string', - 'example' => '20485646575****', + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.'."\n", 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The details of the change order.'."\n", + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change order.'."\n", 'type' => 'string', 'example' => 'ba386059-69b1-4e65-b1e5-0682d9fa****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" + .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'* **2xx**: The call was successful.'."\n" + .'* **3xx**: The call was redirected.'."\n" + .'* **4xx**: The call failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the change order was terminated. Valid values:'."\n" + ."\n" + .'* **true**: The change order was terminated.'."\n" + .'* **false**: The change order failed to be terminated.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'ORDER.OPEND', - 'errorMessage' => 'order opend.', - ], - [ - 'errorCode' => 'Pay.Insufficient.Balance', - 'errorMessage' => 'pay insufficient balance', + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Resouce.no.permission', 'errorMessage' => 'You are not authorized to operate on the specified resources.', 'description' => 'You are not authorized to operate on the specified resources.'], + ['errorCode' => 'InvalidChangeOrder.NotFound', 'errorMessage' => 'The current change order does not exist.', 'description' => 'The current change order does not exist.'], + ['errorCode' => 'Application.ChangerOrder.Not.Running', 'errorMessage' => 'The change order is not running and cannot be terminated.', 'description' => 'The change order is not running and cannot be terminated.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ], + ], + 'title' => 'AbortAndRollbackChangeOrder', + 'summary' => 'Terminates a change order and rolls back the corresponding application.', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:AbortAndRollbackChangeOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"559B4247-C41C-4D9E-B866-B55D378B****\\",\\n \\"OrderId\\": \\"20485646575****\\"\\n}","errorExample":""},{"type":"xml","example":"<OpenSaeServiceResponse>\\n <RequestId>559B4247-C41C-4D9E-B866-B55D378B****</RequestId>\\n <OrderId>20485646575****</OrderId>\\n</OpenSaeServiceResponse>","errorExample":""}]', - 'title' => 'OpenSaeService', - 'summary' => 'Activates Serverless App Engine (SAE) for free.', - 'description' => '> Make sure that your account balance is greater than 0. Otherwise, the SAE service cannot be activated.'."\n", + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"ba386059-69b1-4e65-b1e5-0682d9fa****\\"\\n },\\n \\"ErrorCode\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<AbortAndRollbackChangeOrderResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>ba386059-69b1-4e65-b1e5-0682d9fa****</ChangeOrderId>\\n </Data>\\n <ErrorCode>success</ErrorCode>\\n <Code>200</Code>\\n <Success>true</Success>\\n</AbortAndRollbackChangeOrderResponse>","errorExample":""}]', + 'translator' => 'machine', ], - 'CreateNamespace' => [ - 'path' => '/pop/v1/paas/namespace', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'AbortChangeOrder' => [ + 'path' => '/pop/v1/sam/changeorder/AbortChangeOrder', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '6307', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '6292', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The data returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'NamespaceName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'name', - ], - ], - [ - 'name' => 'NamespaceDescription', - 'in' => 'query', - 'schema' => [ - 'description' => 'The message returned for the operation.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'desc', - ], - ], - [ - 'name' => 'NameSpaceShortId', + 'name' => 'ChangeOrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The ID of the change order.', 'type' => 'string', 'required' => true, 'example' => 'be2e1c76-682b-4897-98d3-1d8d6478****', 'title' => ''], ], [ - 'name' => 'EnableMicroRegistration', + 'name' => 'Rollback', 'in' => 'query', - 'schema' => [ - 'description' => 'Indicates whether to enable SAE built-in registry:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n" - ."\n" - .'Default value: true. If you do not use the built-in registry, you can set this parameter to false to accelerate the creation of a namespace.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to roll back the change order.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The description of the custom namespace.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The name of the namespace.'."\n", - 'type' => 'string', - 'example' => '0a981dd515966966104121683d****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The message returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The information about a namespace.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'NamespaceDescription' => [ - 'description' => 'The short ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'desc', - ], - 'NamespaceId' => [ - 'description' => 'The error code returned. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'NamespaceName' => [ - 'description' => 'Null'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'RegionId' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'NameSpaceShortId' => [ - 'description' => 'Indicates whether the namespace was created. Valid values:'."\n" - ."\n" - .'* **true**: The instance was created.'."\n" - .'* **false**: The call failed to be created.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'EnableMicroRegistration' => [ - 'description' => 'Indicates whether the SAE built-in registry is enabled:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ChangeOrderId' => ['description' => 'The ID of the change order.', 'type' => 'string', 'example' => 'be2e1c76-682b-4897-98d3-1d8d6478****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'http://sae_pop_pre/#vpc', - 'type' => 'string', - 'example' => 'bucketName', - ], - 'Code' => [ - 'description' => 'bucketPath', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'mountDir', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. This parameter is returned only if the request fails. For more information, see the **Error codes** section in this topic.'."\n" + ."\n" + .'- If the request is successful, this parameter is not returned.'."\n" + ."\n" + .'- If the request fails, this parameter is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the change order is stopped. Valid values:'."\n" + ."\n" + .'- **true**: The change order is stopped.'."\n" + ."\n" + .'- **false**: The change order is not stopped.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InstanceExist.NamespaceId', - 'errorMessage' => 'The specified namespace ID already exists.', - ], - [ - 'errorCode' => 'InvalidNamespace.WithUppercase', - 'errorMessage' => 'This namespace does not support creating SAE apps because it contains uppercase letters.', - ], - [ - 'errorCode' => 'InvalidNamespaceId.Format', - 'errorMessage' => 'The specified NamespaceId is invalid.', - ], - [ - 'errorCode' => 'InvalidNamespaceIdSuffix.Format', - 'errorMessage' => 'The specified NamespaceId is invalid. NamespaceId can only contain alphabetical letters or numbers.', - ], - [ - 'errorCode' => 'InvalidNamespaceName.Format', - 'errorMessage' => 'The specified NamespaceName is invalid. The name of the namespace cannot exceed 63 characters in length.', - ], - [ - 'errorCode' => 'InvalidOperation.NamespaceClusterNotDeleted', - 'errorMessage' => 'The specified NamespaceId contains clusters.', - ], - [ - 'errorCode' => 'Namespace.AppExists', - 'errorMessage' => 'Please delete the application first.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Exceed.Namespace', - 'errorMessage' => 'Too many namespaces have been created.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Resouce.no.permission', 'errorMessage' => 'You are not authorized to operate on the specified resources.', 'description' => 'You are not authorized to operate on the specified resources.'], + ['errorCode' => 'Application.ChangerOrder.Not.Running', 'errorMessage' => 'The change order is not running and cannot be terminated.', 'description' => 'The change order is not running and cannot be terminated.'], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], ], - 500 => [ - [ - 'errorCode' => 'OperationFailed.DauthHttpRequest', - 'errorMessage' => 'request dauth failed.', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"be2e1c76-682b-4897-98d3-1d8d6478****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'AbortChangeOrder', + 'summary' => 'This operation stops a change order.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-05-19T10:45:25.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AbortChangeOrder'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:AbortChangeOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"NamespaceDescription\\": \\"desc\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"NamespaceName\\": \\"name\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"NameSpaceShortId\\": \\"test\\",\\n \\"EnableMicroRegistration\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateNamespaceResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a981dd515966966104121683d****</TraceId>\\n <Data>\\n <NamespaceDescription>desc</NamespaceDescription>\\n <NamespaceId>cn-beijing:test</NamespaceId>\\n <NamespaceName>name</NamespaceName>\\n <RegionId>cn-beijing</RegionId>\\n <NameSpaceShortId>test</NameSpaceShortId>\\n <EnableMicroRegistration>true</EnableMicroRegistration>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</CreateNamespaceResponse>","errorExample":""}]', - 'title' => 'CreateNamespace', - 'summary' => 'Create a namespace.', ], - 'CreateIngress' => [ - 'path' => '/pop/v1/sam/ingress/Ingress', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'BatchRestartApplications' => [ + 'summary' => 'Restarts applications in batches.', + 'path' => '/pop/v1/sam/app/batchRestartApplications', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '6306', - 'abilityTreeNodes' => [ - 'FEATUREsaeBRTWZ3', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '285072', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace where the application resides. Currently, cross-namespace applications are not supported.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:sae-test', - ], - ], - [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the routing rule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ingress-for-sae-test', - ], - ], - [ - 'name' => 'SlbId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Server Load Balancer (SLB) instance that is used by the routing rule.'."\n" - ."\n" - .'> SLB SLB instances include CLB instances and ALB instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-uf6hucc7inlqrtcq5****', - ], - ], - [ - 'name' => 'ListenerPort', - 'in' => 'query', - 'schema' => [ - 'description' => 'The SLB listening port. This port cannot be occupied.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '80', - ], - ], - [ - 'name' => 'CertId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the **CLB** certificate. Valid values:'."\n" - ."\n" - .'* If you set **LoadBalanceType** to **clb**, you can use CertId to configure a certificate for the HTTPS listener.'."\n" - ."\n" - .'For more information about how to use SSL certificate IDs for CLB, see [Manage certificates (CLB)](~~90792~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '188077086902****_176993d****_181437****_108724****', - ], - ], - [ - 'name' => 'CertIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the multi-certificate **ALB**. Valid values:'."\n" - ."\n" - .'* If the **LoadBalanceType** is **alb**, use this field to configure multiple certificates for HTTPS listeners. Separate multiple certificate IDs with commas (,).'."\n" - .'* The ID of the SSL certificate used by ALB must be obtained from the digital certificate product. For example, in the configuration `756***-cn-hangzhou`, the `756***` is the certificate ID obtained from the product page, and the `-cn-hangzhou` is a fixed suffix. For more information, see [Manage certificates](~~209076~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '87***35-cn-hangzhou,812***3-cn-hangzhou', - ], - ], - [ - 'name' => 'DefaultRule', - 'in' => 'query', - 'schema' => [ - 'description' => 'The default forwarding rule. Forwards traffic to a specified application through a specified port based on the IP address. The following table describes the parameters.'."\n" - ."\n" - .'* **appId**: the ID of the application.'."\n" - .'* **containerPort**: The port of the application instance.'."\n" - ."\n" - .'> All requests that do not match or satisfy **Rules** forwarding rules are forwarded to the specified application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080}', - ], - ], - [ - 'name' => 'Rules', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The forwarding rule. Forwards traffic to a specified application through a specified port based on the domain name and request path. The following table describes the parameters.'."\n" - ."\n" - .'* **appId**: the ID of the application.'."\n" - .'* **containerPort**: The port of the application instance.'."\n" - .'* **domain**: the domain name.'."\n" - .'* **path**: the request path.'."\n" - .'* **backendProtocol**: The backend service protocol. Valid values: http, https, and grpc. Default value: http.'."\n" - .'* **rewritePath**: Rewrite the path.'."\n" - ."\n" - .'> Only ALB allows you to set the RewritePath feature. CLB does not support this feature.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '[{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080,"domain":"www.sae.site","path":"/path1"},{"appId":"666403ce-d25b-47cf-87fe-497565d2****","containerPort":8080,"domain":"sae.site","path":"/path2"}]', - ], - ], - [ - 'name' => 'LoadBalanceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'SLB the type of the SLB instance. It depends on the type that you entered when you created the routing rule and cannot be changed when you update it. Valid values:'."\n" - ."\n" - .'* **clb**: traditional SLB CLB (formerly SLB).'."\n" - .'* **alb**: Applied SLB ALB.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'clb', - ], - ], - [ - 'name' => 'ListenerProtocol', - 'in' => 'query', - 'schema' => [ - 'description' => 'The request forwarding protocol. Valid values:'."\n" - ."\n" - .'* **HTTP**: suitable for applications that need to identify data content.'."\n" - .'* **HTTPS**: suitable for applications that require encrypted transmission.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - ], - [ - 'name' => 'SecurityPolicyId', - 'in' => 'query', - 'schema' => [ - 'title' => '安全策略实例 ID', - 'description' => 'The ID of the security policy instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sp-bp1bpn0kn9****', - ], + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ - 'name' => 'RequestTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '指定请求超时时间。单位:秒。'."\n" - ."\n" - .'取值:1~180。'."\n" - ."\n" - .'默认值:60。'."\n" - ."\n" - .'如果在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,并给客户端返回HTTP 504错误码。', - 'description' => 'Specifies the request timeout period. Unit: seconds. Valid values: 1 to 180. If the backend server does not respond within the timeout period, the SLB abandons the wait and returns an HTTP 504 error code to the client.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], - ], - [ - 'name' => 'IdleTimeout', - 'in' => 'query', - 'schema' => [ - 'title' => '指定连接空闲超时时间。单位:秒。'."\n" - ."\n" - .'取值范围:1~60。'."\n" - ."\n" - .'默认值:15。'."\n" - ."\n" - .'如果在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'description' => 'Specifies the connection idle timeout period. Unit: seconds. Valid values: 1 to 60. If there is no access request within the timeout period, the SLB will temporarily interrupt the current connection until the next request comes to re-establish a new connection.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], - ], - [ - 'name' => 'EnableXForwardedFor', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'description' => '-', - 'example' => '-', - ], - ], - [ - 'name' => 'EnableXForwardedForClientSrcPort', + 'name' => 'AppIds', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'description' => '-', - 'example' => '-', - ], + 'schema' => ['description' => 'The application IDs. Separate multiple IDs with commas (,).', 'type' => 'string', 'required' => true, 'example' => '00893b3a-0e24-45ed-be0c-1f20e07b****', 'title' => ''], ], - [ - 'name' => 'EnableXForwardedForProto', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'description' => '-', - 'example' => '-', - ], - ], - [ - 'name' => 'EnableXForwardedForSlbId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'description' => '-', - 'example' => '-', + 'title' => 'Schema of Response', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****'], + 'Message' => ['description' => 'The additional information. Value description:'."\n" + ."\n" + .'If the request succeeds, a success message is returned. If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the trace, which is used to query the exact call information.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The response.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change process.', 'type' => 'string', 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code. Value description:'."\n" + ."\n" + .'If the request succeeds, this field is not returned. It is returned only if the request fails. For more information, see the "Error codes" section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The API status or POP error code. Value description:'."\n" + ."\n" + .'2xx: The request was successful. 3xx: The request was redirected. 4xx: The request was invalid. 5xx: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the applications were started. Valid values:'."\n" + ."\n" + .'true and false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'example' => '', ], ], - [ - 'name' => 'EnableXForwardedForSlbPort', - 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'description' => '-', - 'example' => '-', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'Mamespace.Have.No.Applications', 'errorMessage' => 'There are no applications in this namespace.', 'description' => 'There are no applications in this namespace.'], + ['errorCode' => 'Invalid.App.List.Not.Same.Namespace', 'errorMessage' => 'The selected applications do not belong to the same namespace.', 'description' => 'The selected applications does not belong to the same namespace.'], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'BatchRestartApplications', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'AddressType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => '-', - 'example' => '-', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:BatchRestartApplications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'BatchStartApplications' => [ + 'path' => '/pop/v1/sam/app/batchStartApplications', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'LoadBalancerEdition', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => '-', - 'example' => '-', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '6294', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], + ], + 'parameters' => [ [ - 'name' => 'ZoneMappings', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => '-', - 'example' => '-', - ], + 'schema' => ['description' => 'The ID of the request.', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ - 'name' => 'CorsConfig', + 'name' => 'AppIds', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - 'description' => '-', - 'example' => '-', - ], + 'schema' => ['description' => 'The IDs of the applications that you want to start. Separate multiple IDs with commas (,).', 'type' => 'string', 'required' => false, 'example' => '00893b3a-0e24-45ed-be0c-1f20e07b****', 'title' => ''], ], [ - 'name' => 'EnableGzip', + 'name' => 'Version', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - 'description' => '-', - 'example' => '-', - ], + 'schema' => ['description' => 'The application version.', 'type' => 'string', 'required' => false, 'example' => '1.0', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'Additional information. Valid values:'."\n" - ."\n" - .'* The error message returned because the request is normal and **success** is returned.'."\n" - .'* If the request is abnormal, the specific exception error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. This parameter is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The ID of the trace. It is used to query the details of a request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned data.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the change order.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'Responses.'."\n", + 'description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, this parameter is not returned.\\*\\*\\*\\*'."\n" + ."\n" + .'- This parameter is returned only if the request failed.\\*\\*\\*\\* For more information, see **Error codes** in this topic.', 'type' => 'object', 'properties' => [ - 'IngressId' => [ - 'description' => 'The ID of the routing rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '87', - ], + 'ChangeOrderId' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: indicates that the request was successful.'."\n" + ."\n" + .'- **3xx**: indicates that the request was redirected.'."\n" + ."\n" + .'- **4xx**: indicates that the request was invalid.'."\n" + ."\n" + .'- **5xx**: indicates that a server error occurred.', 'type' => 'string', 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'Error code. Valid values:'."\n" - ."\n" - .'* If the request is successful, no **ErrorCode** fields are returned.'."\n" - .'* Request failed: **ErrorCode** fields are returned. For more information, see **Error codes**.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the routing rule was created. Valid values:'."\n" - ."\n" - .'* **true**: The ConfigMap was created.'."\n" - .'* **false**: The ConfigMap failed to be created.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" + ."\n" + .'- The ErrorCode parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the ErrorCode parameter is returned. For more information, see the "Error codes" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Take note of the following rules:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application deployment is successful. Take note of the following rules:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'Slb.NotFound', - 'errorMessage' => 'The SLB instance does not exist: slbId [%s]', - ], - [ - 'errorCode' => 'Exceed.IngressRule', - 'errorMessage' => 'The number of Ingress related rules must be less than or equal to 40.', - ], - [ - 'errorCode' => 'SlbListenerPort.NotAvailable', - 'errorMessage' => 'The SLB listening port is unavailable: slbId [%s], port [%s]', - ], - [ - 'errorCode' => 'SSLCert.NotFound', - 'errorMessage' => 'The specified SSL certificate cannot be found.', - ], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'Mamespace.Have.No.Applications', 'errorMessage' => 'There are no applications in this namespace.', 'description' => 'There are no applications in this namespace.'], + ['errorCode' => 'Invalid.App.List.Not.Same.Namespace', 'errorMessage' => 'The selected applications do not belong to the same namespace.', 'description' => 'The selected applications does not belong to the same namespace.'], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], ], - 404 => [ - [ - 'errorCode' => 'InvalidResponse.Api', - 'errorMessage' => 'The response of API %s is empty.', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'BatchStartApplications', + 'summary' => 'Starts multiple applications at a time.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-04-12T01:56:54.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BatchStartApplications'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:BatchStartApplications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"IngressId\\": 87\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateIngressResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <IngressId>87</IngressId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</CreateIngressResponse>","errorExample":""}]', - 'title' => 'CreateIngress', - 'summary' => 'Creates a routing rule.', ], - 'DeleteNamespace' => [ - 'path' => '/pop/v1/paas/namespace', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'BatchStopApplications' => [ + 'path' => '/pop/v1/sam/app/batchStopApplications', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -4035,32 +1765,27 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '6314', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '6295', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'cn-beijing:test'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'ebf491f0-c1a5-45e2-b2c4-710dbe2a\\*\\*\\*\\*,ebf491f0-c1a5-45e2-b2c4-71025e2a\\*\\*\\*\\*', 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai', 'title' => ''], ], [ - 'name' => 'NameSpaceShortId', + 'name' => 'AppIds', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The ID of the application that you want to stop.'."\n" + ."\n" + .'> If you want to stop multiple applications at the same time, separate the IDs with commas (,).', 'type' => 'string', 'required' => false, 'example' => 'ebf491f0-c1a5-45e2-b2c4-710dbe2a****', 'title' => ''], + ], + [ + 'name' => 'Version', + 'in' => 'query', + 'schema' => ['description' => 'The application version.', 'type' => 'string', 'required' => false, 'example' => '1.0', 'title' => ''], ], ], 'responses' => [ @@ -4069,92 +1794,91 @@ 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. It can be used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a981dd515966966104121683d****', - ], - 'ErrorCode' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'RequestId' => ['description' => 'The returned message.'."\n" + ."\n" + .'- **success** is returned when the request succeeds.'."\n" + ."\n" + .'- An error code is returned when the request fails.', 'type' => 'string', 'example' => '7BD8F4C7-D84C-4D46-9885-8212997E****', 'title' => ''], + 'Message' => ['description' => 'The ID of the trace. It can be used to query the details of a request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The returned data.', 'type' => 'string', 'example' => '0bc3b6e215637275918588187d****', 'title' => ''], + 'Data' => [ + 'description' => 'The ID of the change order.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, this parameter is not returned.\\*\\*\\*\\*'."\n" + ."\n" + .'- This parameter is returned only if the request failed.\\*\\*\\*\\* For more information, see the "**Error codes**" section in this topic.', 'type' => 'string', 'example' => '4a815998-b468-4bea-b7d8-59f52a44****', 'title' => ''], + ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the namespace was deleted. Valid values:'."\n" - ."\n" - .'* **true**: indicates that the namespace was deleted.'."\n" - .'* **false**: indicates that the namespace could not be deleted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" + ."\n" + .'- The ErrorCode parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the ErrorCode parameter is returned. For more information, see the "Error codes" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Take note of the following rules:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application is created. Valid values'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidOperation.NamespaceClusterNotDeleted', - 'errorMessage' => 'The specified NamespaceId contains clusters.', - ], - [ - 'errorCode' => 'Namespace.AppExists', - 'errorMessage' => 'Please delete the application first.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'Invalid.App.List.Not.Same.Namespace', 'errorMessage' => 'The selected applications do not belong to the same namespace.', 'description' => 'The selected applications does not belong to the same namespace.'], + ['errorCode' => 'Mamespace.Have.No.Applications', 'errorMessage' => 'There are no applications in this namespace.', 'description' => 'There are no applications in this namespace.'], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], ], - 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', - ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7BD8F4C7-D84C-4D46-9885-8212997E****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3b6e215637275918588187d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4a815998-b468-4bea-b7d8-59f52a44****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'BatchStopApplications', + 'summary' => 'Stop applications in batches.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-04-12T01:56:54.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BatchStopApplications'], ], - 500 => [ - [ - 'errorCode' => 'OperationFailed.DauthHttpRequest', - 'errorMessage' => 'request dauth failed.', + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:BatchStopApplications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteNamespaceResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a981dd515966966104121683d****</TraceId>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DeleteNamespaceResponse>","errorExample":""}]', - 'title' => 'DeleteNamespace', - 'summary' => 'Delete a namespace.', ], - 'DeleteIngress' => [ - 'path' => '/pop/v1/sam/ingress/Ingress', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'BindNlb' => [ + 'summary' => 'Binds a Network Load Balancer (NLB) instance to an application.', + 'path' => '/pop/v1/sam/app/nlb', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -4163,3972 +1887,2350 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '6313', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '259781', + 'abilityTreeNodes' => ['FEATUREsaeBRTWZ3'], ], 'parameters' => [ [ - 'name' => 'IngressId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the routing rule that you want to delete. You can call the [ListIngresses](~~153934~~) operation to obtain the ID of a routing rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '87', - ], + 'schema' => ['description' => 'The ID of the target application.', 'type' => 'string', 'required' => false, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + ], + [ + 'name' => 'NlbId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the NLB instance.', 'type' => 'string', 'required' => false, 'example' => 'nlb-7z7jjbzz44d82c9***', 'title' => ''], + ], + [ + 'name' => 'Listeners', + 'in' => 'query', + 'schema' => ['description' => 'The listeners, specified as a JSON-formatted string. Each listener object contains the following fields:'."\n" + ."\n" + .'- **Port**: Integer. Required. The listener port. Valid values: 0 to 65535.'."\n" + ."\n" + .'- **TargetPort**: Integer. Required. The port on the application instance that receives traffic. Valid values: 0 to 65535.'."\n" + ."\n" + .'- **Protocol**: String. Required. The listener protocol. Valid values: `TCP`, `UDP`, and `TCPSSL`.'."\n" + ."\n" + .'- **CertIds**: String. Optional. The server certificate IDs. This parameter is required only for `TCPSSL` listeners.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], + ], + [ + 'name' => 'ZoneMappings', + 'in' => 'query', + 'schema' => ['description' => 'The mappings between zones and vSwitches, specified as a JSON-formatted string. You can add up to 10 zones. If the current region supports two or more zones, you must specify at least two zones. Each `ZoneMapping` object contains the following fields:'."\n" + ."\n" + .'- **VSwitchId**: String. The ID of the vSwitch in the specified zone. Each zone can have only one vSwitch and one subnet.'."\n" + ."\n" + .'- ZoneId, String, the zone ID of the Network Load Balancer instance.', 'type' => 'string', 'required' => false, 'example' => 'vsw-sersdf****'."\n" + .'cn-hangzhou-a', 'title' => ''], + ], + [ + 'name' => 'AddressType', + 'in' => 'query', + 'schema' => ['description' => 'The address type of the NLB instance.'."\n" + ."\n" + .'- `Internet`: a public IP address.'."\n" + ."\n" + .'- `Intranet`: a private IP address.', 'type' => 'string', 'required' => false, 'example' => 'Internet', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'title' => 'Schema of Response', + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****'], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- A value of **success** is returned if the request is successful.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The request\'s trace ID, used for troubleshooting.', 'type' => 'string', 'example' => '0a06dfe717389800573793090e0589', 'title' => ''], 'Data' => [ - 'description' => 'The returned result.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'IngressId' => [ - 'description' => 'The ID of the deleted routing rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '87', - ], + 'ChangeOrderId' => ['description' => 'The ID of the change order. You can use this ID to query the task status.', 'type' => 'string', 'example' => 'ba386059-69b1-4e65-b1e5-0682d9fa****', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the routing rule was deleted. Valid values:'."\n" - ."\n" - .'* **true**: The routing rule was deleted.'."\n" - .'* **false**: The routing rule failed to be deleted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: Successful.'."\n" + ."\n" + .'- **3xx**: Redirection.'."\n" + ."\n" + .'- **4xx**: Client error.'."\n" + ."\n" + .'- **5xx**: Server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - ], - 500 => [ - [ - 'errorCode' => 'OperationFailed.RPCError', - 'errorMessage' => 'Internal RPC request processing error.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a06dfe717389800573793090e0589\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"ba386059-69b1-4e65-b1e5-0682d9fa****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'BindNlb', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:30.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:BindNlb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"IngressId\\": 87\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteIngressResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <IngressId>87</IngressId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DeleteIngressResponse>","errorExample":""}]', - 'title' => 'DeleteIngress', - 'summary' => 'Deletes a routing rule.', ], - 'UpdateNamespace' => [ - 'path' => '/pop/v1/paas/namespace', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'BindSlb' => [ + 'path' => '/pop/v1/sam/app/slb', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6403', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '6297', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The long ID of the namespace. If you configure this parameter, the long ID take effects and the value of the NameSpaceShortId parameter is ignored. To ensure compatibility, we recommend that you specify a short namespace ID. A long namespace ID follows the `<RegionId>:<NamespaceId>` format. The `NamespaceId` variable can contain only lowercase letters and digits. Example: `cn-beijing:test`. The value of the Namespaceid variable cannot exceed 32 characters in length. For more information about **RegionId**, you can call the [DescribeRegions](~~2834842~~) operation to obtain the IDs of regions supported by SAE.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => '0099b7be-5f5b-4512-a7fc-56049ef1\\*\\*\\*\\*'."\n", 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], ], [ - 'name' => 'NamespaceName', + 'name' => 'Internet', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the namespace. The name cannot exceed 64 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'name', - ], + 'schema' => ['description' => '\\[{"port":80,"targetPort":8080,"protocol":"TCP"}]'."\n", 'type' => 'string', 'required' => false, 'example' => '[{"port":80,"targetPort":8080,"protocol":"TCP"}]', 'title' => ''], ], [ - 'name' => 'NamespaceDescription', + 'name' => 'Intranet', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the namespace. The description cannot exceed 100 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'desc', - ], + 'schema' => ['description' => '\\[{"port":80,"targetPort":8080,"protocol":"TCP"}]'."\n", 'type' => 'string', 'required' => false, 'example' => '[{"port":80,"targetPort":8080,"protocol":"TCP"}]', 'title' => ''], ], [ - 'name' => 'NameSpaceShortId', + 'name' => 'InternetSlbId', 'in' => 'query', - 'schema' => [ - 'description' => 'The short ID of the namespace. You do not need to specify a region ID. We recommend that you configure this parameter. The value of this parameter can be up to 20 characters in length and can contain only lowercase letters and digits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'lb-bp1tg0k6d9nqaw7l1\\*\\*\\*\\*'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-bp1tg0k6d9nqaw7l1****', 'title' => ''], ], [ - 'name' => 'EnableMicroRegistration', + 'name' => 'IntranetSlbId', 'in' => 'query', - 'schema' => [ - 'description' => 'Indicates whether to enable SAE built-in registry:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n" - ."\n" - .'If you set this parameter to true, a shared registry is created for the namespace. The registry cannot be disabled after it is created.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'lb-bp1tg0k6d9nqaw7l1\\*\\*\\*\\*'."\n", 'type' => 'string', 'required' => false, 'example' => 'lb-bp1tg0k6d9nqaw7l1****', 'title' => ''], + ], + [ + 'name' => 'InternetSlbChargeType', + 'in' => 'query', + 'schema' => ['description' => 'The billing method of an Internet-facing SLB instance. The following billing methods are supported:'."\n" + ."\n" + .'* **PayBySpec**: Pay-by-specification.'."\n" + .'* **PayByCLCU**: Pay-by-CLCU.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PayBySpec', 'title' => ''], + ], + [ + 'name' => 'IntranetSlbChargeType', + 'in' => 'query', + 'schema' => ['description' => 'The billing method of an Internal-facing SLB instance. The following billing methods are supported:'."\n" + ."\n" + .'* **PayBySpec**: Pay-by-specification.'."\n" + .'* **PayByCLCU**: Pay-by-CLCU.'."\n", 'type' => 'string', 'required' => false, 'example' => 'PayBySpec', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned for the operation.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The ID of the request.'."\n", 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the trace. It can be used to query the details of a request.'."\n", 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The information about a namespace.'."\n", + 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'NamespaceDescription' => [ - 'description' => 'The description of the namespace.'."\n", - 'type' => 'string', - 'example' => 'desc', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'NamespaceName' => [ - 'description' => 'The name of the namespace.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'RegionId' => [ - 'description' => 'The region where the namespace resides.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'NameSpaceShortId' => [ - 'description' => 'The short ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'EnableMicroRegistration' => [ - 'description' => 'Indicates whether to enable SAE built-in registry:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ChangeOrderId' => ['description' => 'The ID of the change order. It can be used to query the task status.'."\n", 'type' => 'string', 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the information about the namespace was updated. Valid values:'."\n" - ."\n" - .'* **true**: The instance was updated.'."\n" - .'* **false**: The instance failed to be updated.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" + .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", 'type' => 'string', 'example' => '空', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'* **2xx**: indicates that the request was successful.'."\n" + .'* **3xx**: indicates that the request was redirected.'."\n" + .'* **4xx**: indicates that the request was invalid.'."\n" + .'* **5xx**: indicates that a server error occurred.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the SLB instance was successfully associated with the application. Valid values:'."\n" + ."\n" + .'* **true**: The SLB instance was successfully associated with the application.'."\n" + .'* **false**: The SLB instance could not be associated with the application.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidNamespaceName.Format', - 'errorMessage' => 'The specified NamespaceName is invalid. The name of the namespace cannot exceed 63 characters in length.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Exceed.Namespace', - 'errorMessage' => 'Too many namespaces have been created.', - ], - [ - 'errorCode' => 'InvalidNamespaceId.Format', - 'errorMessage' => 'The specified NamespaceId is invalid.', - ], + ['errorCode' => 'Slb.NotFound', 'errorMessage' => 'The SLB instance does not exist: slbId [%s]', 'description' => ''], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'SlbHttpsCert.NotConsistent', 'errorMessage' => 'The HTTPS listening certificate for each listener must match.', 'description' => ''], + ['errorCode' => 'SlbHttpsCert.NotFound', 'errorMessage' => 'You must configure the certificate before you configure HTTPS listening for the SLB instance.', 'description' => ''], + ['errorCode' => 'SlbListenerPort.NotAvailable', 'errorMessage' => 'The SLB listening port is unavailable: slbId [%s], port [%s]', 'description' => ''], + ['errorCode' => 'SlbListenerType.Invalid', 'errorMessage' => 'An SLB listener type error occurred. Only HTTPS and TCP are supported.', 'description' => ''], + ['errorCode' => 'SlbSpec.NotSupport', 'errorMessage' => 'Shared performance SLB instances are not supported.', 'description' => ''], + ['errorCode' => 'SlbType.Invalid', 'errorMessage' => 'An SLB network type error occurred.', 'description' => ''], + ['errorCode' => 'SSLCert.NotFound', 'errorMessage' => 'The specified SSL certificate cannot be found.', 'description' => ''], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'Application.NotDeployYet', 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', 'description' => 'The application has not been deployed. Please deploy it and try again.'], + ['errorCode' => 'InvalidParam.ProtocolNotSupport', 'errorMessage' => 'Only TCP protocol is supported.', 'description' => 'Only TCP protocol is supported.'], + ['errorCode' => 'SLBInstanceQuota.OverQuota', 'errorMessage' => 'The total number of SLB instances exceeds the quota. Please reduce the instances and try again.', 'description' => 'The total number of SLB instances exceeds the quota. Please reduce the instances and try again.'], + ['errorCode' => 'Slb.Tag.Not.Qualified', 'errorMessage' => 'The current SLB instance cannot be reused because it may have been occupied by %s.', 'description' => 'The current SLB instance cannot be reused because it may have been occupied by %s.'], + ['errorCode' => 'Application.NoInstanceAvailable', 'errorMessage' => 'No instance is available for the application. Please scale out and try again.', 'description' => 'No instance is available for the application. Please scale out and try again.'], + ['errorCode' => 'SlbAppVSwitch.NotMatch', 'errorMessage' => 'The SLB instance does not match the vSwitch of the current application.', 'description' => 'The specified vSwitch does not exist. Please change the vSwitch.'."\n"], ], 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', - ], + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"NamespaceDescription\\": \\"desc\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"NamespaceName\\": \\"name\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"NameSpaceShortId\\": \\"test\\",\\n \\"EnableMicroRegistration\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateNamespaceResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <NamespaceDescription>desc</NamespaceDescription>\\n <NamespaceId>cn-beijing:test</NamespaceId>\\n <NamespaceName>name</NamespaceName>\\n <RegionId>cn-beijing</RegionId>\\n <NameSpaceShortId>test</NameSpaceShortId>\\n <EnableMicroRegistration>true</EnableMicroRegistration>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateNamespaceResponse>","errorExample":""}]', - 'title' => 'UpdateNamespace', - 'summary' => 'Update the information about a namespace.', - ], - 'UpdateNamespaceVpc' => [ - 'path' => '/pop/v1/sam/namespace/updateNamespaceVpc', - 'methods' => [ - 'post', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BindSlbResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>01db03d3-3ee9-48b3-b3d0-dfce2d88****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</BindSlbResponse>","errorExample":""}]', + 'title' => 'BindSlb', + 'summary' => 'Binds a Server Load Balancer (SLB) instance to the application.', + 'changeSet' => [ + ['createdAt' => '2024-08-07T11:17:57.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-02-25T09:30:12.000Z', 'description' => 'Error codes changed'], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:BindSlb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BindSlb'], + ], ], + ], + 'ConfirmPipelineBatch' => [ + 'path' => '/pop/v1/sam/changeorder/ConfirmPipelineBatch', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6404', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '6302', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'vpc-2ze0i263cnn311nvj\\*\\*\\*\\*'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'VpcId', + 'name' => 'PipelineId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'vpc-2ze0i263cnn311nvj****', - ], + 'schema' => ['description' => 'The pipeline ID. To obtain the ID, call the <props="china">[DescribeChangeOrder](https://help.aliyun.com/zh/sae/serverless-app-engine-upgrade/developer-reference/api-sae-2019-05-06-describechangeorder?spm=a2c4g.11186623.help-menu-search-118957.d_0)</props><props="intl">[DescribeChangeOrder](https://www.alibabacloud.com/help/zh/sae/serverless-app-engine-classic/developer-reference/api-sae-2019-05-06-describechangeorder-old?spm=a2c63.p38356.help-menu-search-118957.d_0)</props> operation.', 'type' => 'string', 'required' => true, 'example' => 'e2e-vds-feh-***', 'title' => ''], ], [ - 'name' => 'NameSpaceShortId', + 'name' => 'Confirm', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'Specifies whether to start the next batch. Valid values:'."\n" + ."\n" + .'- **true**: Start the next batch.'."\n" + ."\n" + .'- **false**: Terminate the process.', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The returned message.'."\n" - ."\n" - .'* **success** is returned when the request succeeds.'."\n" - .'* An error code is returned when the request fails.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The ID of the trace. It can be used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'ErrorCode' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to look up the details of the call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The pipeline information.', + 'type' => 'object', + 'properties' => [ + 'PipelineId' => ['description' => 'The pipeline ID.', 'type' => 'string', 'example' => 'e2e-vds-feh-***', 'title' => ''], + ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'Indicates whether the VPC information was updated. Valid values:'."\n" - ."\n" - .'* **true**: indicates that the information was updated.'."\n" - .'* **false**: indicates that the information could not be updated.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- The **ErrorCode** field is not returned if the request is successful.'."\n" + ."\n" + .'- The **ErrorCode** field is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code for the request.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the batch confirmation was successful.'."\n" + ."\n" + .'- **true**: The confirmation was successful.'."\n" + ."\n" + .'- **false**: The confirmation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'DeleteFail.NamespaceHasIngress', - 'errorMessage' => 'Ingress detected when deleting the namespace.', - ], - [ - 'errorCode' => 'Namespace.AppExists', - 'errorMessage' => 'Please delete the application first.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'Pipeline.Can.Not.Start.Next.Batch', 'errorMessage' => 'You cannot start the next batch under the current status.', 'description' => 'You can not start next batch in current.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateNamespaceVpcResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateNamespaceVpcResponse>","errorExample":""}]', - 'title' => 'UpdateNamespaceVpc', - 'summary' => 'cn-beijing:test', - ], - 'UpdateApplicationVswitches' => [ - 'path' => '/pop/v1/sam/app/updateAppVswitches', - 'methods' => [ - 'put', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"PipelineId\\": \\"e2e-vds-feh-***\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ConfirmPipelineBatch', + 'summary' => 'Confirms whether to start the next batch.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:30.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ConfirmPipelineBatch'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:ConfirmPipelineBatch', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateApplication' => [ + 'path' => '/pop/v1/sam/app/createApplication', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6398', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '6303', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'schema' => ['description' => 'The application name. The name can contain digits, letters, and hyphens (-). The name must start with a letter and cannot end with a hyphen (-). The name can be up to 36 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'schema' => ['description' => 'The SAE namespace ID. Only namespaces whose names contain lowercase letters and hyphens (-) are supported. The name must start with a letter.'."\n" + .'You can obtain namespaces by calling the [DescribeNamespaceList](~~126547~~) operation.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], + ], + [ + 'name' => 'AppDescription', + 'in' => 'query', + 'schema' => ['description' => 'The application description. The description can be up to 1024 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'This is a test description.', 'title' => ''], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => 'The VPC that corresponds to the SAE namespace. In SAE, a namespace can correspond to only one VPC, and the mapping cannot be modified. The binding relationship is established when the first SAE application is created in the namespace. Multiple namespaces can correspond to the same VPC. If you leave this parameter empty, the VPC bound to the namespace is used by default.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1aevy8sofi8mh1q****', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'vsw-2ze559r1z1bpwqxwp****', - ], + 'schema' => ['description' => 'The vSwitch where the elastic network interface controller (NIC) of the application instance resides. The vSwitch must be in the specified VPC. The vSwitch also has a binding relationship with the SAE namespace. If you leave this parameter empty, the vSwitch attached to the namespace is used by default.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp12mw1f8k3jgygk9****', 'title' => ''], ], [ - 'name' => 'Deploy', + 'name' => 'PackageType', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The type of the application deployment package. Valid values:'."\n" + ."\n" + .'- If you use Java for deployment, **FatJar**, **War**, and **Image** are supported.'."\n" + .'- If you use PHP for deployment, the following types are supported:'."\n" + .' - **PhpZip**'."\n" + .' - **IMAGE\\_PHP\\_5\\_4**'."\n" + .' - **IMAGE\\_PHP\\_5\\_4\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_5\\_5**'."\n" + .' - **IMAGE\\_PHP\\_5\\_5\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_5\\_6**'."\n" + .' - **IMAGE\\_PHP\\_5\\_6\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_0**'."\n" + .' - **IMAGE\\_PHP\\_7\\_0\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_1**'."\n" + .' - **IMAGE\\_PHP\\_7\\_1\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_2**'."\n" + .' - **IMAGE\\_PHP\\_7\\_2\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_3**'."\n" + .' - **IMAGE\\_PHP\\_7\\_3\\_ALPINE**'."\n" + .'- If you use Python for deployment, **PythonZip** and **Image** are supported.'."\n" + ."\n" + .'- If you use .NET Core for deployment, **DotnetZip** and **Image** are supported.'."\n" + .' > '."\n" + .' > When DotnetZip is selected, Dotnet specifies the version of the .NET Core runtime. .NET 3.1, .NET 5.0, .NET 6.0, .NET 7.0, and .NET 8.0 are supported. The Dotnet, Command, and CommandArgs parameters are required.', 'type' => 'string', 'required' => true, 'example' => 'FatJar', 'title' => ''], ], [ - 'name' => 'MinReadyInstances', + 'name' => 'PackageVersion', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The version of the deployment package. This parameter is required when **Package Type** is set to **FatJar**, **War**, or **PythonZip**.', 'type' => 'string', 'required' => false, 'example' => '1.0.0', 'title' => ''], ], [ - 'name' => 'MinReadyInstanceRatio', + 'name' => 'PackageUrl', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The address of the deployment package. This parameter is required when **Package Type** is set to **FatJar**, **War**, or **PythonZip**.', 'type' => 'string', 'required' => false, 'example' => 'http://myoss.oss-cn-****.aliyuncs.com/my-buc/2019-06-30/****.jar', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The information returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned. Valid values:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the request was successful, this parameter is not returned.****'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error code** section of this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of applications was obtained. Valid values:'."\n" - ."\n" - .'* **true**: The applications were obtained.'."\n" - .'* **false**: The applications failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + [ + 'name' => 'ImageUrl', + 'in' => 'query', + 'schema' => ['description' => 'The image address. This parameter is required when **Package Type** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1', 'title' => ''], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], + [ + 'name' => 'Jdk', + 'in' => 'query', + 'schema' => ['description' => 'The JDK version on which the deployment package depends. Valid values:'."\n" + ."\n" + .'- **Open JDK 8**'."\n" + .'- **Open JDK 7**'."\n" + .'- **Dragonwell 11**'."\n" + .'- **Dragonwell 8**'."\n" + .'- **openjdk-8u191-jdk-alpine3.9**'."\n" + .'- **openjdk-7u201-jdk-alpine3.9**'."\n" + ."\n" + .'This parameter is not supported when **Package Type** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'Open JDK 8', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'UpdateApplicationVswitches', - 'summary' => 'Update the configuration of a vSwitch.', - ], - 'UpdateIngress' => [ - 'path' => '/pop/v1/sam/ingress/Ingress', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'WebContainer', + 'in' => 'query', + 'schema' => ['description' => 'The version of Tomcat on which the WebContainer deployment package depends. Valid values:'."\n" + ."\n" + .'- **apache-tomcat-7.0.91**'."\n" + .'- **apache-tomcat-8.5.42**'."\n" + ."\n" + .'This parameter is not supported when **Package Type** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'apache-tomcat-7.0.91', 'title' => ''], ], - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6401', - 'abilityTreeNodes' => [ - 'FEATUREsaeBRTWZ3', + [ + 'name' => 'Cpu', + 'in' => 'query', + 'schema' => ['description' => 'The CPU specifications required for each instance, in millicores. This parameter cannot be set to 0. Only the following defined specifications are supported:'."\n" + ."\n" + .'- **500**'."\n" + .'- **1000**'."\n" + .'- **2000**'."\n" + .'- **4000**'."\n" + .'- **8000**'."\n" + .'- **16000**'."\n" + .'- **32000**', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'IngressId', + 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the routing rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '87', - ], + 'schema' => ['description' => 'The memory required for each instance, in MB. This parameter cannot be set to 0. The memory has a one-to-one mapping with CPU. Only the following defined specifications are supported:'."\n" + .'- **1024**: corresponds to 500 and 1000 millicores of CPU.'."\n" + .'- **2048**: corresponds to 500, 1000, and 2000 millicores of CPU.'."\n" + .'- **4096**: corresponds to 1000, 2000, and 4000 millicores of CPU.'."\n" + .'- **8192**: corresponds to 2000, 4000, and 8000 millicores of CPU.'."\n" + .'- **12288**: corresponds to 12000 millicores of CPU.'."\n" + .'- **16384**: corresponds to 4000, 8000, and 16000 millicores of CPU.'."\n" + .'- **24576**: corresponds to 12000 millicores of CPU.'."\n" + .'- **32768**: corresponds to 16000 millicores of CPU.'."\n" + .'- **65536**: corresponds to 8000, 16000, and 32000 millicores of CPU.'."\n" + .'- **131072**: corresponds to 32000 millicores of CPU.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1024', 'title' => ''], ], [ - 'name' => 'CertId', + 'name' => 'Replicas', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the **CLB** certificate. Valid values:'."\n" - ."\n" - .'* If the **LoadBalanceType** is **clb**, use this field to configure the HTTPS listener certificate.'."\n" - ."\n" - .'For more information about how to use SSL certificate IDs for CLB, see [Manage certificates (CLB)](~~90792~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '188077086902****_176993d****_181437****_108724****', - ], + 'schema' => ['description' => 'The initial number of instances.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], [ - 'name' => 'CertIds', + 'name' => 'Command', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the multi-certificate **ALB**. Valid values:'."\n" - ."\n" - .'* If the **LoadBalanceType** is **alb**, use this field to configure multiple certificates for HTTPS listeners. Separate multiple certificate IDs with commas (,).'."\n" - .'* The ID of the SSL certificate used by ALB must be obtained from the digital certificate product. For example, in the configuration `756***-cn-hangzhou`, the `756***` is the certificate ID obtained from the product page, and the `-cn-hangzhou` is a fixed suffix. For more information, see [Manage certificates](~~209076~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '87***35-cn-hangzhou,812***3-cn-hangzhou', - ], + 'schema' => ['description' => 'The command that is used to start the image. The command must be an executable object in the container. Example:'."\n" + ."\n" + .'```'."\n" + .'command:'."\n" + .' - echo'."\n" + .' - abc'."\n" + .' - >'."\n" + .' - file0'."\n" + .'```'."\n" + .'In the preceding example, `Command="echo", CommandArgs=["abc", ">", "file0"]`.'."\n" + ."\n\n" + .'><notice>This parameter is required when PackageType is set to DotnetZip.></notice>', 'type' => 'string', 'required' => false, 'example' => 'echo', 'title' => ''], ], [ - 'name' => 'Description', + 'name' => 'CommandArgs', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the routing rule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ingress-sae-test', - ], + 'schema' => ['description' => 'The arguments of the image startup command. These are the arguments required by the startup command specified in **Command**. Format:'."\n" + ."\n" + .'`["a","b"]`'."\n" + ."\n" + .'In the preceding example, `CommandArgs=["abc", ">", "file0"]`, where `["abc", ">", "file0"]` must be converted to the String type. The internal format is a JSON array. If this parameter is not required, leave it empty.'."\n" + .'><notice>This parameter is required when PackageType is set to DotnetZip.></notice>', 'type' => 'string', 'required' => false, 'example' => '["a","b"]', 'title' => ''], ], [ - 'name' => 'ListenerPort', + 'name' => 'Envs', 'in' => 'query', - 'schema' => [ - 'description' => 'The SLB listening port. This port cannot be occupied.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '443', - ], + 'schema' => ['description' => 'The container environment variable parameters. You can customize environment variables or reference a ConfigMap. To reference a ConfigMap, create a ConfigMap instance first. For more information, see [CreateConfigMap](~~176914~~). Valid values:'."\n" + .'- Custom configuration'."\n" + .' - **name**: the name of the environment variable.'."\n" + .' - **value**: the value of the environment variable. This takes priority over valueFrom.'."\n" + .'- Reference a ConfigMap (valueFrom)'."\n" + .' - **name**: the name of the environment variable. You can reference a single key or all keys. To reference all keys, enter `sae-sys-configmap-all-<ConfigMap name>`, such as `sae-sys-configmap-all-test1`.'."\n" + .' - **valueFrom**: the environment variable reference. Set the value to `configMapRef`.'."\n" + .' - **configMapId**: the ConfigMap ID.'."\n" + .' - **key**: the key. If you reference all keys, do not set this field.', 'type' => 'string', 'required' => false, 'example' => '['."\n" + .' {'."\n" + .' "name": "sae-sys-configmap-all-hello",'."\n" + .' "valueFrom": {'."\n" + .' "configMapRef": {'."\n" + .' "configMapId": 100,'."\n" + .' "key": ""'."\n" + .' }'."\n" + .' }'."\n" + .' },'."\n" + .' {'."\n" + .' "name": "hello",'."\n" + .' "valueFrom": {'."\n" + .' "configMapRef": {'."\n" + .' "configMapId": 101,'."\n" + .' "key": "php-fpm"'."\n" + .' }'."\n" + .' }'."\n" + .' },'."\n" + .' {'."\n" + .' "name": "envtmp",'."\n" + .' "value": "newenv"'."\n" + .' }'."\n" + .']', 'title' => ''], ], [ - 'name' => 'DefaultRule', + 'name' => 'CustomHostAlias', 'in' => 'query', - 'schema' => [ - 'description' => 'The default forwarding rule. Forwards traffic to a specified application through a specified port based on the IP address. The following table describes the parameters.'."\n" - ."\n" - .'* **appId**: the ID of the application.'."\n" - .'* **containerPort**: the container port of the application.'."\n" - ."\n" - .'> All requests that do not match the forwarding rules specified for Rules are forwarded over the port to the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080}', - ], + 'schema' => ['description' => 'The custom host mapping in the container. Valid values:'."\n" + ."\n" + .'- **hostName**: the domain name or hostname.'."\n" + .'- **ip**: the IP address.', 'type' => 'string', 'required' => false, 'example' => '[{"hostName":"samplehost","ip":"127.0.0.1"}]', 'title' => ''], ], [ - 'name' => 'Rules', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The forwarding rule. Forwards traffic to a specified application through a specified port based on the domain name and request path. The following table describes the parameters.'."\n" - ."\n" - .'* **appId**: the ID of the application.'."\n" - .'* **containerPort**: The port of the application instance.'."\n" - .'* **domain**: the domain name.'."\n" - .'* **path**: the request path.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080,"domain":"www.sae.site","path":"/path1"},{"appId":"666403ce-d25b-47cf-87fe-497565d2****","containerPort":8080,"domain":"sae.site","path":"/path2"}]', - ], + 'name' => 'JarStartOptions', + 'in' => 'query', + 'schema' => ['description' => 'The options for starting the JAR package application. The default startup command for the application: `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`', 'type' => 'string', 'required' => false, 'example' => '-Xms4G -Xmx4G', 'title' => ''], ], [ - 'name' => 'LoadBalanceType', + 'name' => 'JarStartArgs', 'in' => 'query', - 'schema' => [ - 'description' => 'The parameter is deprecated and cannot be updated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'clb', - ], + 'schema' => ['description' => 'The arguments for starting the JAR package application. The default startup command for the application: `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`', 'type' => 'string', 'required' => false, 'example' => 'custom-args', 'title' => ''], ], [ - 'name' => 'ListenerProtocol', + 'name' => 'Liveness', 'in' => 'query', - 'schema' => [ - 'description' => 'The protocol that is used to forward requests. Valid values:'."\n" - ."\n" - .'* **HTTP**: HTTP is suitable for applications that need to identify transmitted data.'."\n" - .'* **HTTPS**: HTTPS is suitable for applications that require encrypted data transmission.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], + 'schema' => ['description' => 'The container health check. Containers that fail the health check are shutdown and recovered. The following methods are supported:'."\n" + ."\n" + .'- **exec**: for example, `{"exec":{"command":\\["sh","-c","cat/home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}`'."\n" + .'- **httpGet**: for example, `{"httpGet":{"path":"/","port":18091,"scheme":"HTTP","isContainKeyWord":true,"keyWord":"SAE"},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" + .'- **tcpSocket**: for example, `{"tcpSocket":{"port":18091},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" + ."\n" + .'> You can use only one method for health checks.'."\n" + ."\n" + .'Parameter description:'."\n" + ."\n" + .'- **exec.command**: the health check command.'."\n" + .'- **httpGet.path**: the access path.'."\n" + .'- **httpGet.scheme**: **HTTP** or **HTTPS**.'."\n" + .'- **httpGet.isContainKeyWord**: **true** indicates that the keyword is included. **false** indicates that the keyword is not included. If this field is missing, the advanced feature is not used.'."\n" + .'- **httpGet.keyWord**: the custom keyword. The **isContainKeyWord** field must be present when this field is used.'."\n" + .'- **tcpSocket.port**: the port for TCP connection detection.'."\n" + .'- **initialDelaySeconds**: the health check delay detection time. Default value: 10. Unit: seconds.'."\n" + .'- **periodSeconds**: the health check period. Default value: 30. Unit: seconds.'."\n" + .'- **timeoutSeconds**: the health check timeout period. Default value: 1. Unit: seconds. If this parameter is set to 0 or is not set, the default timeout period is 1 second.', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}', 'title' => ''], ], [ - 'name' => 'RequestTimeout', + 'name' => 'Readiness', 'in' => 'query', - 'schema' => [ - 'title' => '指定请求超时时间。单位:秒。'."\n" - ."\n" - .'取值:1~180。'."\n" - ."\n" - .'默认值:60。'."\n" - ."\n" - .'如果在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,并给客户端返回HTTP 504错误码。', - 'description' => 'The request timed out. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '60', - ], + 'schema' => ['description' => 'The application startup status check. Containers that fail multiple health checks are shut down and restarted. Containers that do not pass the health check do not receive SLB traffic. The **exec**, **httpGet**, and **tcpSocket** methods are supported. For specific examples, see the **Liveness** parameter.'."\n" + ."\n" + .'> You can use only one method for health checks.', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}', 'title' => ''], ], [ - 'name' => 'SecurityPolicyId', + 'name' => 'Deploy', 'in' => 'query', - 'schema' => [ - 'title' => '安全策略 ID。支持系统安全策略和自定义安全策略。'."\n" - .'说明'."\n" - .'仅 HTTPS 监听支持此参数。', - 'description' => 'The ID of a security policy.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'tls_cipher_policy_1_2_strict_with_1_3', - ], + 'schema' => ['description' => 'Specifies whether to immediately deploy the application. Valid values:'."\n" + ."\n" + .'- **true**: default value. The application is deployed immediately.'."\n" + .'- **false**: the application is deployed later.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'IdleTimeout', + 'name' => 'EdasContainerVersion', 'in' => 'query', - 'schema' => [ - 'title' => '指定连接空闲超时时间。单位:秒。'."\n" - ."\n" - .'取值范围:1~60。'."\n" - ."\n" - .'默认值:15。'."\n" - ."\n" - .'如果在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'description' => 'The timeout period of idle connections. Unit: seconds.'."\n" - ."\n" - .'> A value of 0 indicates that the default value is used.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '15', - ], + 'schema' => ['description' => 'The version of the application runtime environment in the HSF framework, such as the Ali-Tomcat container.', 'type' => 'string', 'required' => false, 'example' => '3.5.3', 'title' => ''], ], [ - 'name' => 'EnableXForwardedFor', + 'name' => 'Timezone', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'The time zone. Default value: **Asia/Shanghai**.', 'type' => 'string', 'required' => false, 'example' => 'Asia/Shanghai', 'title' => ''], ], [ - 'name' => 'EnableXForwardedForClientSrcPort', + 'name' => 'SlsConfigs', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'The configurations for log collection to Simple Log Service.'."\n" + ."\n" + .'- Use SLS resources that are automatically created by SAE: `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" + .'- Use custom SLS resources: `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" + ."\n" + .'Parameter description:'."\n" + ."\n" + .'- **projectName**: the Project name in Simple Log Service. '."\n" + .'- **logDir**: the log path.'."\n" + .'- **logType**: the log type. **stdout** indicates container standard output logs. You can configure only one entry for this type. If this parameter is not set, file logs are collected.'."\n" + .'- **logstoreName**: the Logstore name in Simple Log Service.'."\n" + .'- **logtailName**: the Logtail name in Simple Log Service. If this parameter is not specified, a new Logtail is created.'."\n" + ."\n" + .'If the SLS collection configuration does not change during multiple deployments, you do not need to set this parameter (that is, the **SlsConfigs** field does not need to be included in the request). If you no longer need the SLS collection feature, set the value of this field to an empty string (that is, set the value of the **SlsConfigs** field to "" in the request).'."\n" + ."\n" + .'> Projects that are automatically created with the application are deleted when the application is deleted. Therefore, do not select a project that is automatically created by SAE when you select an existing project.', 'type' => 'string', 'required' => false, 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', 'title' => ''], ], [ - 'name' => 'EnableXForwardedForProto', + 'name' => 'NasId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'We recommend that you do not set this parameter. Set **NasConfigs** instead. The ID of the mounted NAS file system. The NAS file system must be in the same region as the cluster. The NAS file system must have available mount target creation quota, or its mount target must already be on a vSwitch in the VPC. If this parameter is left empty and the **mountDescs** field exists, a NAS file system is automatically purchased and mounted to a vSwitch in the VPC.'."\n" + ."\n" + .'If the configuration does not change during deployment, you do not need to set this parameter (that is, the **NASId** field does not need to be included in the request). To clear the NAS configuration, set the value of this field to an empty string (that is, set the value of the **NASId** field to "" in the request).', 'type' => 'string', 'required' => false, 'example' => 'KSAK****', 'title' => ''], ], [ - 'name' => 'EnableXForwardedForSlbId', + 'name' => 'MountHost', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'We recommend that you do not set this parameter. Set **NasConfigs** instead. The mount target of the NAS file system in the VPC of the application. If the configuration does not change during deployment, you do not need to set this parameter (that is, the **MountHost** field does not need to be included in the request). To clear the NAS configuration, set the value of this field to an empty string (that is, set the value of the **MountHost** field to "" in the request).', 'type' => 'string', 'required' => false, 'example' => 'example.com', 'title' => ''], ], [ - 'name' => 'EnableXForwardedForSlbPort', + 'name' => 'MountDesc', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'We recommend that you do not set this parameter. Set **NasConfigs** instead. The NAS mount description. If the configuration does not change during deployment, you do not need to set this parameter (that is, the **MountDesc** field does not need to be included in the request). To clear the NAS configuration, set the value of this field to an empty string (that is, set the value of the **MountDesc** field to "" in the request).', 'type' => 'string', 'required' => false, 'example' => '[{mountPath: "/tmp", nasPath: "/"}]', 'title' => ''], ], [ - 'name' => 'CorsConfig', + 'name' => 'PreStop', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The script that is run before the container is stopped. A script is triggered and run before the container is deleted. Format: `{"exec":{"command":\\["cat","/etc/group"]}}`', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["cat","/etc/group"]}}', 'title' => ''], ], [ - 'name' => 'EnableGzip', + 'name' => 'PostStart', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'The script that is run after the container is started. A script is triggered and run immediately after the container is created. Format: `{"exec":{"command":\\["cat","/etc/group"]}}`', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["cat","/etc/group"]}}', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'Additional information. Valid values:'."\n" - ."\n" - .'* The error message returned because the request is normal and **success** is returned.'."\n" - .'* If the request is abnormal, the specific exception error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'Responses.'."\n", - 'type' => 'object', - 'properties' => [ - 'IngressId' => [ - 'description' => 'The ID of the routing rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '87', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see the **Error codes** section of this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Whether the configuration of the Ingress instance is updated. Valid values:'."\n" - ."\n" - .'* **true**: The update was successful.'."\n" - .'* **false**: Update failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + [ + 'name' => 'WarStartOptions', + 'in' => 'query', + 'schema' => ['description' => 'The startup command for deploying a WAR package application. The configuration procedure is the same as that for the startup command of an image deployment. For more information, see [Configure a startup command](~~96677~~).', 'type' => 'string', 'required' => false, 'example' => 'CATALINA_OPTS=\\"$CATALINA_OPTS $Options\\" catalina.sh run', 'title' => ''], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'Exceed.IngressRule', - 'errorMessage' => 'The number of Ingress related rules must be less than or equal to 40.', - ], - [ - 'errorCode' => 'SlbListenerPort.NotAvailable', - 'errorMessage' => 'The SLB listening port is unavailable: slbId [%s], port [%s]', - ], - [ - 'errorCode' => 'SSLCert.NotFound', - 'errorMessage' => 'The specified SSL certificate cannot be found.', - ], + [ + 'name' => 'ConfigMapMountDesc', + 'in' => 'formData', + 'schema' => ['description' => 'The **ConfigMap** mount description. Use a ConfigMap created on the namespace configuration items page to inject configuration information into the container. Parameter description:'."\n" + ."\n" + .'- **configMapId**: the ConfigMap instance ID. You can obtain the ID by invoking the [ListNamespacedConfigMaps](~~176917~~) operation.'."\n" + .'- **key**: the key.'."\n" + ."\n" + .'> You can mount all keys by passing the `sae-sys-configmap-all` parameter.'."\n" + ."\n" + .'- **mountPath**: the mount path.', 'type' => 'string', 'required' => false, 'example' => '[{"configMapId":16,"key":"test","mountPath":"/tmp"}]', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"IngressId\\": 87\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateIngressResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <IngressId>87</IngressId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateIngressResponse>","errorExample":""}]', - 'title' => 'UpdateIngress', - 'summary' => 'Update the configurations of an Ingress instance.', - ], - 'DescribeNamespace' => [ - 'path' => '/pop/v1/paas/namespace', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The security group ID.', 'type' => 'string', 'required' => false, 'example' => 'sg-wz969ngg2e49q5i4****', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6338', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', + [ + 'name' => 'AutoConfig', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically configure the network environment. Valid values:'."\n" + ."\n" + .'- **true**: SAE automatically configures the network environment when the application is created. The values of **NamespaceId**, **VpcId**, **vSwitchId**, and **SecurityGroupId** are ignored.'."\n" + .'- **false**: SAE manually configures the network environment when the application is created.'."\n" + ."\n" + .'> If this parameter is set to **true**, any other **NamespaceId** value that is passed is ignored.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'TerminationGracePeriodSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace. The information about the default namespace cannot be queried or modified. The default namespace cannot be deleted.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The timeout period for graceful shutdown. Default value: 30. Unit: seconds. Valid values: 1 to 300.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '6000', 'minimum' => '0', 'default' => '30', 'required' => false, 'example' => '30', 'title' => ''], ], [ - 'name' => 'NameSpaceShortId', + 'name' => 'PhpArmsConfigLocation', 'in' => 'query', - 'schema' => [ - 'description' => 'The short ID of the namespace. You do not need to specify a region ID. The value of this parameter can be up to 20 characters in length and can contain only lowercase letters and digits.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The mount path for PHP application monitoring. Make sure that the PHP server loads the configuration file from this path.'."\n" + .'You do not need to manage the configuration content. SAE automatically renders the correct configuration file.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/etc/php/conf.d/arms.ini', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The response parameters.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a981dd515966966104121683d****', - ], - 'Data' => [ - 'description' => 'The information about the namespace.'."\n", - 'type' => 'object', - 'properties' => [ - 'NamespaceDescription' => [ - 'description' => 'The description of the namespace.'."\n", - 'type' => 'string', - 'example' => 'desc', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace. The information about the default namespace cannot be queried or modified. The default namespace cannot be deleted.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'NamespaceName' => [ - 'description' => 'The name of the namespace.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'NameSpaceShortId' => [ - 'description' => 'The short ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'EnableMicroRegistration' => [ - 'description' => 'Indicates whether the SAE built-in registry is enabled. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the information about the namespace was queried successfully. Valid values:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: The image failed to be found.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + [ + 'name' => 'PhpConfigLocation', + 'in' => 'query', + 'schema' => ['description' => 'The mount path for the PHP application startup configuration. Make sure that the PHP server uses this configuration file to start.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/etc/php/php.ini', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"NamespaceDescription\\": \\"desc\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"NamespaceName\\": \\"name\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"NameSpaceShortId\\": \\"test\\",\\n \\"EnableMicroRegistration\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeNamespaceResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a981dd515966966104121683d****</TraceId>\\n <Data>\\n <NamespaceDescription>desc</NamespaceDescription>\\n <NamespaceId>cn-beijing:test</NamespaceId>\\n <NamespaceName>name</NamespaceName>\\n <RegionId>cn-beijing</RegionId>\\n <NameSpaceShortId>test</NameSpaceShortId>\\n <EnableMicroRegistration>true</EnableMicroRegistration>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeNamespaceResponse>","errorExample":""}]', - 'title' => 'DescribeNamespace', - 'summary' => 'Queries the details of a namespace.', - ], - 'DescribeNamespaces' => [ - 'path' => '/pop/v1/paas/namespaces', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'PhpConfig', + 'in' => 'formData', + 'schema' => ['description' => 'The content of the PHP configuration file.', 'type' => 'string', 'required' => false, 'example' => 'k1=v1', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6341', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', + [ + 'name' => 'TomcatConfig', + 'in' => 'query', + 'schema' => ['description' => 'The Tomcat configuration. Set this parameter to "" or "{}" to delete the configuration:'."\n" + ."\n" + .'- **port**: the port number. Valid values: 1024 to 65535. Ports less than 1024 require root permissions. Because the container is configured with admin permissions, specify a port greater than 1024. Default value: 8080.'."\n" + .'- **contextPath**: the access path. Default value: root directory "/".'."\n" + .'- **maxThreads**: the maximum number of connections in the connection pool. Default value: 400.'."\n" + .'- **uriEncoding**: the encoding format of Tomcat. Valid values: **UTF-8**, **ISO-8859-1**, **GBK**, and **GB2312**. Default value: **ISO-8859-1**.'."\n" + .'- **useBodyEncodingForUri**: specifies whether to use **BodyEncoding for URL**. Default value: **true**.', 'type' => 'string', 'required' => false, 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'CurrentPage', + 'name' => 'OssMountDescs', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => 'The OSS mount description. Parameter description:'."\n" + ."\n" + .'- **bucketName**: the bucket name.'."\n" + .'- **bucketPath**: the folder or object that you created in OSS. If the OSS mount folder does not exist, an exception is triggered.'."\n" + .'- **mountPath**: the container path in SAE. If the path already exists, it is an overwrite relationship. If the path does not exist, it is created.'."\n" + .'- **readOnly**: specifies whether the container path has read-only permission on the mounted folder resources. Valid values:'."\n" + .' - **true**: read-only permission.'."\n" + .' - **false**: read and write permission.', 'type' => 'string', 'example' => '[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]', 'required' => false], + ], + [ + 'name' => 'OssAkId', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => 'The AccessKey ID for OSS read and write operations.', 'type' => 'string', 'example' => 'xxxxxx', 'required' => false], + ], + [ + 'name' => 'OssAkSecret', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => 'The AccessKey Secret for OSS read and write operations.', 'type' => 'string', 'example' => 'xxxxxx', 'required' => false], + ], + [ + 'name' => 'Php', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => 'The PHP version on which the deployment package depends. Not supported for images.', 'type' => 'string', 'example' => 'PHP-FPM 7.0', 'required' => false], + ], + [ + 'name' => 'AcrInstanceId', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => 'The instance ID of the Container Registry Enterprise instance. This parameter is required when **ImageUrl** is set to a Container Registry Enterprise Edition image.', 'type' => 'string', 'docRequired' => false, 'example' => 'cri-xxxxxx', 'required' => false], + ], + [ + 'name' => 'AcrAssumeRoleArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The ARN of the RAM role required for cross-account image pulling. For more information, see [Grant permissions across Alibaba Cloud accounts by using a RAM role](~~223585~~).', 'type' => 'string', 'required' => false, 'example' => 'acs:ram::123456789012****:role/adminrole', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'ImagePullSecrets', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page. Valid values: 0 to 10000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '10', - ], + 'schema' => ['description' => 'The corresponding secret ID.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a981dd515966966104121683d****', - ], - 'Data' => [ - 'description' => 'The information of namespaces.'."\n", - 'type' => 'object', - 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The total number of namespaces.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'PageSize' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Namespaces' => [ - 'description' => 'The namespaces.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'NamespaceDescription' => [ - 'description' => 'The description of the namespace.'."\n", - 'type' => 'string', - 'example' => 'desc', - ], - 'AccessKey' => [ - 'description' => 'The ACM-specific AccessKey ID. It can be used to manage data in an Application Configuration Management (ACM) namespace. For more information, see [Differences between Alibaba Cloud AccessKey and ACM-specific AccessKey](~~68941~~).'."\n", - 'type' => 'string', - 'example' => 'b34dbe3315c64f9f99b58ea447ec****', - ], - 'SecretKey' => [ - 'description' => 'The ACM-specific AccessKey secret. It can be used to manage data in an ACM namespace. For more information, see [Differences between Alibaba Cloud AccessKey and ACM-specific AccessKey](~~68941~~).'."\n", - 'type' => 'string', - 'example' => 'G/w6sseK7+nb3S6HBmANDBMD****', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace. You cannot query, modify, or delete the default namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'AddressServerHost' => [ - 'description' => 'The endpoint of the host.'."\n", - 'type' => 'string', - 'example' => 'addr-bj-internal.edas.aliyun.com', - ], - 'NamespaceName' => [ - 'description' => 'The name of the namespace.'."\n", - 'type' => 'string', - 'example' => 'name', - ], - 'TenantId' => [ - 'description' => 'The tenant ID.'."\n", - 'type' => 'string', - 'example' => '838cad95-973f-48fe-830b-2a8546d7****', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'NameSpaceShortId' => [ - 'description' => 'The short ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of namespaces was queried. Valid values:'."\n" - ."\n" - .'* **true**: The list was queried.'."\n" - .'* **false**: The list failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + [ + 'name' => 'AssociateEip', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => 'Specifies whether to associate an EIP. Valid values:'."\n" + ."\n" + .'- **true**: associate an EIP.'."\n" + .'- **false**: do not associate an EIP.', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 100,\\n \\"PageSize\\": 10,\\n \\"Namespaces\\": [\\n {\\n \\"NamespaceDescription\\": \\"desc\\",\\n \\"AccessKey\\": \\"b34dbe3315c64f9f99b58ea447ec****\\",\\n \\"SecretKey\\": \\"G/w6sseK7+nb3S6HBmANDBMD****\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"AddressServerHost\\": \\"addr-bj-internal.edas.aliyun.com\\",\\n \\"NamespaceName\\": \\"name\\",\\n \\"TenantId\\": \\"838cad95-973f-48fe-830b-2a8546d7****\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"NameSpaceShortId\\": \\"test\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeNamespacesResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a981dd515966966104121683d****</TraceId>\\n <Data>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>100</TotalSize>\\n <PageSize>10</PageSize>\\n <Namespaces>\\n <NamespaceDescription>desc</NamespaceDescription>\\n <AccessKey>b34dbe3315c64f9f99b58ea447ec****</AccessKey>\\n <SecretKey>G/w6sseK7+nb3S6HBmANDBMD****</SecretKey>\\n <NamespaceId>cn-beijing:test</NamespaceId>\\n <AddressServerHost>addr-bj-internal.edas.aliyun.com</AddressServerHost>\\n <NamespaceName>name</NamespaceName>\\n <TenantId>838cad95-973f-48fe-830b-2a8546d7****</TenantId>\\n <RegionId>cn-beijing</RegionId>\\n </Namespaces>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeNamespacesResponse>","errorExample":""}]', - 'title' => 'DescribeNamespaces', - 'summary' => 'Queries a list of namespaces.', - ], - 'DescribeNamespaceList' => [ - 'path' => '/pop/v1/sam/namespace/describeNamespaceList', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ProgrammingLanguage', + 'in' => 'query', + 'schema' => ['description' => 'The programming language of the technology stack used to create the application. Valid values:'."\n" + ."\n" + .'- **java**: Java.'."\n" + .'- **php**: PHP.'."\n" + .'- **python**: Python.'."\n" + .'- **dotnet**: .NET Core.'."\n" + .'- **other**: multiple languages, such as C++, Go, and Node.js.', 'type' => 'string', 'required' => false, 'example' => 'java', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6339', - 'abilityTreeNodes' => [ - 'FEATUREsaeBRTWZ3', + [ + 'name' => 'KafkaConfigs', + 'in' => 'query', + 'schema' => ['description' => 'The summary of configurations for log collection to Kafka. Valid values:'."\n" + ."\n" + .'- **kafkaEndpoint**: the service registration address of the Kafka API.'."\n" + .'- **kafkaInstanceId**: the Kafka instance ID.'."\n" + .'- **kafkaConfigs**: the summary of configurations for one or more log entries. For more information about the valid values, see the **kafkaConfigs** request parameter in this topic.', 'type' => 'string', 'required' => false, 'example' => '{"kafkaEndpoint":"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX","kafkaInstanceId":"alikafka_pre-cn-7pp2l8kr****","kafkaConfigs":[{"logType":"file_log","logDir":"/tmp/a.log","kafkaTopic":"test2"},{"logType":"stdout","logDir":"","kafkaTopic":"test"}]}', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'ContainCustom', + 'name' => 'PvtzDiscoverySvc', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to return custom namespaces. Valid values:'."\n" - ."\n" - .'* **true**: The system returns custom namespaces.'."\n" - .'* **false**: The system does not return custom namespaces.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Enables K8s Service-based service registration and discovery. Valid values:'."\n" + ."\n" + .'- **serviceName**: the service name. Format: `custom name-namespace ID`. The suffix `-namespace ID` cannot be customized and must be set based on the namespace of the application. For example, if you select the default namespace in the China (Beijing) region, the suffix is `-cn-beijing-default`.'."\n" + .'- **namespaceId**: the namespace ID.'."\n" + .'- **portProtocols**: the port and protocol. Valid port values: \\[1,65535]. Valid protocol values: **TCP** and **UDP**.'."\n" + .'- **portAndProtocol**: the port and protocol. Valid port values: \\[1,65535]. Valid protocol values: **TCP** and **UDP**. **portProtocols is recommended. If portProtocols is set, only portProtocols takes effect**.'."\n" + .'- **enable**: enables K8s Service-based service registration and discovery.', 'type' => 'string', 'required' => false, 'example' => '{"serviceName":"bwm-poc-sc-gateway-cn-beijing-front","namespaceId":"cn-beijing:front","portAndProtocol":{"18012":"TCP"},"enable":true,"portProtocols":[{"port":18012,"protocol":"TCP"}]}', 'title' => ''], ], [ - 'name' => 'HybridCloudExclude', + 'name' => 'MicroRegistration', 'in' => 'query', - 'schema' => [ - 'description' => 'Indicates whether hybrid cloud namespaces are excluded. Valid values:'."\n" - ."\n" - .'* **true**: Hybrid cloud namespaces are excluded.'."\n" - .'* **false**: Hybrid cloud namespaces are included.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies the Nacos registry. Valid values:'."\n" + .'- **0**: SAE built-in Nacos.'."\n" + .'- **1**: self-managed Nacos.'."\n" + .'- **2**: MSE commercial edition Nacos.', 'type' => 'string', 'required' => false, 'example' => '"0"', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '30375C38-F4ED-4135-A0AE-5C75DC7F****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622920113732501e****', - ], - 'Data' => [ - 'description' => 'The list of namespaces.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about namespaces.'."\n", - 'type' => 'object', - 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-2ze0i263cnn311nvj****', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-2ze559r1z1bpwqxwp****', - ], - 'Custom' => [ - 'description' => 'Indicates whether custom namespaces are returned. Valid values:'."\n" - ."\n" - .'* **true**: Custom namespaces are returned.'."\n" - .'* **false**: Custom namespaces are not returned.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'AgentInstall' => [ - 'description' => 'The command that was run to install the agent.'."\n", - 'type' => 'string', - 'example' => 'http://edas-bj.oss-cn-beijing-internal.aliyuncs.com/test/install.sh', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'HybridCloudEnable' => [ - 'description' => 'Indicates whether hybrid cloud namespaces are excluded. Valid values:'."\n" - ."\n" - .'* **true**: Hybrid cloud namespaces are excluded.'."\n" - .'* **false**: Hybrid cloud namespaces are included.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'example' => 'sg-wz969ngg2e49q5i4****', - ], - 'Current' => [ - 'description' => 'This parameter is no longer valid.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'NamespaceName' => [ - 'description' => 'The name of the namespace.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'RegionId' => [ - 'description' => 'The region to which the namespace belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'NameSpaceShortId' => [ - 'description' => 'The short ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => 'NULL', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of namespaces was queried. Valid values:'."\n" - ."\n" - .'* **true**: The list was queried.'."\n" - .'* **false**: The list failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + [ + 'name' => 'MicroRegistrationConfig', + 'in' => 'formData', + 'schema' => ['title' => '', 'description' => 'The registry configuration.', 'type' => 'string', 'required' => false, 'example' => '{\\"instanceId\\":\\"mse-cn-zvp2bh6h70r\\",\\"namespace\\":\\"4c0aa74f-57cb-423c-b6af-5d9f2d0e3dbd\\"}'], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"30375C38-F4ED-4135-A0AE-5C75DC7F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"Data\\": [\\n {\\n \\"VpcId\\": \\"vpc-2ze0i263cnn311nvj****\\",\\n \\"VSwitchId\\": \\"vsw-2ze559r1z1bpwqxwp****\\",\\n \\"Custom\\": true,\\n \\"AgentInstall\\": \\"http://edas-bj.oss-cn-beijing-internal.aliyuncs.com/test/install.sh\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"HybridCloudEnable\\": false,\\n \\"SecurityGroupId\\": \\"sg-wz969ngg2e49q5i4****\\",\\n \\"Current\\": false,\\n \\"NamespaceName\\": \\"test\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"NameSpaceShortId\\": \\"test\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeNamespaceListResponse>\\n <RequestId>30375C38-F4ED-4135-A0AE-5C75DC7F****</RequestId>\\n <Message>success</Message>\\n <TraceId>ac1a0b2215622920113732501e****</TraceId>\\n <Data>\\n <VpcId>vpc-2ze0i263cnn311nvj****</VpcId>\\n <VSwitchId>vsw-2ze559r1z1bpwqxwp****</VSwitchId>\\n <Custom>true</Custom>\\n <AgentInstall>http://edas-bj.oss-cn-beijing-internal.aliyuncs.com/test/install.sh</AgentInstall>\\n <NamespaceId>cn-beijing:test</NamespaceId>\\n <HybridCloudEnable>false</HybridCloudEnable>\\n <SecurityGroupId>sg-wz969ngg2e49q5i4****</SecurityGroupId>\\n <Current>false</Current>\\n <NamespaceName>test</NamespaceName>\\n <RegionId>cn-beijing</RegionId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeNamespaceListResponse>","errorExample":""}]', - 'title' => 'DescribeNamespaceList', - 'summary' => 'Queries a list of namespaces.', - ], - 'ListAppEvents' => [ - 'path' => '/pop/v1/sam/app/listAppEvents', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'NasConfigs', + 'in' => 'query', + 'schema' => ['description' => 'The NAS mount configuration. Valid values:'."\n" + ."\n" + .'- **mountPath**: the container mount path.'."\n" + .'- **readOnly**: set to **false** to grant read and write permission.'."\n" + .'- **nasId**: the NAS ID.'."\n" + .'- **mountDomain**: the container mount target address. For more information, see [DescribeMountTargets](~~62626~~).'."\n" + .'- **nasPath**: the NAS relative file directory.', 'type' => 'string', 'required' => false, 'example' => '[{"mountPath":"/test1","readOnly":false,"nasId":"nasId1","mountDomain":"nasId1.cn-shenzhen.nas.aliyuncs.com","nasPath":"/test1"},{"nasId":"nasId2","mountDomain":"nasId2.cn-shenzhen.nas.aliyuncs.com","readOnly":false,"nasPath":"/test2","mountPath":"/test2"}]', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6369', - 'abilityTreeNodes' => [ - 'FEATUREsae5BSSHJ', + [ + 'name' => 'Python', + 'in' => 'query', + 'schema' => ['description' => 'The Python environment. **PYTHON 3.9.15** is supported.', 'type' => 'string', 'required' => false, 'example' => 'PYTHON 3.9.15', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'CurrentPage', + 'name' => 'PythonModules', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the page to return.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The custom installation module dependencies. By default, the dependencies defined in the requirements.txt file in the root folder are installed. If the file is not configured or you need custom packages, specify the dependencies to install.', 'type' => 'string', 'required' => false, 'example' => 'Flask==2.0', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'Dotnet', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 0 to 10000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The version of the .NET framework:'."\n" + ."\n" + .'- .NET 3.1'."\n" + .'- .NET 5.0'."\n" + .'- .NET 6.0'."\n" + .'- .NET 7.0'."\n" + .'- .NET 8.0', 'type' => 'string', 'required' => false, 'example' => '.NET 3.1', 'title' => ''], ], [ - 'name' => 'AppId', + 'name' => 'EnableEbpf', 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'f7730764-d88f-4b9a-8d8e-cd8efbfe****', - ], + 'schema' => ['description' => 'Specifies whether to enable application monitoring for non-Java applications based on eBPF technology. Valid values:'."\n" + .'- **true**: enabled.'."\n" + .'- **false**: disabled. This is the default value.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'ObjectKind', + 'name' => 'SaeVersion', 'in' => 'query', 'schema' => [ - 'description' => 'The type of the object. Valid values:'."\n" + 'description' => 'The SAE version. Valid values:'."\n" ."\n" - .'* **Deployment**: an application.'."\n" - .'* **Pod**: an application instance.'."\n" - .'* **Service**: a Server Load Balancer (SLB) instance.'."\n" - .'* **HorizontalPodAutoscaler**: an auto scaling policy.'."\n" - .'* **CloneSet**: an application.'."\n", + .'- **v1**'."\n" + .'- **v2**', 'type' => 'string', + 'enum' => ['v1', 'v2'], 'required' => false, - 'example' => 'Pod', + 'example' => 'v1', + 'title' => '', ], ], [ - 'name' => 'ObjectName', + 'name' => 'AppSource', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the object. Fuzzy search by prefix is supported.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'errew-b86bf540-b4dc-47d8-a42f-b4997c14bd8f-5595cbddd6-x****', - ], + 'schema' => ['description' => 'Set this parameter to micro_service to create a microservice application.', 'type' => 'string', 'required' => false, 'example' => 'micro_service', 'title' => ''], ], [ - 'name' => 'EventType', + 'name' => 'BaseAppId', + 'in' => 'formData', + 'schema' => ['description' => 'The base application ID.', 'type' => 'string', 'required' => false, 'example' => 'ee99cce6-1c8e-4bfa-96c3-3e2fa9de8a41', 'title' => ''], + ], + [ + 'name' => 'ServiceTags', + 'in' => 'formData', + 'schema' => ['description' => 'The canary release tags configured for the application.', 'type' => 'string', 'required' => false, 'example' => '{\\"alicloud.service.tag\\":\\"g1\\"}', 'title' => ''], + ], + [ + 'name' => 'EnableNewArms', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the event. Valid values:'."\n" - ."\n" - .'* **Warning**: an alert.'."\n" - .'* **Normal**: a normal event.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Warning', - ], + 'schema' => ['description' => 'Specifies whether to enable the new ARMS feature:'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ - 'name' => 'Reason', + 'name' => 'EnableCpuBurst', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the CPU Burst feature:'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'OidcRoleName', + 'in' => 'query', + 'schema' => ['description' => 'Specifies the RAM role for identity authentication.'."\n" + .'> Create an OIDC identity provider and an identity provider role in the same region in advance. For more information, see <props="china">[CreateOIDCProvider](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ims-2019-08-15-createoidcprovider) and [CreateSAMLProvider](https://www.alibabacloud.com/help/en/ram/developer-reference/api-ims-2019-08-15-createsamlprovider)</props><props="intl">[CreateOIDCProvider](https://www.alibabacloud.com/help/zh/ram/developer-reference/api-ims-2019-08-15-createoidcprovider) and [CreateSAMLProvider](https://www.alibabacloud.com/help/zh/ram/developer-reference/api-ims-2019-08-15-createsamlprovider)</props>.', 'type' => 'string', 'required' => false, 'example' => 'sae-test', 'title' => ''], + ], + [ + 'name' => 'SidecarContainersConfig', + 'in' => 'formData', + 'style' => 'json', 'schema' => [ - 'description' => 'The cause of the event. Fuzzy search by prefix is supported.'."\n", - 'type' => 'string', + 'description' => 'The sidecar container configuration.', + 'type' => 'array', + 'items' => ['description' => 'The sidecar container configuration.', '$ref' => '#/components/schemas/SidecarContainerConfig', 'required' => false, 'title' => '', 'example' => ''], 'required' => false, - 'example' => 'Started', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'Namespace', + 'name' => 'SecretMountDesc', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The **Secret** mount description. Use a secret created on the namespace secrets page to inject sensitive information into the container. Parameter description:'."\n" + ."\n" + .'- **secretId**: the secret instance ID. You can obtain the ID by calling the ListSecrets operation.'."\n" + .'- **key**: the key.'."\n" + ."\n" + .'> You can mount all keys by passing the `sae-sys-secret-all` parameter.'."\n" + ."\n" + .'- **mountPath**: the mount path.', 'type' => 'string', 'required' => false, 'example' => '[{“secretId":10,”key":"test","mountPath":"/tmp"}]', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****', - ], - 'Data' => [ - 'description' => 'The events.'."\n", - 'type' => 'object', - 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'AppEventEntity' => [ - 'description' => 'The events.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The events.'."\n", - 'type' => 'object', - 'properties' => [ - 'ObjectKind' => [ - 'description' => 'The type of the object.'."\n", - 'type' => 'string', - 'example' => 'Pod', - ], - 'EventType' => [ - 'description' => 'The type of the event. Valid values:'."\n", - 'type' => 'string', - 'example' => 'Normal', - ], - 'LastTimestamp' => [ - 'description' => 'The timestamp of the last occurrence of the event.'."\n", - 'type' => 'string', - 'example' => '2020-02-19T05:01:28Z', - ], - 'Message' => [ - 'description' => 'The information about the event.'."\n", - 'type' => 'string', - 'example' => 'Created container', - ], - 'ObjectName' => [ - 'description' => 'The name of the object.'."\n", - 'type' => 'string', - 'example' => 'errew-b86bf540-b4dc-47d8-a42f-b4997c14bd8f-5595cbddd6-2****', - ], - 'Reason' => [ - 'description' => 'The cause of the event.'."\n", - 'type' => 'string', - 'example' => 'Created', - ], - 'FirstTimestamp' => [ - 'description' => 'The timestamp of the first occurrence of the event.'."\n", - 'type' => 'string', - 'example' => '2020-02-19T05:01:28Z', - ], - 'CauseAnalysis' => [ - 'type' => 'string', - ], - ], - ], - ], - 'TotalSize' => [ - 'description' => 'The total number of events that occurred in an application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the call failed. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the events that occurred in the application were queried. Valid values:'."\n" - ."\n" - .'* **true**: The events were queried.'."\n" - .'* **false**: The events failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + [ + 'name' => 'EnableSidecarResourceIsolated', + 'in' => 'formData', + 'schema' => ['description' => 'Specifies whether to enable sidecar resource isolation:'."\n" + ."\n" + .'- true: Isolated.'."\n" + .'- false: Not isolated.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'get.event.error', - 'errorMessage' => 'Failed to obtain event information.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], + [ + 'name' => 'CustomImageNetworkType', + 'in' => 'query', + 'schema' => ['description' => 'The custom image type. Set this parameter to an empty string if the image is not a custom image:'."\n" + ."\n" + .'- internet: public image'."\n" + .'- intranet: private image', 'type' => 'string', 'required' => false, 'example' => 'internet', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"AppEventEntity\\": [\\n {\\n \\"ObjectKind\\": \\"Pod\\",\\n \\"EventType\\": \\"Normal\\",\\n \\"LastTimestamp\\": \\"2020-02-19T05:01:28Z\\",\\n \\"Message\\": \\"Created container\\",\\n \\"ObjectName\\": \\"errew-b86bf540-b4dc-47d8-a42f-b4997c14bd8f-5595cbddd6-2****\\",\\n \\"Reason\\": \\"Created\\",\\n \\"FirstTimestamp\\": \\"2020-02-19T05:01:28Z\\",\\n \\"CauseAnalysis\\": \\"\\"\\n }\\n ],\\n \\"TotalSize\\": 20,\\n \\"PageSize\\": 10\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListAppEventsResponse>\\n <Message>success</Message>\\n <RequestId>B4D805CA-926D-41B1-8E63-7AD0C1ED****</RequestId>\\n <Data>\\n <CurrentPage>1</CurrentPage>\\n <AppEventEntity>\\n <ObjectKind>Pod</ObjectKind>\\n <EventType>Normal</EventType>\\n <LastTimestamp>2020-02-19T05:01:28Z</LastTimestamp>\\n <Message>Created container</Message>\\n <ObjectName>errew-b86bf540-b4dc-47d8-a42f-b4997c14bd8f-5595cbddd6-2****</ObjectName>\\n <Reason>Created</Reason>\\n <FirstTimestamp>2020-02-19T05:01:28Z</FirstTimestamp>\\n </AppEventEntity>\\n <TotalSize>20</TotalSize>\\n <PageSize>10</PageSize>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListAppEventsResponse>","errorExample":""}]', - 'title' => 'ListAppEvents', - 'summary' => 'Queries the events that occurred in an application.', - ], - 'ListNamespaceChangeOrders' => [ - 'path' => '/pop/v1/sam/changeorder/listNamespaceChangeOrders', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The resource type. Valid values: NULL (default), default, and haiguang (Hygon server).', 'type' => 'string', 'required' => false, 'example' => 'NULL', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '75166', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', + [ + 'name' => 'NewSaeVersion', + 'in' => 'query', + 'schema' => ['description' => 'The application version:'."\n" + ."\n" + .'- lite: Lite Edition'."\n" + .'- std: Standard Edition'."\n" + .'- pro: Professional Edition', 'type' => 'string', 'required' => false, 'example' => 'pro', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'MicroserviceEngineConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'cn-shanghai:test'."\n", - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'cn-shanghai:test', - ], + 'schema' => ['description' => 'Configures the microservice governance feature.'."\n" + ."\n" + .'- Specifies whether to enable microservice governance (enable):'."\n" + ."\n" + .' - true: Enabled.'."\n" + ."\n" + .' - false: Disabled.'."\n" + ."\n" + .'- Configures lossless online/offline (mseLosslessRule):'."\n" + ."\n" + .' - delayTime: the delay time.'."\n" + ."\n" + .' - enable: specifies whether to enable the lossless online feature. true indicates enabled. false indicates disabled.'."\n" + ."\n" + .' - notice: specifies whether to enable the notification feature. true indicates enabled. false indicates disabled.'."\n" + ."\n" + .' - warmupTime: the warm-up duration for traffic ramping, in seconds.', 'type' => 'string', 'required' => false, 'example' => '{"enable": true,"mseLosslessRule": {"delayTime": 0,"enable": false,"notice": false,"warmupTime": 120}}', 'title' => ''], ], [ - 'name' => 'CoStatus', + 'name' => 'DiskSize', 'in' => 'query', + 'schema' => ['description' => 'The disk storage size, in GB.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + ], + [ + 'name' => 'InitContainersConfig', + 'in' => 'formData', + 'style' => 'json', 'schema' => [ - 'description' => '2'."\n", - 'type' => 'string', + 'description' => 'The init container configuration.', + 'type' => 'array', + 'items' => ['description' => 'The init container configuration.', '$ref' => '#/components/schemas/InitContainerConfig', 'required' => false, 'title' => '', 'example' => ''], 'required' => false, - 'example' => '2', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'CoType', + 'name' => 'GpuConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'CoBatchStartApplication'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CoBatchStartApplication', - ], + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ - 'name' => 'Key', + 'name' => 'StartupProbe', 'in' => 'query', - 'schema' => [ - 'description' => 'test'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'Enables the application startup probe.'."\n" + ."\n" + .'- Check succeeded: indicates that the application started successfully. If you configured Liveness and Readiness checks, they are performed after the application starts successfully.'."\n" + .'- Check failed: indicates that the application failed to start. An exception is reported and the application is automatically restarted.'."\n" + .'> '."\n" + .'> - The exec, httpGet, and tcpSocket methods are supported. For specific examples, see the Liveness parameter.'."\n" + .'> - You can use only one method for health checks.', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}', 'title' => ''], ], [ - 'name' => 'CurrentPage', + 'name' => 'IsStateful', 'in' => 'query', - 'schema' => [ - 'description' => '1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'Specifies whether the application is stateful.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'EnablePrometheus', 'in' => 'query', - 'schema' => [ - 'description' => '20'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'Specifies whether to enable Prometheus custom metric collection.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '0bc3915638507554994370d****', - ], - 'ErrorCode' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of change orders was obtained. Valid values:'."\n" - ."\n" - .'* **true**: indicates that the list was obtained.'."\n" - .'* **false**: indicates that the list could not be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. It is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0bc3915638507554994370d****', - ], - 'Data' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'TotalSize' => [ - 'description' => 'The total number of change orders.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '32', - ], - 'ChangeOrderList' => [ - 'description' => 'The list of change orders.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the change order. Valid values:'."\n" - ."\n" - .'* **0**: The change order is being prepared.'."\n" - .'* **1**: The change order is being executed.'."\n" - .'* **2**: The change order was executed.'."\n" - .'* **3**: The change order could not be executed.'."\n" - .'* **6**: The change order was terminated.'."\n" - .'* **10**: The change order could not be executed due to a system exception.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'FinishTime' => [ - 'description' => 'The time when the change order was completed.'."\n", - 'type' => 'string', - 'example' => '2019-07-11 20:12:58', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-shanghai:test', - ], - 'CreateTime' => [ - 'description' => 'The time when the change order was created.'."\n", - 'type' => 'string', - 'example' => '2019-07-11 15:54:49', - ], - 'UserId' => [ - 'description' => 'The ID of the user.'."\n", - 'type' => 'string', - 'example' => 'test_sae', - ], - 'Source' => [ - 'description' => 'The source of the change order.'."\n", - 'type' => 'string', - 'example' => 'console', - ], - 'CreateUserId' => [ - 'description' => 'The ID of the user who created the change order.'."\n", - 'type' => 'string', - 'example' => 'test@aliyun.com', - ], - 'BatchCount' => [ - 'description' => 'The number of release batches.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CoTypeCode' => [ - 'description' => 'The code of the change order type. Valid values:'."\n" - ."\n" - .'* **CoBatchStartApplication**: starts multiple applications concurrently.'."\n" - .'* **CoBatchStopApplication**: stops multiple applications concurrently.'."\n", - 'type' => 'string', - 'example' => 'CoBatchStartApplication', - ], - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'example' => '7fa5c0-9ebb-4bb4-b383-1f885447****', - ], - 'BatchType' => [ - 'description' => 'The mode in which the release batches are determined. Valid values:'."\n" - ."\n" - .'* **auto**: SAE automatically determines the release batches.'."\n" - .'* **manual**: You must manually determine the release batches.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Description' => [ - 'description' => 'The description of the change order.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'GroupId' => [ - 'description' => 'The ID of the group.'."\n", - 'type' => 'string', - 'example' => 'c9ecd2-cf6c-46c3-9f20-525de202****', - ], - 'CoType' => [ - 'description' => 'The type of the change order, which corresponds the **CoTypeCode** parameter.'."\n", - 'type' => 'string', - 'example' => 'msg.docker.app.actions.CoBatchStartApplication', - ], - 'Pipelines' => [ - 'description' => 'The information about release batches.'."\n", - 'type' => 'string', - 'example' => 'xxxx', - ], - ], - ], - ], - ], - ], - ], - ], + [ + 'name' => 'HeadlessPvtzDiscoverySvc', + 'in' => 'query', + 'schema' => ['description' => 'The K8s Headless Service-based service registration and discovery.'."\n" + .'- serviceName: the service name.'."\n" + .'- namespaceId: the namespace ID.', 'type' => 'string', 'required' => false, 'example' => '{\\"serviceName\\":\\"leaf-test-headless\\",\\"namespaceId\\":\\"cn-zhangjiakou:prod\\"}', 'title' => ''], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Resouce.no.permission', - 'errorMessage' => 'You are not authorized to operate on the specified resources.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], + [ + 'name' => 'Html', + 'in' => 'query', + 'schema' => ['description' => 'The Nginx version.'."\n" + .'- nginx 1.20'."\n" + .'- nginx 1.22'."\n" + .'- nginx 1.24'."\n" + .'- nginx 1.26'."\n" + .'- nginx 1.28', 'type' => 'string', 'required' => false, 'example' => 'nginx 1.28', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"0bc3915638507554994370d****\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3915638507554994370d****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalSize\\": 32,\\n \\"ChangeOrderList\\": [\\n {\\n \\"Status\\": 2,\\n \\"FinishTime\\": \\"2019-07-11 20:12:58\\",\\n \\"NamespaceId\\": \\"cn-shanghai:test\\",\\n \\"CreateTime\\": \\"2019-07-11 15:54:49\\",\\n \\"UserId\\": \\"test_sae\\",\\n \\"Source\\": \\"console\\",\\n \\"CreateUserId\\": \\"test@aliyun.com\\",\\n \\"BatchCount\\": 1,\\n \\"CoTypeCode\\": \\"CoBatchStartApplication\\",\\n \\"ChangeOrderId\\": \\"7fa5c0-9ebb-4bb4-b383-1f885447****\\",\\n \\"BatchType\\": \\"自动\\",\\n \\"Description\\": \\"批量启动应用\\",\\n \\"GroupId\\": \\"c9ecd2-cf6c-46c3-9f20-525de202****\\",\\n \\"CoType\\": \\"msg.docker.app.actions.CoBatchStartApplication\\",\\n \\"Pipelines\\": \\"xxxx\\"\\n }\\n ]\\n }\\n}","errorExample":""},{"type":"xml","example":"<ListNamespaceChangeOrdersResponse>\\n <RequestId>0bc3915638507554994370d****</RequestId>\\n <Success>true</Success>\\n <Code>200</Code>\\n <Message>success</Message>\\n <TraceId>0bc3915638507554994370d****</TraceId>\\n <Data>\\n <CurrentPage>1</CurrentPage>\\n <PageSize>20</PageSize>\\n <TotalSize>32</TotalSize>\\n <ChangeOrderList>\\n <Status>2</Status>\\n <FinishTime>2019-07-11 20:12:58</FinishTime>\\n <NamespaceId>cn-shanghai:test</NamespaceId>\\n <CreateTime>2019-07-11 15:54:49</CreateTime>\\n <UserId>test_sae</UserId>\\n <Source>console</Source>\\n <CreateUserId>test@aliyun.com</CreateUserId>\\n <BatchCount>1</BatchCount>\\n <CoTypeCode>CoBatchStartApplication</CoTypeCode>\\n <ChangeOrderId>7fa5c0-9ebb-4bb4-b383-1f885447****</ChangeOrderId>\\n <BatchType>自动</BatchType>\\n <Description>批量启动应用</Description>\\n <GroupId>c9ecd2-cf6c-46c3-9f20-525de202****</GroupId>\\n <CoType>msg.docker.app.actions.CoBatchStartApplication</CoType>\\n <Pipelines>xxxx</Pipelines>\\n </ChangeOrderList>\\n </Data>\\n</ListNamespaceChangeOrdersResponse>","errorExample":""}]', - 'title' => 'ListNamespaceChangeOrders', - 'summary' => 'Queries a list of change orders in a namespace.', - ], - 'DescribeNamespaceResources' => [ - 'path' => '/pop/v1/sam/namespace/describeNamespaceResources', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'EmptyDirDesc', + 'in' => 'formData', + 'schema' => ['description' => 'The shared ephemeral storage configuration.', 'type' => 'string', 'required' => false, 'example' => '[{\\"name\\":\\"workdir\\",\\"mountPath\\":\\"/usr/local/tomcat/webapps\\"}]', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6340', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', + [ + 'name' => 'EnableNamespaceAgentVersion', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to reuse the namespace agent version configuration.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AgentVersion', 'in' => 'query', + 'schema' => ['description' => 'The AliyunAgent version.', 'type' => 'string', 'required' => false, 'example' => '4.4.2', 'title' => ''], + ], + [ + 'name' => 'EnableNamespaceSlsConfig', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to reuse the namespace SLS log configuration.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'SlsLogEnvTags', + 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'sls log tags', 'type' => 'string', 'required' => false, 'example' => ''], + ], + [ + 'name' => 'LokiConfigs', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'Labels', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'cn-shanghai:test'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai:test', + 'type' => 'object', + 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'NameSpaceShortId', + 'name' => 'RaspConfig', 'in' => 'query', + 'style' => 'json', 'schema' => [ + 'type' => 'object', + 'properties' => [ + 'EnableRasp' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + 'RaspAppName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RaspAppKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'test', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The information about the created application.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n" - ."\n" - .'* **success** is returned when the request succeeds.'."\n" - .'* An error code is returned when the request fails.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. It can be used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information. Valid values:'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + .'- If the request fails, a specific error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID, which is used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-2ze0i263cnn311nvj****', - ], - 'LastChangeOrderId' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'example' => 'afedb3c4-63f8-4a3d-aaa3-2c30363f****', - ], - 'BelongRegion' => [ - 'description' => 'The region to which the namespace belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-shanghai', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-shangha:test', - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'example' => 'sg-wz969ngg2e49q5i4****', - ], - 'UserId' => [ - 'description' => 'The ID of the user.'."\n", - 'type' => 'string', - 'example' => 'test@aliyun.com', - ], - 'NamespaceName' => [ - 'description' => 'The name of the namespace.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'LastChangeOrderStatus' => [ - 'description' => 'The status of the latest change order. Valid values:'."\n" - ."\n" - .'* **READY**: The change order is ready.'."\n" - .'* **RUNNING**: The change order is being executed.'."\n" - .'* **SUCCESS**: The change order was executed.'."\n" - .'* **FAIL**: The change order could not be executed.'."\n" - .'* **ABORT**: The change order was terminated.'."\n" - .'* **WAIT_BATCH_CONFIRM**: The change order is pending execution. You must manually confirm the release batch.'."\n" - .'* **AUTO_BATCH_WAIT**: The change order is pending execution. SAE will automatically confirm the release batch.'."\n" - .'* **SYSTEM_FAIL**: A system exception occurred.'."\n" - .'* **WAIT_APPROVAL**: The change order is pending approval.'."\n" - .'* **APPROVED**: The change order is approved and is pending execution.'."\n", - 'type' => 'string', - 'example' => 'SUCCESS', - ], - 'VpcName' => [ - 'description' => 'The name of the VPC.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-2ze559r1z1bpwqxwp****', - ], - 'Description' => [ - 'description' => 'The description of the namespace.'."\n", - 'type' => 'string', - 'example' => 'decs', - ], - 'LastChangeOrderRunning' => [ - 'description' => 'Indicates whether a change order is being executed in the namespace. Valid values:'."\n" - ."\n" - .'* **true**: indicates that a change order is being executed in the namespace.'."\n" - .'* **false**: indicates that no change orders are being executed in the namespace.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'AppCount' => [ - 'description' => 'The number of applications.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'VSwitchName' => [ - 'description' => 'The name of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'NotificationExpired' => [ - 'description' => 'Indicates whether the notification of a change order is expired. Valid values:'."\n" - ."\n" - .'* **true**: indicates that the notification is expired.'."\n" - .'* **false**: indicates that the notification is not expired.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'TenantId' => [ - 'description' => 'The ID of the tenant in the SAE namespace.'."\n", - 'type' => 'string', - 'example' => '838cad95-973f-48fe-830b-2a8546d7****', - ], - 'JumpServerAppId' => [ - 'description' => 'The ID of the jump server application.'."\n", - 'type' => 'string', - 'example' => '5ec46468-6b26-4a3c-9f7c-bf88761a****', - ], - 'JumpServerIp' => [ - 'description' => 'The IP address of the jump server.'."\n", - 'type' => 'string', - 'example' => '120.78.XXX.XX', - ], - 'NameSpaceShortId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test', - ], - 'ApmJavaAgentVersion' => [ - 'type' => 'string', - ], - 'SlsConfigs' => [ - 'type' => 'string', - ], + 'ChangeOrderId' => ['description' => 'The returned change order ID, which is used to query the task execution status.', 'type' => 'string', 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application that is created.', 'type' => 'string', 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request failed.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the information about resources in the namespace was queried successfully. Valid values:'."\n" - ."\n" - .'* **true**: indicates that the query was successful.'."\n" - .'* **false**: indicates that the query failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** field is not returned.'."\n" + .'- If the request fails, the **ErrorCode** field is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'example' => '空', 'title' => ''], + 'Code' => ['description' => 'The API status or POP error code. Valid values:'."\n" + .'- **2xx**: success.'."\n" + .'- **3xx**: redirection.'."\n" + .'- **4xx**: request error.'."\n" + .'- **5xx**: server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application is created. Valid values:'."\n" + ."\n" + .'- **true**: The application is created.'."\n" + .'- **false**: The application failed to be created.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], + ['errorCode' => 'Application.MissingJdk', 'errorMessage' => 'Your application must at least contain a JDK component.', 'description' => ''], + ['errorCode' => 'InvalidPackageType.NotFound', 'errorMessage' => 'The package type must be War, FatJar, or Image.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'JarApplication.MissingJdk', 'errorMessage' => 'A FatJar application must contain JDK.', 'description' => ''], + ['errorCode' => 'NoAvailableCluster.NotFound', 'errorMessage' => 'No clusters are available for the current region.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'PandoraApplication.MissingJdk', 'errorMessage' => 'The Pandora application is missing a JDK component.', 'description' => ''], + ['errorCode' => 'PandoraApplication.OnlyJdk', 'errorMessage' => 'A Pandora application only requires JDK component.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'InvalidComponent.NotFound', 'errorMessage' => 'The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.', 'description' => ''], + ['errorCode' => 'InvalidHostnameIp.Invalid', 'errorMessage' => 'The hostname and/or IP is invalid: Hostname [%s], IP [%s].', 'description' => ''], + ['errorCode' => 'InvalidInstanceSpecification.Unsupported', 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', 'description' => ''], + ['errorCode' => 'InvalidServerlessRegion.Unsupported', 'errorMessage' => 'The current region is not supported: %s', 'description' => ''], + ['errorCode' => 'WarApplication.MissingJdkWebcontainer', 'errorMessage' => 'A War application must contain JDK and Tomcat.', 'description' => ''], + ['errorCode' => 'InvalidNamespace.WithUppercase', 'errorMessage' => 'This namespace does not support creating SAE apps because it contains uppercase letters.', 'description' => ''], + ['errorCode' => 'LogService.ConfigQuotaExceed', 'errorMessage' => 'The maximum number of Log Service configs is exceeded.', 'description' => 'The maximum number of Log Service configs is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'LogService.InternalError', 'errorMessage' => 'An exception occurred while calling Log Service. Please submit a ticket to solve the problem.', 'description' => 'An exception occurred while calling log service. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'LogService.LogDirInvalid', 'errorMessage' => 'The log collection path is invalid.', 'description' => 'The log collection path is invalid.'], + ['errorCode' => 'LogService.NotAvailable', 'errorMessage' => 'Log Service is unavailable. Please activate Log Service first.', 'description' => 'The log service is not available. Please open the log service first.'], + ['errorCode' => 'LogService.ProjectNumQuotaExceed', 'errorMessage' => 'The maximum number of Log Service projects is exceeded.', 'description' => 'The maximum number of Log Service projects is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'VolumnPath.Conflict', 'errorMessage' => 'Conflict between log collection directory and persistent storage directory.', 'description' => 'Conflict between log collection directory and persistent storage directory.'], + ['errorCode' => 'MountConflict.ConfigMap', 'errorMessage' => 'Conflict detected for ConfigMap path %s.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMap', 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMapKey', 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'Sls.Config.Mixed.Multi.Project', 'errorMessage' => 'The specified Config contains multiple projects.', 'description' => ''], + ['errorCode' => 'Sls.Config.User.Defined.Missing.Logstore.Info', 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', 'description' => ''], + ['errorCode' => 'Sls.Config.User.Defined.Missing.Project.Info', 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', 'description' => ''], + ['errorCode' => 'Sls.Logstore.Name.Invalid', 'errorMessage' => 'The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".', 'description' => ''], + ['errorCode' => 'Sls.Logstore.User.Defined.Not.Exist', 'errorMessage' => 'The user defined Logstore does not exist.', 'description' => ''], + ['errorCode' => 'Sls.Project.Name.Invalid', 'errorMessage' => 'The specified project name is invalid. The project name must not contain the prefix "sae-".', 'description' => ''], + ['errorCode' => 'Sls.Project.User.Defined.Not.Exist', 'errorMessage' => 'The user defined project does not exist.', 'description' => ''], + ['errorCode' => 'InvalidImageUrl.AcrInstanceId.Domain.NotMatch', 'errorMessage' => 'The specified domain of ImageUrl does not match AcrInstanceId domains.', 'description' => ''], + ['errorCode' => 'PhpApplication.MissingPhpRuntime', 'errorMessage' => 'A PHP application must contain PHP Runtime.', 'description' => ''], + ['errorCode' => 'InvalidParameter.FileName', 'errorMessage' => 'The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file.', 'description' => ''], + ['errorCode' => 'Sls.Logtail.Name.Invalid', 'errorMessage' => 'The specified name of Logtail is invalid. The Logtail name must not contain the prefix sae-.', 'description' => ''], + ['errorCode' => 'vswitch.not.exist', 'errorMessage' => 'The specified vSwitch does not exist.', 'description' => 'The specified vSwitch does not exist. Please change the vSwitch.'], + ['errorCode' => 'InvalidImageUrl.MissingAcrInstanceId', 'errorMessage' => 'The specified domain of ImageUrl is from ACREE, but you are not specified AcrInstanceId.', 'description' => ''], + ['errorCode' => 'EnvFromSecretIdConflict.AlreadyExist', 'errorMessage' => 'The specified SecretId [%s] already exist in the specified Envs.', 'description' => ''], + ['errorCode' => 'MountConflict.Secret', 'errorMessage' => 'Conflict detected for Secret path %s.', 'description' => 'Secret mount path% s has conflict.'], + ], + 404 => [ + ['errorCode' => 'Associate.Eip.Not.Enough', 'errorMessage' => 'No sufficient EIPs are available.', 'description' => ''], + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], + ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'The specified VpcId does not exist.', 'description' => ''], + ['errorCode' => 'InvalidAcrInstanceId.NotFound', 'errorMessage' => 'The specified AcrInstanceId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"VpcId\\": \\"vpc-2ze0i263cnn311nvj****\\",\\n \\"LastChangeOrderId\\": \\"afedb3c4-63f8-4a3d-aaa3-2c30363f****\\",\\n \\"BelongRegion\\": \\"cn-shanghai\\",\\n \\"NamespaceId\\": \\"cn-shangha:test\\",\\n \\"SecurityGroupId\\": \\"sg-wz969ngg2e49q5i4****\\",\\n \\"UserId\\": \\"test@aliyun.com\\",\\n \\"NamespaceName\\": \\"test\\",\\n \\"LastChangeOrderStatus\\": \\"SUCCESS\\",\\n \\"VpcName\\": \\"test\\",\\n \\"VSwitchId\\": \\"vsw-2ze559r1z1bpwqxwp****\\",\\n \\"Description\\": \\"decs\\",\\n \\"LastChangeOrderRunning\\": true,\\n \\"AppCount\\": 1,\\n \\"VSwitchName\\": \\"test\\",\\n \\"NotificationExpired\\": true,\\n \\"TenantId\\": \\"838cad95-973f-48fe-830b-2a8546d7****\\",\\n \\"JumpServerAppId\\": \\"5ec46468-6b26-4a3c-9f7c-bf88761a****\\",\\n \\"JumpServerIp\\": \\"120.78.XXX.XX\\",\\n \\"NameSpaceShortId\\": \\"test\\",\\n \\"ApmJavaAgentVersion\\": \\"\\",\\n \\"SlsConfigs\\": \\"\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeNamespaceResourcesResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <VpcId>vpc-2ze0i263cnn311nvj****</VpcId>\\n <LastChangeOrderId>afedb3c4-63f8-4a3d-aaa3-2c30363f****</LastChangeOrderId>\\n <BelongRegion>cn-shanghai</BelongRegion>\\n <NamespaceId>cn-shangha:test</NamespaceId>\\n <SecurityGroupId>sg-wz969ngg2e49q5i4****</SecurityGroupId>\\n <UserId>test@aliyun.com</UserId>\\n <NamespaceName>test</NamespaceName>\\n <LastChangeOrderStatus>SUCCESS</LastChangeOrderStatus>\\n <VpcName>test</VpcName>\\n <VSwitchId>vsw-2ze559r1z1bpwqxwp****</VSwitchId>\\n <Description>decs</Description>\\n <LastChangeOrderRunning>true</LastChangeOrderRunning>\\n <AppCount>1</AppCount>\\n <VSwitchName>test</VSwitchName>\\n <NotificationExpired>true</NotificationExpired>\\n <TenantId>838cad95-973f-48fe-830b-2a8546d7****</TenantId>\\n <JumpServerAppId>5ec46468-6b26-4a3c-9f7c-bf88761a****</JumpServerAppId>\\n <JumpServerIp>120.78.XXX.XX</JumpServerIp>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeNamespaceResourcesResponse>","errorExample":""}]', - 'title' => 'DescribeNamespaceResources', - 'summary' => 'Query the information about resources in a namespace.', - ], - 'DescribeIngress' => [ - 'path' => '/pop/v1/sam/ingress/Ingress', - 'methods' => [ - 'get', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'Create an SAE application', + 'summary' => 'Creates an application.', + 'changeSet' => [ + ['createdAt' => '2026-03-04T05:50:32.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-03-04T03:39:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-03-04T03:39:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-25T06:15:36.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2026-02-25T06:10:10.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-25T01:45:40.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-25T01:42:15.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T12:41:57.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T12:37:58.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:44:49.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:14:30.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:09:31.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:05:15.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:00:08.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T10:52:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-04T02:09:06.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-03T03:18:47.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-03T02:36:32.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-30T08:18:00.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-30T02:56:58.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-15T02:33:06.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T13:03:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T12:45:38.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T12:31:59.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T09:00:03.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T08:52:08.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T08:18:18.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T07:49:55.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:02:51.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-22T05:48:37.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-11-27T05:52:40.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-11-04T03:34:35.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-09-18T11:30:37.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-07-30T06:59:48.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-07-29T05:33:47.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-07-04T06:12:36.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-05-26T08:50:06.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-05-22T02:27:26.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-04-25T11:26:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-04-07T03:09:05.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-03-13T11:48:39.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-01-13T06:07:31.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-12-26T08:38:33.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-12-17T11:33:09.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-12-10T09:29:00.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-11-08T03:11:29.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-10-11T03:29:13.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-12T03:24:21.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-08-28T07:04:48.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-05-21T02:16:45.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-01-22T11:44:40.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-10-24T10:41:29.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-07T08:48:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-03-30T11:11:43.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-26T09:19:38.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-11-22T13:03:50.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-08-02T05:52:24.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-03-03T12:42:21.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-03-03T12:42:21.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2022-01-18T04:01:16.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-12-27T09:02:51.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-11-17T11:35:05.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateApplication'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\",\\n \\"AppId\\": \\"017f39b8-dfa4-4e16-a84b-1dcee4b1****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'CreateApplicationScalingRule' => [ + 'path' => '/pop/v1/sam/scale/applicationScalingRule', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6335', - 'abilityTreeNodes' => [ - 'FEATUREsaeRW2OE6', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '6304', + 'abilityTreeNodes' => ['FEATUREsae5HLO11'], ], 'parameters' => [ [ - 'name' => 'IngressId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the routing rule to be queried.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '87', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the auto scaling policy. The name must be unique within an application, start with a lowercase letter, and contain only lowercase letters, digits, and hyphens (-). The name can be up to 32 characters long.'."\n" + ."\n" + .'> The policy name cannot be changed after creation.', 'type' => 'string', 'required' => true, 'example' => 'timer-0800-2100', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the auto scaling policy. Valid values:'."\n" + ."\n" + .'- **timing**: scheduled auto scaling.'."\n" + ."\n" + .'- **metric**: metric-based auto scaling.'."\n" + ."\n" + .'- **mix**: mixed auto scaling.'."\n" + ."\n" + .'> * If you set this parameter to `timing`, the `ScalingRuleTimer` parameter is required.'."\n" + .'>'."\n" + .'> * If you set this parameter to `metric`, the `ScalingRuleMetric` parameter is required.'."\n" + .'>'."\n" + .'> * If you set this parameter to `mix`, the `ScalingRuleMetric` parameter is required. You can also configure the `ScalingRuleTimer` parameter as needed.', 'type' => 'string', 'required' => true, 'example' => 'timing', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleTimer', + 'in' => 'query', + 'schema' => ['description' => 'Configurations for the scheduled auto scaling policy. This parameter is required if `ScalingRuleType` is set to `timing` or if you use an SDK.'."\n" + ."\n" + .'The parameter is a JSON string that contains the following fields:'."\n" + ."\n" + .'- **beginDate** and **endDate**: The start and end dates of the policy\'s effective period.'."\n" + ."\n" + .' - If both fields are set to `null` (default), the policy is effective indefinitely.'."\n" + ."\n" + .' - If you specify a date range, for example, `beginDate` is `2021-03-25` and `endDate` is `2021-04-25`, the policy is effective for one month.'."\n" + ."\n" + .'- **period**: The recurrence rule for the scheduled auto scaling policy.'."\n" + ."\n" + .' - **\\* \\* \\***: The policy is executed at a specified time every day.'."\n" + ."\n" + .' - **\\* \\* Fri,Mon**: The policy is executed at a specified time on specific days of the week. You can select multiple days. The time is in the GMT+8 time zone. Valid values:'."\n" + ."\n" + .' - **Sun**: Sunday'."\n" + ."\n" + .' - **Mon**: Monday'."\n" + ."\n" + .' - **Tue**: Tuesday'."\n" + ."\n" + .' - **Wed**: Wednesday'."\n" + ."\n" + .' - **Thu**: Thursday'."\n" + ."\n" + .' - **Fri**: Friday'."\n" + ."\n" + .' - **Sat**: Saturday'."\n" + ."\n" + .' - **1,2,3,28,31 \\* \\***: The policy is executed at a specified time on specific days of a month. You can select multiple days. The value can be from 1 to 31. If a month does not have the specified day, for example, the 31st, the policy is not executed on that day for that month.'."\n" + ."\n" + .'- **schedules**: The trigger times and the corresponding target number of instances. You can specify a maximum of 20 schedules. The parameter includes the following fields:'."\n" + ."\n" + .' - **atTime**: The trigger time in `HH:mm` format. For example, `08:00`.'."\n" + ."\n" + .' - **targetReplicas**: The target number of application instances. Valid values: 1 to 50.'."\n" + ."\n" + .' > During a rolling deployment, we recommend that you set the minimum number of ready instances to 1 or more to prevent service interruptions. If you set the minimum number of ready instances to `0`, your application will be interrupted during an update.', 'type' => 'string', 'required' => false, 'example' => '{"beginDate":null,"endDate":null,"period":"* * *","schedules":[{"atTime":"08:00","targetReplicas":10},{"atTime":"20:00","targetReplicas":3}]}', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleMetric', + 'in' => 'query', + 'schema' => ['description' => 'Configurations for the metric-based auto scaling policy. This parameter is required if `ScalingRuleType` is set to `metric` or `mix`.'."\n" + ."\n" + .'The parameter is a JSON string that contains the following fields:'."\n" + ."\n" + .'- **maxReplicas**: The maximum number of application instances.'."\n" + ."\n" + .'- **minReplicas**: The minimum number of application instances.'."\n" + ."\n" + .'- **metricType**: The metric that triggers the auto scaling policy. Valid values:'."\n" + ."\n" + .' - **CPU**: CPU utilization.'."\n" + ."\n" + .' - **MEMORY**: Memory utilization.'."\n" + ."\n" + .' - **QPS**: The average queries per second (QPS) per instance for a Java application over a 1-minute period.'."\n" + ."\n" + .' - **RT**: The average response time (RT) of all service interfaces for a Java application over a 1-minute period.'."\n" + ."\n" + .' - **tcpActiveConn**: The average number of active TCP connections per instance over a 30-second period.'."\n" + ."\n" + .' - **SLB\\_QPS**: The average QPS per instance for a public-facing SLB instance over a 15-second period.'."\n" + ."\n" + .' - **SLB\\_RT**: The average RT of a public-facing SLB instance over a 15-second period.'."\n" + ."\n" + .' - **INTRANET\\_SLB\\_QPS**: The average QPS per instance for an internal-facing SLB instance over a 15-second period.'."\n" + ."\n" + .' - **INTRANET\\_SLB\\_RT**: The average RT of an internal-facing SLB instance over a 15-second period.'."\n" + ."\n" + .'- **metricTargetAverageUtilization**: The target value for the metric specified by `metricType`. The unit of this value depends on `metricType`.'."\n" + ."\n" + .' - Target CPU utilization, in percentage.'."\n" + ."\n" + .' - Target memory utilization, in percentage.'."\n" + ."\n" + .' - Target QPS, in requests per second.'."\n" + ."\n" + .' - Target response time, in milliseconds.'."\n" + ."\n" + .' - Average number of active TCP connections.'."\n" + ."\n" + .' - Target public-facing SLB QPS, in requests per second.'."\n" + ."\n" + .' - Target public-facing SLB response time, in milliseconds.'."\n" + ."\n" + .' - Target internal-facing SLB QPS, in requests per second.'."\n" + ."\n" + .' - Target internal-facing SLB response time, in milliseconds.'."\n" + ."\n" + .'- **slbId**: The SLB instance ID.'."\n" + ."\n" + .'- **slbProject**: The Log Service project.'."\n" + ."\n" + .'- **slbLogstore**: The Log Service Logstore.'."\n" + ."\n" + .'- **vport**: The SLB listener port. The HTTP and HTTPS protocols are supported.'."\n" + ."\n" + .'- **scaleUpRules**: The rules to scale out the application.'."\n" + ."\n" + .'- **scaleDownRules**: The rules to scale in the application.'."\n" + ."\n" + .'- **step**: The step size for scaling out or scaling in. This is the maximum number of instances that can be added or removed in a single scaling activity.'."\n" + ."\n" + .'- **disabled**: Specifies whether to prevent the application from scaling in. If set to `true`, the number of application instances is never reduced. This can prevent business risks caused by scaling in during peak hours.'."\n" + ."\n" + .' - **true**: Scale-in is disabled.'."\n" + ."\n" + .' - **false**: Scale-in is enabled. This is the default value.'."\n" + ."\n" + .'- **stabilizationWindowSeconds**: The cooldown period for scaling out or scaling in, in seconds. Valid values: 0 to 3600. The default value is 0.'."\n" + ."\n" + .'> You can configure one or more metrics. If you configure multiple metrics, the application scales out when any of the metrics meets or exceeds its target value, up to the specified maximum number of instances. The application scales in only when all metrics are below their target values, down to the specified minimum number of instances.', 'type' => 'string', 'required' => false, 'example' => '{"maxReplicas":3,"minReplicas":1,"metrics":[{"metricType":"CPU","metricTargetAverageUtilization":20},{"metricType":"MEMORY","metricTargetAverageUtilization":30},{"metricType":"tcpActiveConn","metricTargetAverageUtilization":20},{"metricType":"SLB_QPS","MetricTargetAverageUtilization":25,"slbId":"lb-xxx","slbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","slbLogstore":"function-log","vport":"80"},{"metricType":"SLB_RT","MetricTargetAverageUtilization":35,"slbId":"lb-xxx","slbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","slbLogstore":"function-log","vport":"80"}],"scaleUpRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":0},"scaleDownRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":300}}', 'title' => ''], + ], + [ + 'name' => 'MinReadyInstances', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of ready instances. Valid values:'."\n" + ."\n" + .'- If you set this parameter to `0`, the application is interrupted during an update.'."\n" + ."\n" + .'- If you set this parameter to `-1`, the system sets the value to 25% of the current number of instances, rounded up. For example, if the application has 5 instances, the minimum number of ready instances is 2 (5 × 25% = 1.25, rounded up to 2).'."\n" + ."\n" + .'> To ensure service continuity during a rolling deployment, we recommend setting the minimum number of ready instances to 1 or more.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + ], + [ + 'name' => 'MinReadyInstanceRatio', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of ready instances, specified as a percentage of the total number of instances. Valid values:'."\n" + ."\n" + .'- **-1**: Indicates that a percentage is not used. In this case, the value of `MinReadyInstances` is used.'."\n" + ."\n" + .'- **0\\~100**: A percentage. The result is rounded up. For example, if you set this parameter to 50 (%) and the application has 5 instances, the minimum number of ready instances is 3.'."\n" + ."\n" + .'> If you specify both `MinReadyInstances` and a `MinReadyInstanceRatio` other than `-1`, `MinReadyInstanceRatio` takes precedence. For example, if `MinReadyInstances` is set to `5` and `MinReadyInstanceRatio` is set to `50`, the system uses `50` (%) to calculate the minimum number of ready instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-1', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleEnable', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the auto scaling policy. Valid values:'."\n" + ."\n" + .'- **true**: Enabled.'."\n" + ."\n" + .'- **false**: Disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'EnableIdle', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable idle mode for the application.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ + 'headers' => [], 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of a request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned. Valid values:'."\n" - ."\n" - .'* **success** is returned when a request is successful.'."\n" - .'* An error code is returned when the request failed.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of a trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a981dd515966966104121683d****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The result returned.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'SlbId' => [ - 'description' => 'The ID of a Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'example' => 'lb-uf62****6d13tq2u5', - ], - 'NamespaceId' => [ - 'description' => 'The ID of a namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:sae-test', - ], - 'Description' => [ - 'description' => 'The name of a routing rule.'."\n", - 'type' => 'string', - 'example' => 'ingress-sae-test', - ], - 'ListenerPort' => [ - 'description' => 'The listener ports for an SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - 'SlbType' => [ - 'description' => 'The type of an SLB instance. Valid values:'."\n" - ."\n" - .'* **internet**: an Internet-facing SLB instance'."\n" - .'* **intranet**: an Intranet-facing SLB instance'."\n", - 'type' => 'string', - 'example' => 'internet', - ], - 'CertId' => [ - 'description' => 'The ID of the certificate that is associated with a Classic Load Balancer (**CLB**) instance.'."\n", - 'type' => 'string', - 'example' => '13623****809_16cad216b32_845_-419427029', - ], - 'Name' => [ - 'description' => 'The name of a routing rule.'."\n", - 'type' => 'string', - 'example' => 'lb-uf6jt0nu4z6ior943****-80-f5****', - ], - 'DefaultRule' => [ - 'description' => 'The default rule.'."\n", + 'Timer' => [ + 'description' => 'The configurations for the scheduled auto scaling policy.', 'type' => 'object', 'properties' => [ - 'ContainerPort' => [ - 'description' => 'The container port of the application that is specified in the default rule.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'AppName' => [ - 'description' => 'The name of the application that is specified in the default rule.'."\n", - 'type' => 'string', - 'example' => 'app1', - ], - 'AppId' => [ - 'description' => 'The ID of the application that is specified in the default rule.'."\n", - 'type' => 'string', - 'example' => '395b60e4-0550-458d-9c54-a265d036****', - ], - 'BackendProtocol' => [ - 'description' => 'The backend protocol. Valid values:'."\n" - ."\n" - .'* **http**: HTTP is suitable for applications that need to identify the transmitted data.'."\n" - .'* **https**: HTTP is suitable for applications that require encrypted data transmission.'."\n" - .'* **grpc**: GRPC is suitable for load balancing scenarios in which you want to deploy services in multi-language frameworks, such as the .NET framework.'."\n" - ."\n" - .'This parameter is returned only if the**LoadBalanceType** parameter is set to **ALB** and the **ListenerProtocol** parameter **is set to HTTPS**.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - ], - ], - 'Rules' => [ - 'description' => 'The forwarding rules.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The forwarding rules.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application specified in the forwarding rules.'."\n", - 'type' => 'string', - 'example' => 'app1', - ], - 'ContainerPort' => [ - 'description' => 'Tthe container port of the application specified in the forwarding rules.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'Domain' => [ - 'description' => 'The domain name of the application specified in the forwarding rules.'."\n", - 'type' => 'string', - 'example' => 'edas.site', - ], - 'AppId' => [ - 'description' => 'The ID of the application specified in the forwarding rule.'."\n", - 'type' => 'string', - 'example' => '395b60e4-0550-458d-9c54-a265d036****', - ], - 'Path' => [ - 'description' => 'The path of a URL.'."\n", - 'type' => 'string', - 'example' => '/path1', - ], - 'BackendProtocol' => [ - 'description' => 'The backend protocol. Valid values:'."\n" - ."\n" - .'* **http**: HTTP is suitable for applications that need to identify the transmitted data.'."\n" - .'* **https**: HTTPS is suitable for applications that require encrypted data transmission.'."\n" - .'* **grpc**: GRPC is suitable for load balancing scenarios in which you want to deploy services in multi-language frameworks, such as the .NET framework.'."\n" - ."\n" - .'This parameter is returned only if the **LoadBalanceType** parameter is set to **ALB** and the **ListenerProtocol** parameter is set to **HTTPS**.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'RewritePath' => [ - 'description' => 'The path that is used to rewrite the original path.'."\n", - 'type' => 'string', - 'example' => '/${1}', - ], - 'RuleActions' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ActionType' => [ - 'type' => 'string', - ], - 'ActionConfig' => [ - 'type' => 'string', - ], - ], + 'EndDate' => ['description' => 'The end date of the scheduled auto scaling policy.'."\n" + ."\n" + .'- If both **BeginDate** and **EndDate** are **null**, the policy is a long-term policy. This is the default.'."\n" + ."\n" + .'- For example, if you set **BeginDate** to 2021-03-25 and **EndDate** to 2021-04-25, the policy is active for one month.', 'type' => 'string', 'example' => '2021-04-25', 'title' => ''], + 'BeginDate' => ['description' => 'The start date of the scheduled auto scaling policy.'."\n" + ."\n" + .'- If both **BeginDate** and **EndDate** are **null**, the policy is a long-term policy. This is the default.'."\n" + ."\n" + .'- For example, if you set **BeginDate** to 2021-03-25 and **EndDate** to 2021-04-25, the policy is active for one month.', 'type' => 'string', 'example' => '2021-03-25', 'title' => ''], + 'Schedules' => [ + 'description' => 'The trigger points for the scheduled auto scaling policy.', + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration for a single trigger within the schedule.', + 'type' => 'object', + 'properties' => [ + 'AtTime' => ['description' => 'The trigger time. The format is **HH:mm**.', 'type' => 'string', 'example' => '08:00', 'title' => ''], + 'TargetReplicas' => ['description' => 'The target number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'MaxReplicas' => ['description' => 'The maximum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'MinReplicas' => ['description' => 'The minimum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '5', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'Period' => ['description' => 'The recurrence pattern for the scheduled auto scaling policy. Valid values:'."\n" + ."\n" + .'- **\\* \\* \\***: The policy is executed at a specified time every day.'."\n" + ."\n" + .'- **\\* \\* Fri,Mon**: The policy is executed at a specified time on specific days of the week. You can select multiple days. The time is in the GMT+8 time zone. Valid values:'."\n" + ."\n" + .' - **Sun**: Sunday'."\n" + ."\n" + .' - **Mon**: Monday'."\n" + ."\n" + .' - **Tue**: Tuesday'."\n" + ."\n" + .' - **Wed**: Wednesday'."\n" + ."\n" + .' - **Thu**: Thursday'."\n" + ."\n" + .' - **Fri**: Friday'."\n" + ."\n" + .' - **Sat**: Saturday'."\n" + ."\n" + .'- **1,2,3,28,31 \\* \\***: The policy is executed at a specified time on specific days of a month. You can select multiple days. The value can be from 1 to 31. If a specified day does not exist in a given month (for example, the 31st), the policy is not executed on that day.', 'type' => 'string', 'example' => '* * *', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Id' => [ - 'description' => 'The ID of a routing rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '87', - ], - 'LoadBalanceType' => [ - 'description' => 'The type of SLB instances. Valid values:'."\n" - ."\n" - .'* **clb**: Classic Load Balancer (formerly known as SLB).'."\n" - .'* **alb**: Application Load Balancer.'."\n", - 'type' => 'string', - 'example' => 'clb', - ], - 'ListenerProtocol' => [ - 'description' => 'The protocol used to forward requests. Valid values:'."\n" - ."\n" - .'* **HTTP**: HTTP is suitable for applications that need to identify the transmitted data.'."\n" - .'* **HTTPS**: HTTPS is suitable for applications that require encrypted data transmission.'."\n" - ."\n" - .'This parameter is optional in the **CreateIngress** and **UpadateIngress** operations. If you do not configure this parameter when you call the CreateIngress or UpdateIngress operation to create or update a gateway routing rule, this parameter is not returned for the corresponding response.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'CertIds' => [ - 'description' => 'The ID of the certificate that is associated with an Application Load Balancer **ALB** instance.'."\n", - 'type' => 'string', - 'example' => '87***35-cn-hangzhou,812***3-cn-hangzhou', - ], - 'SecurityPolicyId' => [ - 'title' => '安全策略实例 ID', - 'description' => '', - 'type' => 'string', - 'example' => 'sp-n0kn923****', - ], - 'RequestTimeout' => [ - 'title' => '指定请求超时时间。单位:秒。'."\n" - ."\n" - .'取值:1~180。'."\n" - ."\n" - .'默认值:60。'."\n" - ."\n" - .'如果在超时时间内后端服务器一直没有响应,负载均衡将放弃等待,并给客户端返回HTTP 504错误码。', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'IdleTimeout' => [ - 'title' => '指定连接空闲超时时间。单位:秒。'."\n" - ."\n" - .'取值范围:1~60。'."\n" - ."\n" - .'默认值:15。'."\n" - ."\n" - .'如果在超时时间内一直没有访问请求,负载均衡会暂时中断当前连接,直到一下次请求来临时重新建立新的连接。', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'EnableXForwardedFor' => [ - 'type' => 'boolean', - ], - 'EnableXForwardedForClientSrcPort' => [ - 'type' => 'boolean', - ], - 'EnableXForwardedForProto' => [ - 'type' => 'boolean', - ], - 'EnableXForwardedForSlbId' => [ - 'type' => 'boolean', - ], - 'EnableXForwardedForSlbPort' => [ - 'type' => 'boolean', - ], - 'CreatedBySae' => [ - 'type' => 'boolean', - ], - 'CorsConfig' => [ + 'UpdateTime' => ['description' => 'The time when the policy was last updated, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1616642248938', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the policy was created, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1616642248938', 'title' => ''], + 'LastDisableTime' => ['description' => 'The time when the auto scaling policy was last disabled, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1641882854484', 'title' => ''], + 'ScaleRuleEnabled' => ['description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" + ."\n" + .'- **true**: The policy is enabled.'."\n" + ."\n" + .'- **false**: The policy is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScaleRuleType' => ['description' => 'The type of the auto scaling policy. Valid values:'."\n" + ."\n" + .'- **timing**: scheduled auto scaling.'."\n" + ."\n" + .'- **metric**: metric-based auto scaling.'."\n" + ."\n" + .'- **mix**: mixed auto scaling.', 'type' => 'string', 'example' => 'timing', 'title' => ''], + 'Metric' => [ + 'description' => 'The configurations for the metric-based auto scaling policy.', 'type' => 'object', 'properties' => [ - 'Enable' => [ - 'type' => 'string', - ], - 'ExposeHeaders' => [ - 'type' => 'string', - ], - 'AllowHeaders' => [ - 'type' => 'string', - ], - 'AllowMethods' => [ - 'type' => 'string', - ], - 'AllowOrigin' => [ - 'type' => 'string', - ], - 'AllowCredentials' => [ - 'type' => 'string', - ], - 'MaxAge' => [ - 'type' => 'string', + 'Metrics' => [ + 'description' => 'An array of objects that define the metrics for the metric-based auto scaling policy.', + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration for a single metric.', + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => 'The target value for the metric.'."\n" + ."\n" + .'- The target CPU utilization, in percentage.'."\n" + ."\n" + .'- The target memory utilization, in percentage.'."\n" + ."\n" + .'- The target QPS.'."\n" + ."\n" + .'- The target response time, in milliseconds.'."\n" + ."\n" + .'- The target average number of active TCP connections per second.'."\n" + ."\n" + .'- The target QPS for a public-facing SLB instance.'."\n" + ."\n" + .'- The target response time for a public-facing SLB instance, in milliseconds.'."\n" + ."\n" + .'- The target QPS for an internal-facing SLB instance.'."\n" + ."\n" + .'- The target response time for an internal-facing SLB instance, in milliseconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'MetricType' => ['description' => 'The type of the metric that triggers the auto scaling policy. Valid values:'."\n" + ."\n" + .'- **CPU**: CPU utilization.'."\n" + ."\n" + .'- **MEMORY**: memory utilization.'."\n" + ."\n" + .'- **QPS**: The average QPS per instance over 1 minute for a Java application.'."\n" + ."\n" + .'- **RT**: The average response time across all service endpoints over 1 minute for a Java application.'."\n" + ."\n" + .'- **tcpActiveConn**: The average number of TCP active connections per instance over 30 seconds.'."\n" + ."\n" + .'- **SLB\\_QPS**: The average QPS per instance for a public SLB instance, measured over 15 seconds.'."\n" + ."\n" + .'- **SLB\\_RT**: The average response time for a public SLB instance, measured over 15 seconds.'."\n" + ."\n" + .'- **INTRANET\\_SLB\\_QPS**: The average QPS per instance for an internal-facing SLB instance, measured over 15 seconds.'."\n" + ."\n" + .'- **INTRANET\\_SLB\\_RT**: The average response time for an internal-facing SLB instance, measured over 15 seconds.', 'type' => 'string', 'example' => 'CPU', 'title' => ''], + 'SlbProject' => ['description' => 'The Log Service project for SLB access logs.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'SlbLogstore' => ['description' => 'The Log Service Logstore for SLB access logs.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Vport' => ['description' => 'The port of the SLB instance.', 'type' => 'string', 'example' => '80', 'title' => ''], + 'SlbId' => ['description' => 'The ID of the SLB instance.', 'type' => 'string', 'example' => 'lb-xxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'MaxReplicas' => ['description' => 'The maximum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'MinReplicas' => ['description' => 'The minimum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'EnableGzip' => [ - 'type' => 'boolean', - ], + 'ScaleRuleName' => ['description' => 'The name of the auto scaling policy.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'EnableIdle' => ['description' => 'Indicates whether idle mode is enabled.', 'type' => 'boolean', 'title' => '', 'example' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The error codes. Valid values:'."\n" - ."\n" - .'* **ErrorCode** is not returned if a request is successful.'."\n" - .'* **ErrorCode** is returned if a request failed. For more information, see **Error code** section of this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the configurations of Ingresses were queried successfully. Valid values:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: The information failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'Message' => ['description' => 'The response message. Valid values:'."\n" + ."\n" + .'- Returns **success** if the request is successful.'."\n" + ."\n" + .'- Returns an error message if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- An error code is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The API call was successful.'."\n" + ."\n" + .'- **false**: The API call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', + ['errorCode' => 'InstanceExist.ScalingRuleName', 'errorMessage' => 'The specified ScalingRuleName already exists.', 'description' => 'The specified ScalingRuleName already exists.'], + ['errorCode' => 'InvalidScalingRuleDate.BeginAfterEnd', 'errorMessage' => 'The specified beginning time is later than the ending time.', 'description' => 'The specified begin date is later than the end date.'."\n"], + ['errorCode' => 'InvalidScalingRuleDate.Format', 'errorMessage' => 'The specified date is invalid.', 'description' => 'The specified date is invalid. The correct format is yyyy-MM-dd .'], + ['errorCode' => 'InvalidScalingRuleName.NotFound', 'errorMessage' => 'The specified ScalingRuleName does not exist.', 'description' => 'The specified ScalingRuleName does not exist.'], + ['errorCode' => 'InvalidScalingRuleTime.Conflict', 'errorMessage' => 'The specified scaling rule time is invalid. Another schedule has been set for the specified time range. Please set a different time.', 'description' => 'The specified scaling rule time is invalid. Another schedule has been set for the specified time range. Please set a different time.'], + ['errorCode' => 'InvalidScalingRuleTime.Format', 'errorMessage' => 'The specified time is invalid.', 'description' => 'The specified time is invalid. The correct format is HH:mm .'], + ['errorCode' => 'QuotaExceeded.ScalingRule', 'errorMessage' => 'The maximum number of application scaling rules is exceeded.', 'description' => 'The maximum number of application scaling rules is exceeded.'], + ['errorCode' => 'QuotaExceeded.ScalingRuleTime', 'errorMessage' => 'The maximum number of scaling policy trigger time is exceeded.', 'description' => 'Scaling rule time quota exceeded.'], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'OperationDenied.SDKNotSupported', 'errorMessage' => 'Metrics is not supported in SDK', 'description' => ''], + ['errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', 'description' => 'The minimum number of available instances must be less than the number of application instances.'], + ['errorCode' => 'MinReadyInstanceRatio.Invalid', 'errorMessage' => 'The ratio of minimum available instances must be between 0 and 100.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Timer\\": {\\n \\"EndDate\\": \\"2021-04-25\\",\\n \\"BeginDate\\": \\"2021-03-25\\",\\n \\"Schedules\\": [\\n {\\n \\"AtTime\\": \\"08:00\\",\\n \\"TargetReplicas\\": 3,\\n \\"MaxReplicas\\": 10,\\n \\"MinReplicas\\": 5\\n }\\n ],\\n \\"Period\\": \\"* * *\\"\\n },\\n \\"UpdateTime\\": 1616642248938,\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"CreateTime\\": 1616642248938,\\n \\"LastDisableTime\\": 1641882854484,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"Metric\\": {\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 20,\\n \\"MetricType\\": \\"CPU\\",\\n \\"SlbProject\\": \\"test\\",\\n \\"SlbLogstore\\": \\"test\\",\\n \\"Vport\\": \\"80\\",\\n \\"SlbId\\": \\"lb-xxx\\"\\n }\\n ],\\n \\"MaxReplicas\\": 3,\\n \\"MinReplicas\\": 1\\n },\\n \\"ScaleRuleName\\": \\"test\\",\\n \\"EnableIdle\\": false\\n },\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'CreateApplicationScalingRule', + 'summary' => 'Create an application auto scaling policy.', + 'description' => '## Usage notes'."\n" + ."\n" + .'- You can create up to five elasticity policies per application.'."\n" + ."\n" + .'- For each scheduled elasticity policy, you can create up to 20 trigger points per day.'."\n" + ."\n" + .'- While an elasticity policy is enabled, do not manually perform operations on the application, such as scaling, deployment, changing specifications, restarting, or stopping. To perform these operations, disable the policy first.'."\n" + ."\n" + .'- You cannot add or enable an elasticity policy for an application that is undergoing a scale-out, scale-in, deployment (single-batch, phased, or canary), specification change, restart, or stop.'."\n" + ."\n" + .'- To scale out an application to more than 50 instances, contact SAE technical support to be added to the whitelist. For more information, see [Contact us](~~146530~~).', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-08-30T09:16:23.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2023-05-24T09:14:46.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-05-23T09:38:52.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-26T09:19:37.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-12-19T02:15:04.000Z', 'description' => 'Response parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateApplicationScalingRule'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"SlbId\\": \\"lb-uf62****6d13tq2u5\\",\\n \\"NamespaceId\\": \\"cn-beijing:sae-test\\",\\n \\"Description\\": \\"ingress-sae-test\\",\\n \\"ListenerPort\\": 443,\\n \\"SlbType\\": \\"internet\\",\\n \\"CertId\\": \\"13623****809_16cad216b32_845_-419427029\\",\\n \\"Name\\": \\"lb-uf6jt0nu4z6ior943****-80-f5****\\",\\n \\"DefaultRule\\": {\\n \\"ContainerPort\\": 8080,\\n \\"AppName\\": \\"app1\\",\\n \\"AppId\\": \\"395b60e4-0550-458d-9c54-a265d036****\\",\\n \\"BackendProtocol\\": \\"http\\"\\n },\\n \\"Rules\\": [\\n {\\n \\"AppName\\": \\"app1\\",\\n \\"ContainerPort\\": 8080,\\n \\"Domain\\": \\"edas.site\\",\\n \\"AppId\\": \\"395b60e4-0550-458d-9c54-a265d036****\\",\\n \\"Path\\": \\"/path1\\",\\n \\"BackendProtocol\\": \\"http\\",\\n \\"RewritePath\\": \\"/${1}\\",\\n \\"RuleActions\\": [\\n {\\n \\"ActionType\\": \\"rewrite\\",\\n \\"ActionConfig\\": \\"{\\\\\\\\\\\\\\"host\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"www.example.com\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"path\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/example/text\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"query\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"x=1\\\\\\\\\\\\\\"}\\"\\n }\\n ]\\n }\\n ],\\n \\"Id\\": 87,\\n \\"LoadBalanceType\\": \\"clb\\",\\n \\"ListenerProtocol\\": \\"HTTP\\",\\n \\"CertIds\\": \\"87***35-cn-hangzhou,812***3-cn-hangzhou\\",\\n \\"SecurityPolicyId\\": \\"sp-n0kn923****\\",\\n \\"RequestTimeout\\": 60,\\n \\"IdleTimeout\\": 3,\\n \\"EnableXForwardedFor\\": true,\\n \\"EnableXForwardedForClientSrcPort\\": true,\\n \\"EnableXForwardedForProto\\": true,\\n \\"EnableXForwardedForSlbId\\": true,\\n \\"EnableXForwardedForSlbPort\\": true,\\n \\"CreatedBySae\\": true,\\n \\"CorsConfig\\": {\\n \\"Enable\\": \\"false\\",\\n \\"ExposeHeaders\\": \\"test_123\\",\\n \\"AllowHeaders\\": \\"test_123\\",\\n \\"AllowMethods\\": \\"GET\\",\\n \\"AllowOrigin\\": \\"*\\",\\n \\"AllowCredentials\\": \\"on\\",\\n \\"MaxAge\\": \\"1000\\"\\n },\\n \\"EnableGzip\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeIngressResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a981dd515966966104121683d****</TraceId>\\n <Data>\\n <SlbId>lb-uf62****6d13tq2u5</SlbId>\\n <NamespaceId>cn-beijing:sae-test</NamespaceId>\\n <Description>ingress-sae-test</Description>\\n <ListenerPort>443</ListenerPort>\\n <SlbType>internet</SlbType>\\n <CertId>13623****809_16cad216b32_845_-419427029</CertId>\\n <Name>lb-uf6jt0nu4z6ior943****-80-f5****</Name>\\n <DefaultRule>\\n <ContainerPort>8080</ContainerPort>\\n <AppName>app1</AppName>\\n <AppId>395b60e4-0550-458d-9c54-a265d036****</AppId>\\n <BackendProtocol>http</BackendProtocol>\\n </DefaultRule>\\n <Rules>\\n <AppName>app1</AppName>\\n <ContainerPort>8080</ContainerPort>\\n <Domain>edas.site</Domain>\\n <AppId>395b60e4-0550-458d-9c54-a265d036****</AppId>\\n <Path>/path1</Path>\\n <BackendProtocol>http</BackendProtocol>\\n <RewritePath>/${1}</RewritePath>\\n </Rules>\\n <Id>87</Id>\\n <LoadBalanceType>clb</LoadBalanceType>\\n <ListenerProtocol>HTTP</ListenerProtocol>\\n <CertIds>87***35-cn-hangzhou,812***3-cn-hangzhou</CertIds>\\n </Data>\\n <ErrorCode>空</ErrorCode>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeIngressResponse>","errorExample":""}]', - 'title' => 'DescribeIngress', - 'summary' => 'Call the DescribeIngress operation to query the details of an Ingress.', ], - 'ListIngresses' => [ - 'path' => '/pop/v1/sam/ingress/IngressList', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateConfigMap' => [ + 'path' => '/pop/v1/sam/configmap/configMap', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6374', - 'abilityTreeNodes' => [ - 'FEATUREsaeRW2OE6', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '6305', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of a namespace.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The name of the ConfigMap. The name can contain digits, letters, and underscores (\\_). The name must start with a letter.', 'type' => 'string', 'required' => true, 'example' => 'name', 'title' => ''], ], [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of an application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'bbf3a590-6d13-46fe-8ca9-c947a20b****', - ], + 'schema' => ['description' => 'The ID of the namespace to which the ConfigMap instance belongs.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'CurrentPage', - 'in' => 'query', + 'name' => 'Data', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', + 'description' => 'The ID of the namespace to which the ConfigMap instance belongs.', + 'type' => 'object', + 'properties' => [ + 'Data' => ['description' => 'The ConfigMap data.', 'type' => 'string', 'required' => true, 'example' => '{"env.shell": "/bin/sh"}', 'title' => ''], + ], + 'required' => false, + 'example' => '{"env.home": "/root", "env.shell": "/bin/sh"}', + 'title' => '', ], ], [ - 'name' => 'PageSize', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The key-value pairs of the ConfigMap in the JSON format. Format:'."\n" + ."\n" + .'{"Data":"{"k1":"v1", "k2":"v2"}"}'."\n" + ."\n" + .'k specifies a key and v specifies a value. For more information, see [Manage a Kubernetes ConfigMap](~~171326~~).', 'type' => 'string', 'required' => false, 'example' => 'test-desc', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The description. The description must be 1 to 255 characters in length, and cannot contain spaces.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of a request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned. Valid values:'."\n" - ."\n" - .'* **success** is returned when a request is successful.'."\n" - .'* An error code is returned when a request failed.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of a trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The returned data.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The returned message.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The result returned.'."\n", + 'description' => 'The trace ID that is used to query the details of the request.', 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'TotalSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'PageSize' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'IngressList' => [ - 'description' => 'The list of routing rules.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about routing rules.'."\n", - 'type' => 'object', - 'properties' => [ - 'SlbId' => [ - 'description' => 'The ID of a Server Load Balancer (SLB) instance.'."\n", - 'type' => 'string', - 'example' => 'lb-uf62****6d13tq2u5', - ], - 'NamespaceId' => [ - 'description' => 'The ID of a namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-shanghai', - ], - 'Description' => [ - 'description' => 'The name of a routing rule.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ListenerPort' => [ - 'description' => 'The listener ports for an SLB instance.'."\n", - 'type' => 'string', - 'example' => '80', - ], - 'SlbType' => [ - 'description' => 'The type of SLB instances. Valid values:'."\n" - ."\n" - .'* **internet**: an Internet-facing SLB instance'."\n" - .'* **intranet**: an Intranet-facing SLB instance'."\n", - 'type' => 'string', - 'example' => 'internet', - ], - 'CertId' => [ - 'description' => 'The ID of the certificate that is associated with a Classic Load Balancer (**CLB**) instance.'."\n", - 'type' => 'string', - 'example' => '13624*****73809_16f8e549a20_1175189789_12****3210', - ], - 'CertIds' => [ - 'description' => 'The ID of the certificate that is associated with an Application Load Balancer **ALB** instance.'."\n", - 'type' => 'string', - 'example' => '87***35-cn-hangzhou,812***3-cn-hangzhou', - ], - 'Name' => [ - 'description' => 'The name of a routing rule.'."\n", - 'type' => 'string', - 'example' => 'lb-uf6jt0nu4z6ior943****-80-f5****', - ], - 'Id' => [ - 'description' => 'The ID of a routing rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '18', - ], - 'LoadBalanceType' => [ - 'description' => 'The type of SLB instances. Valid values:'."\n" - ."\n" - .'* **clb**: Classic Load Balancer (formerly known as SLB).'."\n" - .'* **alb**: Application Load Balancer.'."\n", - 'type' => 'string', - 'example' => 'clb', - ], - 'ListenerProtocol' => [ - 'description' => 'The protocol that is supported by SLB to forward requests. Valid values:'."\n" - ."\n" - .'* **HTTP**: HTTP is suitable for applications that need to identify the transmitted data.'."\n" - .'* **HTTPS**: HTTPS is suitable for applications that require encrypted data transmission.'."\n" - ."\n" - .'This parameter is optional in the **CreateIngress** and **UpadateIngress** operations. If you do not configure this parameter when you call the CreateIngress or UpdateIngress operation to create or update a gateway routing rule, this parameter is not returned for the corresponding response.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'MseGatewayId' => [ - 'description' => 'The ID of an MSE cloud-native gateway.'."\n", - 'type' => 'string', - 'example' => 'gw-d5df01a1bae748f1a7c4e325d2fd****', - ], - 'MseGatewayPort' => [ - 'description' => 'The port of a service.'."\n", - 'type' => 'string', - 'example' => '80', - ], - 'MseGatewayProtocol' => [ - 'description' => 'The protocol that is supported by an MSE cloud-native gateway to forward requests. Valid values:'."\n" - ."\n" - .'* **HTTP**: HTTP is suitable for applications that need to identify transmitted data.'."\n" - .'* **HTTPS**: HTTPS is suitable for applications that require encrypted data transmission.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'RequestTimeout' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'IdleTimeout' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'CreateTime' => [ - 'type' => 'integer', - 'format' => 'int64', - ], - 'DefaultRule' => [ - 'type' => 'object', - 'properties' => [ - 'ContainerPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'AppName' => [ - 'type' => 'string', - ], - 'AppId' => [ - 'type' => 'string', - ], - 'BackendProtocol' => [ - 'type' => 'string', - ], - ], - ], - 'Rules' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'type' => 'string', - ], - 'ContainerPort' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'Domain' => [ - 'type' => 'string', - ], - 'AppId' => [ - 'type' => 'string', - ], - 'Path' => [ - 'type' => 'string', - ], - 'BackendProtocol' => [ - 'type' => 'string', - ], - 'RewritePath' => [ - 'type' => 'string', - ], - 'RuleActions' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'ActionType' => [ - 'type' => 'string', - ], - 'ActionConfig' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - ], - 'CorsConfig' => [ - 'type' => 'object', - 'properties' => [ - 'Enable' => [ - 'type' => 'string', - ], - 'ExposeHeaders' => [ - 'type' => 'string', - ], - 'AllowHeaders' => [ - 'type' => 'string', - ], - 'AllowMethods' => [ - 'type' => 'string', - ], - 'AllowOrigin' => [ - 'type' => 'string', - ], - 'AllowCredentials' => [ - 'type' => 'string', - ], - 'MaxAge' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], + 'ConfigMapId' => ['description' => 'The returned result.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Valid values:'."\n" - ."\n" - .'* **ErrorCode** is not returned if a request is successful.'."\n" - .'* **ErrorCode** is returned if a request failed. For more information, see **Error codes**.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of Ingresses was obtained. Valid values:'."\n" - ."\n" - .'* **true**: The list were obtained.'."\n" - .'* **false**: The list failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The ID of the ConfigMap that was created.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'Empty', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'Exceed.ConfigMap', 'errorMessage' => 'Too many ConfigMap objects have been created in the namespace.', 'description' => ''], + ['errorCode' => 'TooMany.Configmap', 'errorMessage' => 'The maximum number of keys or the maximum length of Configmap is exceeded.', 'description' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 0,\\n \\"TotalSize\\": 0,\\n \\"PageSize\\": 0,\\n \\"IngressList\\": [\\n {\\n \\"SlbId\\": \\"lb-uf62****6d13tq2u5\\",\\n \\"NamespaceId\\": \\"cn-shanghai\\",\\n \\"Description\\": \\"test\\",\\n \\"ListenerPort\\": \\"80\\",\\n \\"SlbType\\": \\"internet\\",\\n \\"CertId\\": \\"13624*****73809_16f8e549a20_1175189789_12****3210\\",\\n \\"CertIds\\": \\"87***35-cn-hangzhou,812***3-cn-hangzhou\\",\\n \\"Name\\": \\"lb-uf6jt0nu4z6ior943****-80-f5****\\",\\n \\"Id\\": 18,\\n \\"LoadBalanceType\\": \\"clb\\",\\n \\"ListenerProtocol\\": \\"HTTP\\",\\n \\"MseGatewayId\\": \\"gw-d5df01a1bae748f1a7c4e325d2fd****\\",\\n \\"MseGatewayPort\\": \\"80\\",\\n \\"MseGatewayProtocol\\": \\"HTTP\\",\\n \\"RequestTimeout\\": 0,\\n \\"IdleTimeout\\": 0,\\n \\"CreateTime\\": 0,\\n \\"DefaultRule\\": {\\n \\"ContainerPort\\": 0,\\n \\"AppName\\": \\"\\",\\n \\"AppId\\": \\"\\",\\n \\"BackendProtocol\\": \\"\\"\\n },\\n \\"Rules\\": [\\n {\\n \\"AppName\\": \\"\\",\\n \\"ContainerPort\\": 0,\\n \\"Domain\\": \\"\\",\\n \\"AppId\\": \\"\\",\\n \\"Path\\": \\"\\",\\n \\"BackendProtocol\\": \\"\\",\\n \\"RewritePath\\": \\"\\",\\n \\"RuleActions\\": [\\n {\\n \\"ActionType\\": \\"\\",\\n \\"ActionConfig\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"CorsConfig\\": {\\n \\"Enable\\": \\"\\",\\n \\"ExposeHeaders\\": \\"\\",\\n \\"AllowHeaders\\": \\"\\",\\n \\"AllowMethods\\": \\"\\",\\n \\"AllowOrigin\\": \\"\\",\\n \\"AllowCredentials\\": \\"\\",\\n \\"MaxAge\\": \\"\\"\\n }\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListIngressesResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <IngressList>\\n <SlbId>lb-uf62****6d13tq2u5</SlbId>\\n <NamespaceId>cn-shanghai</NamespaceId>\\n <Description>test</Description>\\n <ListenerPort>80</ListenerPort>\\n <SlbType>internet</SlbType>\\n <CertId>13624*****73809_16f8e549a20_1175189789_12****3210</CertId>\\n <CertIds>87***35-cn-hangzhou,812***3-cn-hangzhou</CertIds>\\n <Name>lb-uf6jt0nu4z6ior943****-80-f5****</Name>\\n <Id>18</Id>\\n <LoadBalanceType>clb</LoadBalanceType>\\n <ListenerProtocol>HTTP</ListenerProtocol>\\n <MseGatewayId>gw-d5df01a1bae748f1a7c4e325d2fd****</MseGatewayId>\\n <MseGatewayPort>80</MseGatewayPort>\\n <MseGatewayProtocol>HTTP</MseGatewayProtocol>\\n </IngressList>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListIngressesResponse>","errorExample":""}]', - 'title' => 'ListIngresses', - 'summary' => 'Use ListIngress API call to query Ingress list', - ], - 'DescribePipeline' => [ - 'summary' => 'View batch information', - 'path' => '/pop/v1/sam/changeorder/DescribePipeline', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 500 => [ + ['errorCode' => 'OperationFailed.RPCError', 'errorMessage' => 'Internal RPC request processing error.', 'description' => 'Internal RPC request processing error.'], ], ], - 'operationType' => 'read', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6343', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ConfigMapId\\": 1\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'CreateConfigMap', + 'summary' => 'Create a ConfigMap in a namespace.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-11-25T02:53:56.000Z', 'description' => 'Request parameters changed'], ], - 'parameters' => [ - [ - 'name' => 'PipelineId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the batch. You can call the [DescribeChangeOrder](~~126617~~) operation to obtain the ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '917660ba-5092-44ca-b8e0-80012c96****', - ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateConfigMap'], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The response body of the batch information.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '559B4247-C41C-4D9E-B866-B55D360B****', - ], - 'Message' => [ - 'description' => 'The message returned for the operation.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0be3e0c316390414649128666e****', - ], - 'Data' => [ - 'description' => 'The batch information.'."\n", - 'type' => 'object', - 'properties' => [ - 'ShowBatch' => [ - 'description' => 'Indicates whether to start processing the next batch. Valid values:'."\n" - ."\n" - .'* **false**: indicates that the next batch cannot be processed yet.'."\n" - .'* **true**: indicates that the next batch can be processed now.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'PipelineStatus' => [ - 'description' => 'The batch status. Valid values:'."\n" - ."\n" - .'* **0**: The batch is prepared for processing.'."\n" - .'* **1**: The task is being executed.'."\n" - .'* **2**: successful'."\n" - .'* **3**: The processing failed in this stage.'."\n" - .'* **6**: The batch processing was terminated.'."\n" - .'* **10**: The batch could not be processed due to a system exception.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'CurrentStageId' => [ - 'description' => 'The ID of the batch processing stage.'."\n", - 'type' => 'string', - 'example' => 'c3a55592-4c30-4d84-ac2d-e98c18ec****', - ], - 'PipelineName' => [ - 'description' => 'The name of the batch.'."\n", - 'type' => 'string', - 'example' => 'First batch'."\n", - ], - 'StageList' => [ - 'description' => 'The list of batch processing stages.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the stage.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the batch processing stage. Valid values:'."\n" - ."\n" - .'* **0**: The batch is prepared for this processing stage.'."\n" - .'* **1**: The task is being executed.'."\n" - .'* **2**: successful'."\n" - .'* **3**: The processing failed in this stage.'."\n" - .'* **6**: The processing stage was terminated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StageId' => [ - 'description' => 'The ID of the stage.'."\n", - 'type' => 'string', - 'example' => 'c3a55592-4c30-4d84-ac2d-e98c18ec****', - ], - 'ExecutorType' => [ - 'description' => 'The execution type of the stage. Valid values:'."\n" - ."\n" - .'* **0**: in sequence.'."\n" - .'* **1**: in parallel.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'TaskList' => [ - 'description' => 'The list of task statuses.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the task status.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The task status. Valid values:'."\n" - ."\n" - .'* **0**: The task is prepared for execution.'."\n" - .'* **1**: The task is being executed.'."\n" - .'* **2**: successful'."\n" - .'* **3**: The task could not be executed.'."\n" - .'* **5**: The task is pending retry.'."\n" - .'* **6**: The task was terminated.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StageId' => [ - 'description' => 'The ID of the stage.'."\n", - 'type' => 'string', - 'example' => 'c3a55592-4c30-4d84-ac2d-e98c18ec****', - ], - 'ErrorMessage' => [ - 'description' => 'The error message returned when the task could not be executed. If the task is successfully executed, this parameter is not returned.'."\n", - 'type' => 'string', - 'example' => 'EDAS-10022', - ], - 'ErrorCode' => [ - 'description' => 'The error code returned when the task could not be executed. If the task is successfully executed, this parameter is not returned.'."\n", - 'type' => 'string', - 'example' => 'EDAS-10022', - ], - 'TaskName' => [ - 'description' => 'The name of the task.'."\n", - 'type' => 'string', - 'example' => 'Environment initialization'."\n", - ], - 'ErrorIgnore' => [ - 'description' => 'Indicates whether to execute the subsequent tasks when the task failed. Valid values:'."\n" - ."\n" - .'* **0**: The subsequent tasks cannot be executed.'."\n" - .'* **1**: The subsequent tasks can be executed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Message' => [ - 'description' => 'The returned message indicating the task execution result.'."\n", - 'type' => 'string', - 'example' => 'init Namespace success', - ], - 'ShowManualIgnore' => [ - 'description' => 'Indicates whether a running task can be manually skipped. Valid values:'."\n" - ."\n" - .'* **true**: The running task can be skipped.'."\n" - .'* **false**: The zone does not allow you to change the network type of an ApsaraDB for Redis instance from classic network to VPC.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'TaskId' => [ - 'description' => 'The ID of the task.'."\n", - 'type' => 'string', - 'example' => 'bef0122f-de9a-4ab0-8223-b88bf8ad****', - ], - ], - ], - ], - 'StageName' => [ - 'description' => 'The name of the stage.'."\n", - 'type' => 'string', - 'example' => 'Deploy an application'."\n", - ], - ], - ], - ], - 'NextPipelineId' => [ - 'description' => 'The ID of the next batch.'."\n", - 'type' => 'string', - 'example' => 'b77b1c98-5772-4f05-95fc-c7bee5fa****', - ], - 'PipelineId' => [ - 'description' => 'The ID of the batch.'."\n", - 'type' => 'string', - 'example' => '917660ba-5092-44ca-b8e0-80012c96****', - ], - 'CoStatus' => [ - 'description' => 'The status of the change order for the batch.'."\n", - 'type' => 'string', - 'example' => 'Successful'."\n", - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the batch information was obtained. Valid values:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: The image failed to be found.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateConfigMap', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.NoPermission', - 'errorMessage' => 'Resource no permission', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"559B4247-C41C-4D9E-B866-B55D360B****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0be3e0c316390414649128666e****\\",\\n \\"Data\\": {\\n \\"ShowBatch\\": false,\\n \\"PipelineStatus\\": 2,\\n \\"CurrentStageId\\": \\"c3a55592-4c30-4d84-ac2d-e98c18ec****\\",\\n \\"PipelineName\\": \\"第1批变更\\",\\n \\"StageList\\": [\\n {\\n \\"Status\\": 2,\\n \\"StageId\\": \\"c3a55592-4c30-4d84-ac2d-e98c18ec****\\",\\n \\"ExecutorType\\": 0,\\n \\"TaskList\\": [\\n {\\n \\"Status\\": 2,\\n \\"StageId\\": \\"c3a55592-4c30-4d84-ac2d-e98c18ec****\\",\\n \\"ErrorMessage\\": \\"EDAS-10022 \\",\\n \\"ErrorCode\\": \\"EDAS-10022\\",\\n \\"TaskName\\": \\"初始化环境\\",\\n \\"ErrorIgnore\\": 0,\\n \\"Message\\": \\"init Namespace success\\",\\n \\"ShowManualIgnore\\": false,\\n \\"TaskId\\": \\"bef0122f-de9a-4ab0-8223-b88bf8ad****\\"\\n }\\n ],\\n \\"StageName\\": \\"部署应用\\"\\n }\\n ],\\n \\"NextPipelineId\\": \\"b77b1c98-5772-4f05-95fc-c7bee5fa****\\",\\n \\"PipelineId\\": \\"917660ba-5092-44ca-b8e0-80012c96****\\",\\n \\"CoStatus\\": \\"执行成功\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribePipelineResponse>\\n <RequestId>559B4247-C41C-4D9E-B866-B55D360B****</RequestId>\\n <Message>success</Message>\\n <TraceId>1344643016148440313321061f****</TraceId>\\n <Data>\\n <ShowBatch>false</ShowBatch>\\n <PipelineStatus>2</PipelineStatus>\\n <CurrentStageId>c3a55592-4c30-4d84-ac2d-e98c18ec****</CurrentStageId>\\n <PipelineName>第1批变更</PipelineName>\\n <StageList>\\n <Status>2</Status>\\n <StageId>c3a55592-4c30-4d84-ac2d-e98c18ec****</StageId>\\n <ExecutorType>0</ExecutorType>\\n <TaskList>\\n <Status>2</Status>\\n <StageId>c3a55592-4c30-4d84-ac2d-e98c18ec****</StageId>\\n <ErrorMessage>EDAS-10022 <a target=\'_blank\' href=\'https://help.aliyun.com/knowledge_detail/106573.html#EDAS-10022\'>应用启动时 READINESS 检查失败</a></ErrorMessage>\\n <ErrorCode>EDAS-10022</ErrorCode>\\n <TaskName>初始化环境</TaskName>\\n <ErrorIgnore>0</ErrorIgnore>\\n <Message>init Namespace success</Message>\\n <ShowManualIgnore>false</ShowManualIgnore>\\n <TaskId>bef0122f-de9a-4ab0-8223-b88bf8ad****</TaskId>\\n </TaskList>\\n <StageName>部署应用</StageName>\\n </StageList>\\n <NextPipelineId>b77b1c98-5772-4f05-95fc-c7bee5fa****</NextPipelineId>\\n <PipelineId>917660ba-5092-44ca-b8e0-80012c96****</PipelineId>\\n <CoStatus>执行成功</CoStatus>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribePipelineResponse>","errorExample":""}]', - 'title' => 'DescribePipeline', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'GetArmsTopNMetric' => [ - 'path' => '/pop/v1/sam/getArmsTopNMetric', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateGreyTagRoute' => [ + 'summary' => 'Create a canary release rule for a Spring Cloud or Dubbo application.', + 'path' => '/pop/v1/sam/tagroute/greyTagRoute', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'produces' => [], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '16756', - 'abilityTreeNodes' => [ - 'FEATUREsaeK7DHH9', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '10251', + 'abilityTreeNodes' => ['FEATUREsaeETR3ZD'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The field based on which you want to sort the returned entries.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '7802c49a-67bc-4167-8369-9a9c003c****', 'title' => ''], ], [ - 'name' => 'OrderBy', + 'name' => 'Name', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return. Valid values: 0 to 100.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'count', - ], + 'schema' => ['description' => 'The name of the canary rule. The name can be up to 64 characters long and can contain only lowercase letters, digits, hyphens (-), and Chinese characters. It must start with a lowercase letter and end with a lowercase letter or a digit.', 'type' => 'string', 'required' => true, 'example' => 'dubbo-echo', 'title' => ''], ], [ - 'name' => 'Limit', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '10', - ], + 'schema' => ['description' => 'The description of the canary rule. The description can be up to 64 characters long.', 'type' => 'string', 'example' => 'Canary Release - Regions', 'title' => '', 'required' => false], ], [ - 'name' => 'StartTime', + 'name' => 'ScRules', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1675823135951', - ], + 'schema' => ['description' => 'The canary rules for a Spring Cloud application. This parameter is required for Spring Cloud applications and cannot be used with the **DubboRules** parameter.', 'type' => 'string', 'example' => '[{"condition":"OR","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"param","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}]', 'title' => '', 'required' => false], ], [ - 'name' => 'EndTime', + 'name' => 'DubboRules', 'in' => 'query', - 'schema' => [ - 'description' => 'The SAE application type. Valid values:'."\n" - ."\n" - .'* **micro_service**'."\n" - .'* **web**'."\n" - .'* **job**'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1675824035951', - ], + 'schema' => ['description' => 'The canary rules for a Dubbo application. This parameter is required for Dubbo applications and cannot be used with the **ScRules** parameter.', 'type' => 'string', 'example' => '[{"condition":"OR","group":"DUBBO","items":[{"cond":"==","expr":".key1","index":0,"operator":"rawvalue","value":"value1"},{"cond":"==","expr":".key2","index":0,"operator":"rawvalue","value":"value2"}],"methodName":"echo","serviceName":"com.alibaba.edas.boot.EchoService","version":"1.0.0"}]', 'title' => '', 'required' => false], ], [ - 'name' => 'AppSource', - 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU allocation policy. Valid values:'."\n" - ."\n" - .'* **request**: CPU cores are allocated only when a request is initiated.'."\n" - .'* **always**: Fixed CPU cores are always allocated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'micro_service', - ], - ], - [ - 'name' => 'CpuStrategy', + 'name' => 'AlbRules', 'in' => 'query', - 'schema' => [ - 'description' => 'The additional information that is returned. The following limits are imposed on the ID:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'always', - ], + 'schema' => ['description' => 'The canary rules for an application that uses an ALB gateway route.', 'type' => 'string', 'example' => '[{"condition":"AND","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"sourceIp","value":"127.0.0.1"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}]', 'title' => '', 'required' => false], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '3B763F98-0BA2-5C23-B6B8-558568D2C1C2', - 'type' => 'string', - 'example' => '3B763F98-0BA2-5C23-B6B8-558568D2****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9D29CBD0-45D3-410B-9826-52F86F90****', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to query the call details.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The details of applications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - 'Name' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'RegionId' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Count' => [ - 'description' => 'The total number of requests.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'Error' => [ - 'description' => 'The number of errors.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Rt' => [ - 'description' => 'The average response time. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - ], + 'description' => 'The details of the canary release rule.', + 'type' => 'object', + 'properties' => [ + 'GreyTagRouteId' => ['description' => 'The globally unique ID of the canary release rule.', 'type' => 'integer', 'format' => 'int64', 'example' => '16', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. The following limits are imposed on the ID:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of applications was obtained. The following limits are imposed on the ID:'."\n" - ."\n" - .'* **true**: The namespaces were obtained.'."\n" - .'* **false**: no'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- If the request fails, see the **Error codes** list in this topic for more information.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9D29CBD0-45D3-410B-9826-52F86F90****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"GreyTagRouteId\\": 16\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'CreateGreyTagRoute', + 'description' => '> You can currently configure only one canary rule per application.', + 'requestParamsDescription' => '- **ScRules parameters**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| --------- | -------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |'."\n" + .'| condition | String | OR | The condition mode for the canary rule. Valid values:<br>\\- **AND**: All conditions in the condition list must be met.<br>\\- **OR**: At least one of the conditions in the condition list must be met. |'."\n" + .'| path | String | /path | The request path for the Spring Cloud canary rule. |'."\n" + .'| items | Array of items | | The list of conditions. |'."\n" + ."\n" + .'**`items` parameters**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| --------- | ------ | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| name | String | test | Parameter name. |'."\n" + .'| cond | String | \\== | The comparison operator. Valid values include: `>`, `<`, `>=`, `<=`, `==`, and `!=`. |'."\n" + .'| type | String | cookie | Comparison type. Valid values:<br>\\- **param**: Parameter.<br>\\- **cookie**: Cookie.<br>\\- **header**: Header. |'."\n" + .'| value | String | test | The value to compare with the actual value retrieved based on the specified `type` and `name`. |'."\n" + .'| operator | String | rawvalue | The operator used for the comparison. Valid values:<br>\\- **rawvalue**: Direct comparison.<br>\\- **list**: Allowlist match.<br>\\- **mod**: Modulo 100.<br>\\- **deterministic_proportional_steaming_division**: Percentage. |'."\n" + ."\n" + .'- **DubboRules parameters**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| ----------- | -------------- | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |'."\n" + .'| condition | String | OR | The condition mode for the canary rule. Valid values:<br>\\- **AND**: All conditions in the condition list must be met.<br>\\- **OR**: At least one of the conditions in the condition list must be met. |'."\n" + .'| methodName | String | echo | The method name of the Dubbo service. |'."\n" + .'| serviceName | String | com.alibaba.edas.boot.EchoService | The Dubbo service name. |'."\n" + .'| version | String | 1.0.0 | The Dubbo service version. |'."\n" + .'| items | Array of items | | The list of conditions. |'."\n" + .'| group | String | DUBBO | The Dubbo service group that the canary rule applies to. |'."\n" + ."\n" + .'**`items` parameters**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| --------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| index | Integer | 0 | The parameter index. 0 indicates the first parameter. |'."\n" + .'| expr | String | .name | The parameter value expression. Valid values:<br>\\- **If left blank**, retrieves the value of the current parameter.<br>\\- **.name**: Retrieves the `name` property of the parameter, equivalent to `args0.getName()`.<br>\\- **.isEnabled()**: Retrieves the `enabled` property of the parameter, equivalent to `args0.isEnabled()`.<br>\\- **[0]**: If the parameter is an array, this expression retrieves the first element of the array, equivalent to `args0[0]`. Note that this expression does not start with a period (.).<br>\\- **.get(0)**: If the parameter is a List, this expression retrieves the first element of the list, equivalent to `args0.get(0)`.<br>\\- **.get("key")**: If the parameter is a Map, this expression retrieves the value for the specified key, equivalent to `args0.get("key")`. |'."\n" + .'| cond | String | \\== | The comparison operator. Valid values include: `>`, `<`, `>=`, `<=`, `==`, and `!=`. |'."\n" + .'| value | String | test | The value to compare with the actual value retrieved based on the specified `expr` and `index`. |'."\n" + .'| operator | String | rawvalue | The operator used for the comparison. Valid values:<br>\\- **rawvalue**: Direct comparison.<br>\\- **list**: Allowlist match.<br>\\- **mod**: Modulo 100.<br>\\- **deterministic_proportional_steaming_division**: Percentage. |', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-29T03:14:28.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-11-16T02:00:05.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateGreyTagRoute'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateGreyTagRoute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3B763F98-0BA2-5C23-B6B8-558568D2****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Count\\": 100,\\n \\"Error\\": 0,\\n \\"Rt\\": 100\\n }\\n ],\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetArmsTopNMetricResponse>\\n <Message>success</Message>\\n <RequestId>3B763F98-0BA2-5C23-B6B8-558568D2C1C2</RequestId>\\n <Data>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <Name>test</Name>\\n <RegionId>cn-hangzhou</RegionId>\\n <Count>100</Count>\\n <Error>0</Error>\\n <Rt>100</Rt>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</GetArmsTopNMetricResponse>","errorExample":""}]', - 'title' => 'GetArmsTopNMetric', - 'summary' => 'Queries the top N applications in Application Monitoring.', ], - 'GetChangeOrderMetric' => [ - 'path' => '/pop/v1/sam/getChangeOrderMetric', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateIngress' => [ + 'path' => '/pop/v1/sam/ingress/Ingress', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '14387', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'operationType' => 'create', + 'abilityTreeCode' => '6306', + 'abilityTreeNodes' => ['FEATUREsaeBRTWZ3'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The ID of the namespace where the application is located. Cross-namespace applications are not supported.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:sae-test', 'title' => ''], ], [ - 'name' => 'CreateTime', + 'name' => 'Description', 'in' => 'query', - 'schema' => [ - 'description' => 'The start time when the change order was created.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1661152748883', - ], + 'schema' => ['description' => 'The name of the routing rule.', 'type' => 'string', 'required' => false, 'example' => 'ingress-for-sae-test', 'title' => ''], ], [ - 'name' => 'OrderBy', + 'name' => 'SlbId', 'in' => 'query', - 'schema' => [ - 'description' => 'The field based on which you want to sort the returned entries.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'errorPercent', - ], + 'schema' => ['description' => 'The ID of the Server Load Balancer (SLB) instance associated with the routing rule.'."\n" + ."\n" + .'> Server Load Balancer (SLB) includes Classic Load Balancer (CLB) and Application Load Balancer (ALB) instances.', 'type' => 'string', 'required' => false, 'example' => 'lb-uf6hucc7inlqrtcq5****', 'title' => ''], ], [ - 'name' => 'Limit', + 'name' => 'ListenerPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '10', - ], + 'schema' => ['description' => 'The listener port for the SLB instance. This port must be available.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '80', 'title' => ''], ], [ - 'name' => 'AppSource', + 'name' => 'CertId', 'in' => 'query', - 'schema' => [ - 'description' => 'The SAE application type. Valid values:'."\n" - ."\n" - .'* **micro_service**'."\n" - .'* **web**'."\n" - .'* **job**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'micro_service', - ], + 'schema' => ['description' => 'The ID of the **CLB** certificate.'."\n" + ."\n" + .'- If `LoadBalanceType` is set to `clb`, use this parameter to configure the HTTPS listener certificate.'."\n" + ."\n" + .'For more information about how to use SSL certificate IDs for CLB, see [Manage Certificates (CLB)](~~90792~~).', 'type' => 'string', 'required' => false, 'example' => '188077086902****_176993d****_181437****_108724****', 'title' => ''], ], [ - 'name' => 'CpuStrategy', + 'name' => 'CertIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU allocation policy. Valid values:'."\n" - ."\n" - .'* **request**: CPU cores are allocated only when a request is initiated.'."\n" - .'* **always**: Fixed CPU cores are always allocated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'always', - ], + 'schema' => ['description' => 'The IDs of the **ALB** certificates.'."\n" + ."\n" + .'- If `LoadBalanceType` is set to `alb`, use this parameter to configure multiple certificates for the HTTPS listener. Separate multiple certificate IDs with a comma (,).'."\n" + ."\n" + .'- Obtain the SSL certificate ID for an ALB instance from the digital certificate service. For example, if you configure `756***-cn-hangzhou`, `756***` is the certificate ID obtained from the product page and `-cn-hangzhou` is a fixed suffix. For more information, see [Manage Certificates (ALB)](~~209076~~).', 'type' => 'string', 'required' => false, 'example' => '87***35-cn-hangzhou,812***3-cn-hangzhou', 'title' => ''], ], [ - 'name' => 'AppId', + 'name' => 'DefaultRule', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The default forwarding rule. Requests that do not match any forwarding rule in the `Rules` parameter are forwarded to the application specified in this rule. The value is a JSON string with the following parameters:'."\n" + ."\n" + .'- `appId`: The ID of the application.'."\n" + ."\n" + .'- `containerPort`: The port of the application instance.'."\n" + ."\n" + .'> This rule serves as a catch-all for traffic that is not handled by other specific forwarding rules.', 'type' => 'string', 'required' => true, 'example' => '{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080}', 'title' => ''], ], [ - 'name' => 'CoType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The additional information that is returned. The following limits are imposed on the ID:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3B763F98-0BA2-5C23-B6B8-558568D2C1C2', - ], - 'Data' => [ - 'description' => 'The details of applications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - 'Name' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'RegionId' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Total' => [ - 'description' => 'The total number of change orders.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '4', - ], - 'Error' => [ - 'description' => 'The number of abnormal change orders.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'ErrorPercent' => [ - 'description' => 'The percentage of change failures.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.25', - ], - 'TaskTimeCostMsAvg' => [ - 'type' => 'string', - ], - 'OptimizeSuggestions' => [ - 'type' => 'string', - ], - 'MaxTimeCostMs' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'AvgTimeCostMs' => [ - 'type' => 'number', - 'format' => 'float', - ], - ], - ], - ], - 'Code' => [ - 'description' => 'The HTTP status code. The following limits are imposed on the ID:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the microservice list was obtained. The following limits are imposed on the ID:'."\n" - ."\n" - .'* **true**: The namespaces were obtained.'."\n" - .'* **false**: no'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - 'description' => '', - ], - ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], + 'name' => 'Rules', + 'in' => 'formData', + 'schema' => ['description' => 'The forwarding rules. These rules route traffic to a specified application based on the domain name and path. The value is a JSON string. Each rule contains the following parameters:'."\n" + ."\n" + .'- `appId`: The ID of the application.'."\n" + ."\n" + .'- `containerPort`: The port of the application instance.'."\n" + ."\n" + .'- `domain`: The domain name.'."\n" + ."\n" + .'- `path`: The request path.'."\n" + ."\n" + .'- `backendProtocol`: The protocol used by backend servers. Valid values: `http`, `https`, and `grpc`. Default value: `http`.'."\n" + ."\n" + .'- `rewritePath`: The rewritten path.'."\n" + ."\n" + .'> Only ALB supports path rewriting (`RewritePath`). CLB does not support this feature.', 'type' => 'string', 'required' => true, 'example' => '[{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080,"domain":"www.sae.site","path":"/path1"},{"appId":"666403ce-d25b-47cf-87fe-497565d2****","containerPort":8080,"domain":"sae.site","path":"/sys/(.*)/(.*)/aaa","backendProtocol":"http"}]', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3B763F98-0BA2-5C23-B6B8-558568D2****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Total\\": 4,\\n \\"Error\\": 1,\\n \\"ErrorPercent\\": 0.25,\\n \\"TaskTimeCostMsAvg\\": \\"\\",\\n \\"OptimizeSuggestions\\": \\"\\",\\n \\"MaxTimeCostMs\\": 0,\\n \\"AvgTimeCostMs\\": 0\\n }\\n ],\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetChangeOrderMetricResponse>\\n <Message>success</Message>\\n <RequestId>3B763F98-0BA2-5C23-B6B8-558568D2C1C2</RequestId>\\n <Data>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <Name>test</Name>\\n <RegionId>cn-hangzhou</RegionId>\\n <Total>4</Total>\\n <Error>1</Error>\\n <ErrorPercent>0.25</ErrorPercent>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</GetChangeOrderMetricResponse>","errorExample":""}]', - 'title' => 'GetChangeOrderMetric', - 'summary' => 'Queries top N applications in abnormal change orders.', - ], - 'GetScaleAppMetric' => [ - 'path' => '/pop/v1/sam/getScaleAppMetric', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '14220', - 'abilityTreeNodes' => [ - 'FEATUREsae5HLO11', + 'name' => 'LoadBalanceType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the Server Load Balancer (SLB) instance. This parameter cannot be changed after the routing rule is created. Valid values:'."\n" + ."\n" + .'- `clb`: Classic Load Balancer (CLB), formerly known as SLB.'."\n" + ."\n" + .'- `alb`: Application Load Balancer (ALB).', 'type' => 'string', 'required' => false, 'example' => 'clb', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The request forwarding protocol. Valid values:'."\n" + ."\n" + .'- `HTTP`: for applications that do not require encryption.'."\n" + ."\n" + .'- `HTTPS`: suitable for applications that require encrypted data transmission.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], ], [ - 'name' => 'Limit', + 'name' => 'SecurityPolicyId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the security policy instance.', 'type' => 'string', 'example' => 'sp-bp1bpn0kn9****', 'title' => '', 'required' => false], ], [ - 'name' => 'AppSource', + 'name' => 'RequestTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The SAE application type. Valid values:'."\n" - ."\n" - .'* **micro_service**'."\n" - .'* **web**'."\n" - .'* **job**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'micro_service', - ], + 'schema' => ['description' => 'The request timeout, in seconds. Valid values: 1 to 180. If a backend server does not respond within the timeout period, the load balancer stops waiting and returns an HTTP 504 error to the client.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => '', 'required' => false], ], [ - 'name' => 'CpuStrategy', + 'name' => 'IdleTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU allocation policy. Valid values:'."\n" - ."\n" - .'* **request**: CPU cores are allocated only when a request is initiated.'."\n" - .'* **always**: Fixed CPU cores are always allocated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'always', - ], + 'schema' => ['description' => 'The connection idle timeout, in seconds. Valid values: 1 to 60. If no request is received within the timeout period, the load balancer temporarily closes the connection. The connection is re-established when the next request is received.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => '', 'required' => false], ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The additional information that is returned. The following limits are imposed on the ID:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3B763F98-0BA2-5C23-B6B8-558568D2C1C2', - ], - 'Data' => [ - 'description' => 'The details of applications.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - 'Name' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'RegionId' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Runnings' => [ - 'description' => 'The current number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - ], - ], - ], - 'Code' => [ - 'description' => 'The HTTP status code. The following limits are imposed on the ID:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the microservice list was obtained. The following limits are imposed on the ID:'."\n" - ."\n" - .'* **true**: The namespaces were obtained.'."\n" - .'* **false**: no'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - 'description' => '', - ], + [ + 'name' => 'EnableXForwardedFor', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-For` header to retrieve the IP address of the client.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], + [ + 'name' => 'EnableXForwardedForClientSrcPort', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-Port` header to retrieve the source port of the client.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3B763F98-0BA2-5C23-B6B8-558568D2****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Runnings\\": 10,\\n \\"MaxReplicas\\": 10\\n }\\n ],\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetScaleAppMetricResponse>\\n <Message>success</Message>\\n <RequestId>3B763F98-0BA2-5C23-B6B8-558568D2C1C2</RequestId>\\n <Data>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <Name>test</Name>\\n <RegionId>cn-hangzhou</RegionId>\\n <Runnings>10</Runnings>\\n <MaxReplicas>10</MaxReplicas>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</GetScaleAppMetricResponse>","errorExample":""}]', - 'title' => 'GetScaleAppMetric', - 'summary' => 'Queries the top N applications in which auto scaling takes effect.', - ], - 'GetWarningEventMetric' => [ - 'path' => '/pop/v1/sam/getWarningEventMetric', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], + 'name' => 'EnableXForwardedForProto', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-Proto` header to retrieve the listener protocol of the load balancer instance.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '14386', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', + [ + 'name' => 'EnableXForwardedForSlbId', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to use the `SLB-ID` header to retrieve the ID of the load balancer instance.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'EnableXForwardedForSlbPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'Specifies whether to use the `X-Forwarded-Port` header to retrieve the listener port of the load balancer instance.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'StartTime', + 'name' => 'AddressType', 'in' => 'query', - 'schema' => [ - 'description' => 'The beginning of the time range to query.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1675823135951', - ], + 'schema' => ['description' => 'The address type. Valid values:'."\n" + ."\n" + .'- `Internet`: A public address.'."\n" + ."\n" + .'- `Intranet`: A private address.', 'type' => 'string', 'required' => false, 'example' => 'Internet', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'LoadBalancerEdition', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range to query.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1675824035951', - ], + 'schema' => ['description' => 'The edition of the Application Load Balancer (ALB) instance. Different editions have different features and billing policies. Valid values:'."\n" + ."\n" + .'- `Standard`: Standard edition.'."\n" + ."\n" + .'- `StandardWithWaf`: WAF-enhanced edition.', 'type' => 'string', 'required' => false, 'example' => 'Standard', 'title' => ''], ], [ - 'name' => 'Limit', + 'name' => 'ZoneMappings', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '10', - ], + 'schema' => ['description' => 'A JSON string that contains the mappings between availability zones and VSwitches. If the current region supports two or more availability zones, you must specify at least two. A ZoneMapping consists of the following parameters:'."\n" + ."\n" + .'- `VSwitchId`: a string that specifies the ID of the VSwitch that corresponds to the availability zone. Each availability zone can have only one VSwitch and one subnet.'."\n" + ."\n" + .'- `ZoneId`: a string that specifies the ID of the availability zone for the load balancer instance.', 'type' => 'string', 'required' => false, 'example' => '[{"VSwitchId":"vsw-wz9klui6icc08p6******","ZoneId":"cn-shenzhen-c"},{"VSwitchId":"vsw-wz9frrmoeuki2wp******","ZoneId":"cn-shenzhen-e"}]', 'title' => ''], ], [ - 'name' => 'AppSource', + 'name' => 'CorsConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The SAE application type. Valid values:'."\n" - ."\n" - .'* **micro_service**'."\n" - .'* **web**'."\n" - .'* **job**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'micro_service', - ], + 'schema' => ['description' => 'Specifies the Cross-Origin Resource Sharing (CORS) configuration.', 'type' => 'string', 'required' => false, 'example' => '{"Enable":"true"}', 'title' => ''], ], [ - 'name' => 'CpuStrategy', + 'name' => 'EnableGzip', 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU allocation policy. Valid values:'."\n" - ."\n" - .'* **request**: CPU cores are allocated only when a request is initiated.'."\n" - .'* **always**: Fixed CPU cores are always allocated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'always', - ], + 'schema' => ['description' => 'Specifies whether to enable Gzip for data compression.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The additional information that is returned. The following limits are imposed on the ID:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3B763F98-0BA2-5C23-B6B8-558568D2****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => '3B763F98-0BA2-5C23-B6B8-558568D2C1C2', - 'type' => 'array', - 'items' => [ - 'description' => 'The details of applications.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppId' => [ - 'description' => 'The details of the application.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - 'Name' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'RegionId' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'WarningCount' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10', - ], - ], + 'description' => 'The returned results.', + 'type' => 'object', + 'properties' => [ + 'IngressId' => ['description' => 'The ID of the routing rule.', 'type' => 'integer', 'format' => 'int64', 'example' => '87', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => 'The number of Warning events.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'The HTTP status code. The following limits are imposed on the ID:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurs.'."\n" + ."\n" + .'- **5xx**: A server error occurs.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the routing rule was created. Valid values:'."\n" + ."\n" + .'- **true**: The routing rule was created.'."\n" + ."\n" + .'- **false**: The routing rule failed to be created.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'Sls.NotExist', - 'errorMessage' => 'SLS configuration does not exist.', + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'Slb.NotFound', 'errorMessage' => 'The SLB instance does not exist: slbId [%s]', 'description' => ''], + ['errorCode' => 'Exceed.IngressRule', 'errorMessage' => 'The number of Ingress related rules must be less than or equal to 40.', 'description' => ''], + ['errorCode' => 'SlbListenerPort.NotAvailable', 'errorMessage' => 'The SLB listening port is unavailable: slbId [%s], port [%s]', 'description' => ''], + ['errorCode' => 'SSLCert.NotFound', 'errorMessage' => 'The specified SSL certificate cannot be found.', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'InvalidResponse.Api', 'errorMessage' => 'The response of API %s is empty.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"IngressId\\": 87\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'CreateIngress', + 'summary' => 'Create a routing rule.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-10-24T08:31:05.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-03-21T02:11:42.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-01-10T02:30:23.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-10-29T08:50:17.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-11T08:44:35.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-08-21T01:31:17.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-02T02:40:58.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIngress'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateIngress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3B763F98-0BA2-5C23-B6B8-558568D2****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"WarningCount\\": 10\\n }\\n ],\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetWarningEventMetricResponse>\\n <Message>success</Message>\\n <RequestId>3B763F98-0BA2-5C23-B6B8-558568D2C1C2</RequestId>\\n <Data>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <Name>test</Name>\\n <RegionId>cn-hangzhou</RegionId>\\n <WarningCount>10</WarningCount>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</GetWarningEventMetricResponse>","errorExample":""}]', - 'title' => 'GetWarningEventMetric', - 'summary' => 'Queries the top N applications in which Warning events occur.', ], - 'CreateApplication' => [ - 'path' => '/pop/v1/sam/app/createApplication', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'CreateJob' => [ + 'path' => '/pop/v1/sam/job/createJob', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -8138,1389 +4240,1521 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', - 'abilityTreeCode' => '6303', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'abilityTreeCode' => '100729', + 'abilityTreeNodes' => ['FEATUREsaeN5OIM9'], ], 'parameters' => [ [ 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the application. The name can contain digits, letters, and hyphens (-). The name must start with a letter and cannot end with a hyphen (-). It cannot exceed 36 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The name of the job template. The name can contain letters, digits, and hyphens (-). It must start with a letter and be no longer than 36 characters.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], [ 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'SAE namespace ID. Only namespaces consisting of lowercase letters and hyphens (-) are supported, and the name must start with a letter.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The ID of the SAE namespace. The namespace name can contain only lowercase letters and hyphens (-), and must start with a letter.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ 'name' => 'AppDescription', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the template. The description cannot exceed 1,024 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'This is a test description.', - ], + 'schema' => ['description' => 'The description of the job template. It cannot exceed 1,024 characters.', 'type' => 'string', 'required' => false, 'example' => 'This is a test description.', 'title' => ''], ], [ 'name' => 'VpcId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the virtual private cloud (VPC) that corresponds to the SAE namespace. In SAE, once correspondence is configured between a namespace and a VPC, the namespace cannot correspond to other VPCs. When the SAE application is created within the namespace, the application is bound with the VPC. Multiple namespaces can correspond to the same VPC. The default value is the ID of the VPC that is bound to the namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1aevy8sofi8mh1q****', - ], + 'schema' => ['description' => 'The ID of the VPC for the SAE namespace. In SAE, a namespace can be bound to only one VPC, and this binding cannot be changed. The binding is established when you create the first SAE job template in the namespace. A single VPC can be associated with multiple namespaces. If you do not specify this parameter, the ID of the VPC that is bound to the namespace is used by default.', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1aevy8sofi8mh1q****', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The vSwitch to which the elastic network interface (ENI) of the application instance is connected. The vSwitch must be located in the VPC specified by the VpcId parameter. The SAE namespace is bound with this vSwitch. The default value is the ID of the vSwitch that is bound to the namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp12mw1f8k3jgygk9****', - ], + 'schema' => ['description' => 'The ID of the vSwitch for the elastic network interface of the task instance. The vSwitch must be located in the specified VPC. The vSwitch is also bound to the SAE namespace. If you do not specify this parameter, the ID of the vSwitch that is bound to the namespace is used by default.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp12mw1f8k3jgygk9****', 'title' => ''], ], [ 'name' => 'PackageType', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the deployment package. Take note of the following rules:'."\n" - ."\n" - .'* If you deploy the application by using a Java Archive (JAR) package, you can set this parameter to **FatJar**, **War**, or **Image**.'."\n" - .'* If you deploy the application by using a PHP package, you can set this parameter to one of the following values:'."\n" - ."\n" - .'**PhpZip** **IMAGE_PHP\\_5\\_4** **IMAGE_PHP\\_5\\_4\\_ALPINE** **IMAGE_PHP\\_5\\_5** **IMAGE_PHP\\_5\\_5\\_ALPINE** **IMAGE_PHP\\_5\\_6** **IMAGE_PHP\\_5\\_6\\_ALPINE** **IMAGE_PHP\\_7\\_0** **IMAGE_PHP\\_7\\_0\\_ALPINE** **IMAGE_PHP\\_7\\_1** **IMAGE_PHP\\_7\\_1\\_ALPINE** **IMAGE_PHP\\_7\\_2** **IMAGE_PHP\\_7\\_2\\_ALPINE** **IMAGE_PHP\\_7\\_3** **IMAGE_PHP\\_7\\_3\\_ALPINE**'."\n" - ."\n" - .'* If you deploy the application by using a **Python** package, you can set this parameter to **PythonZip** or **Image**:'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'FatJar', - ], + 'schema' => ['description' => 'The type of the deployment package. Valid values:'."\n" + ."\n" + .'- For Java applications, valid values are **FatJar**, **War**, and **Image**.'."\n" + ."\n" + .'- For PHP applications, the valid values are:'."\n" + ."\n" + .' - **PhpZip**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_4**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_4\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_5**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_5\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_6**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_6\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_0**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_0\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_1**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_1\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_2**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_2\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_3**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_3\\_ALPINE**'."\n" + ."\n" + .'- For **Python** applications, valid values are **PythonZip** and **Image**.', 'type' => 'string', 'required' => true, 'example' => 'FatJar', 'title' => ''], ], [ 'name' => 'PackageVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the deployment package. This parameter is required when the **PackageType** parameter is set to **FatJar**, **War**, or **PythonZip**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', - ], + 'schema' => ['description' => 'The version of the deployment package. This parameter is required when **PackageType** is set to **FatJar**, **War**, or **PythonZip**.', 'type' => 'string', 'required' => false, 'example' => '1.0.1', 'title' => ''], ], [ 'name' => 'PackageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The address of the deployment package. This parameter is required if you set **PackageType** to **FatJar**, **War**, or **PythonZip**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http://myoss.oss-cn-****.aliyuncs.com/my-buc/2019-06-30/****.jar', - ], + 'schema' => ['description' => 'The URL of the deployment package. This parameter is required when **PackageType** is set to **FatJar**, **War**, or **PythonZip**.', 'type' => 'string', 'required' => false, 'example' => 'http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar', 'title' => ''], ], [ 'name' => 'ImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the image. This parameter is required if you set the `PackageType` parameter to `Image`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1', - ], + 'schema' => ['description' => 'The URL of the image. This parameter is required when **PackageType** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1', 'title' => ''], ], [ 'name' => 'Jdk', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Java development kit (JDK) on which the deployment package of the application depends. The following versions are supported:'."\n" - ."\n" - .'* **Open JDK 8**'."\n" - .'* **Open JDK 7**'."\n" - .'* **Dragonwell 11**'."\n" - .'* **Dragonwell 8**'."\n" - .'* **openjdk-8u191-jdk-alpine3.9**'."\n" - .'* **openjdk-7u201-jdk-alpine3.9**'."\n" - ."\n" - .'This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open JDK 8', - ], + 'schema' => ['description' => 'The JDK version that the deployment package requires. The following versions are supported:'."\n" + ."\n" + .'- **Open JDK 8**'."\n" + ."\n" + .'- **Open JDK 7**'."\n" + ."\n" + .'- **Dragonwell 11**'."\n" + ."\n" + .'- **Dragonwell 8**'."\n" + ."\n" + .'- **openjdk-8u191-jdk-alpine3.9**'."\n" + ."\n" + .'- **openjdk-7u201-jdk-alpine3.9**'."\n" + ."\n" + .'This parameter is not supported when **PackageType** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'Open JDK 8', 'title' => ''], ], [ 'name' => 'WebContainer', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Tomcat container on which the deployment package depends. Valid values:'."\n" - ."\n" - .'* **apache-tomcat-7.0.91**'."\n" - .'* **apache-tomcat-8.5.42**'."\n" - ."\n" - .'This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'apache-tomcat-7.0.91', - ], + 'schema' => ['description' => 'The Tomcat version that the deployment package requires. The following versions are supported:'."\n" + ."\n" + .'- **apache-tomcat-7.0.91**'."\n" + ."\n" + .'- **apache-tomcat-8.5.42**'."\n" + ."\n" + .'This parameter is not supported when **PackageType** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'apache-tomcat-7.0.91', 'title' => ''], ], [ 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU specifications that are required for each instance. Unit: millicores. This parameter cannot be set to 0. Valid values:'."\n" - ."\n" - .'* **500**'."\n" - .'* **1000**'."\n" - .'* **2000**'."\n" - .'* **4000**'."\n" - .'* **8000**'."\n" - .'* **12000**'."\n" - .'* **16000**'."\n" - .'* **32000**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => 'The CPU required for each instance, in millicores. This value cannot be 0. Only the following fixed specifications are currently supported:'."\n" + ."\n" + .'- **500**'."\n" + ."\n" + .'- **1000**'."\n" + ."\n" + .'- **2000**'."\n" + ."\n" + .'- **4000**'."\n" + ."\n" + .'- **8000**'."\n" + ."\n" + .'- **16000**'."\n" + ."\n" + .'- **32000**', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''], ], [ 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size that is required by each instance. Unit: MB. This parameter cannot be set to 0. The values of this parameter correspond to the values of the Cpu parameter:'."\n" - ."\n" - .'* This parameter is set to **1024** if the Cpu parameter is set to 500 or 1000.'."\n" - .'* This parameter is set to **2048** if the Cpu parameter is set to 500, 1000, or 2000.'."\n" - .'* This parameter is set to **4096** if the Cpu parameter is set to 1000, 2000, or 4000.'."\n" - .'* This parameter is set to **8192** if the Cpu parameter is set to 2000, 4000, or 8,000.'."\n" - .'* This parameter is set to **12288** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **16384** if the Cpu parameter is set to 4000, 8000, or 16000.'."\n" - .'* This parameter is set to **24576** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **32768** if the Cpu parameter is set to 16000.'."\n" - .'* This parameter is set to **65536** if the Cpu parameter is set to 8000, 16000, or 32000.'."\n" - .'* This parameter is set to **131072** if the Cpu parameter is set to 32000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1024', - ], + 'schema' => ['description' => 'The memory required for each instance, in MB. This value cannot be 0. CPU and memory specifications are coupled. The following specifications are currently supported:'."\n" + ."\n" + .'- **1024**: corresponds to 500 or 1,000 millicores of CPU.'."\n" + ."\n" + .'- **2048**: corresponds to 500, 1,000, or 2,000 millicores of CPU.'."\n" + ."\n" + .'- **4096**: corresponds to 1,000, 2,000, or 4,000 millicores of CPU.'."\n" + ."\n" + .'- **8192**: corresponds to 2,000, 4,000, or 8,000 millicores of CPU.'."\n" + ."\n" + .'- **12288**: corresponds to 12,000 millicores of CPU.'."\n" + ."\n" + .'- **16384**: corresponds to 4,000, 8,000, or 16,000 millicores of CPU.'."\n" + ."\n" + .'- **24576**: corresponds to 12,000 millicores of CPU.'."\n" + ."\n" + .'- **32768**: corresponds to 16,000 millicores of CPU.'."\n" + ."\n" + .'- **65536**: corresponds to 8,000, 16,000, or 32,000 millicores of CPU.'."\n" + ."\n" + .'- **131072**: corresponds to 32,000 millicores of CPU.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1024', 'title' => ''], ], [ 'name' => 'Replicas', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instances when initialized.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The number of concurrent task instances.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '3', 'title' => ''], ], [ 'name' => 'Command', 'in' => 'query', - 'schema' => [ - 'description' => 'The command that is used to start the image. The command must be an existing executable object in the container. Sample statements:'."\n" - ."\n" - .' command:'."\n" - .' - echo'."\n" - .' - abc'."\n" - .' - >'."\n" - .' - file0'."\n" - ."\n" - .'In this example, the Command parameter is set to `Command="echo", CommandArgs=["abc", ">", "file0"]`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo', - ], + 'schema' => ['description' => 'The entrypoint command for the container. The command must be an executable inside the container. Example:'."\n" + ."\n" + .'```'."\n" + .'command:'."\n" + .' - echo'."\n" + .' - abc'."\n" + .' - >'."\n" + .' - file0'."\n" + .'```'."\n" + ."\n" + .'For the preceding example, `Command="echo", CommandArgs=["abc", ">", "file0"]`.', 'type' => 'string', 'required' => false, 'example' => 'echo', 'title' => ''], ], [ 'name' => 'CommandArgs', 'in' => 'query', - 'schema' => [ - 'description' => 'The parameters of the image startup command. The CommandArgs parameter specifies the parameters that are required for the **Command** parameter. You can specify the name in one of the following formats:'."\n" - ."\n" - .'`["a","b"]`'."\n" - ."\n" - .'In the preceding example, the CommandArgs parameter is set to `CommandArgs=["abc", ">", "file0"]`. The data type of `["abc", ">", "file0"]` must be an array of strings in the JSON format. This parameter is optional.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["a","b"]', - ], + 'schema' => ['description' => 'Arguments for the entrypoint command (**Command**). The format is as follows:'."\n" + ."\n" + .'`["a","b"]`'."\n" + ."\n" + .'In the example for the `Command` parameter, the value for `CommandArgs` is `["abc", ">", "file0"]`. This value must be a string that contains a JSON array. If the command takes no arguments, you can omit this parameter.', 'type' => 'string', 'required' => false, 'example' => '["a","b"]', 'title' => ''], ], [ 'name' => 'Envs', 'in' => 'query', - 'schema' => [ - 'description' => 'The environment variables. You can configure custom environment variables or reference a ConfigMap. Before you can reference a ConfigMap, you must create a ConfigMap. For more information, see [CreateConfigMap](~~176914~~). Valid values:'."\n" - ."\n" - .'* Custom configuration'."\n" - ."\n" - .' * **name**: the name of the environment variable.'."\n" - .' * **value**: the value of the environment variable. The priority of the custom configuration is higher than valueFrom.'."\n" - ."\n" - .'* Reference a ConfigMap (valueFrom)'."\n" - ."\n" - .' * **name**: the name of the environment variable. You can reference one or all keys. To reference all keys, specify `sae-sys-configmap-all-<ConfigMap name>`. Example: `sae-sys-configmap-all-test1`.'."\n" - .' * **valueFrom**: the reference of the environment variable. Valid value: `configMapRef`.'."\n" - .' * **configMapId**: the ID of the ConfigMap.'."\n" - .' * **key**: the key. If you want to reference all key values, you do not need to configure this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"envtmp","value":"0"}]', - ], + 'schema' => ['description' => 'Environment variables to set in the container. To reference variables, the ConfigMap must already exist. For more information, see [CreateConfigMap](~~176914~~). The value can be configured in one of the following ways:'."\n" + ."\n" + .'- Specify custom variables'."\n" + ."\n" + .' - **name**: The name of the environment variable.'."\n" + ."\n" + .' - **value**: The value of the environment variable.'."\n" + ."\n" + .'- Reference a ConfigMap'."\n" + ."\n" + .' - **name**: The name of the environment variable. You can reference a single key or all keys. To reference all keys, enter a value in the `sae-sys-configmap-all-<ConfigMap name>` format. Example: `sae-sys-configmap-all-test1`.'."\n" + ."\n" + .' - **valueFrom**: The source of the environment variable. Set the value to `configMapRef`.'."\n" + ."\n" + .' - **configMapId**: The ID of the ConfigMap.'."\n" + ."\n" + .' - **key**: The key to reference. If you want to reference all key-value pairs, do not specify this parameter.', 'type' => 'string', 'required' => false, 'example' => '[{"name":"envtmp","value":"0"}]', 'title' => ''], ], [ 'name' => 'CustomHostAlias', 'in' => 'query', - 'schema' => [ - 'description' => 'The custom mappings between hostnames and IP addresses in the container. Take note of the following rules:'."\n" - ."\n" - .'* **hostName**: the domain name or hostname.'."\n" - .'* **ip**: the IP address.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"hostName":"samplehost","ip":"127.0.0.1"}]', - ], + 'schema' => ['description' => 'The host alias that maps a hostname to an IP address in the container. The parameters are described as follows:'."\n" + ."\n" + .'- **hostName**: The domain name or hostname.'."\n" + ."\n" + .'- **ip**: The IP address.', 'type' => 'string', 'required' => false, 'example' => '[{"hostName":"samplehost","ip":"127.0.0.1"}]', 'title' => ''], ], [ 'name' => 'JarStartOptions', 'in' => 'query', - 'schema' => [ - 'description' => 'The option settings in the JAR package. The settings are used to start the application container. The default startup command for application deployment is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-Xms4G -Xmx4G', - ], + 'schema' => ['description' => 'The startup options for the JAR package. The default startup command is: `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`', 'type' => 'string', 'required' => false, 'example' => 'custom-option', 'title' => ''], ], [ 'name' => 'JarStartArgs', 'in' => 'query', - 'schema' => [ - 'description' => 'The arguments in the JAR package. The arguments are used to start the application container. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'custom-args', - ], - ], - [ - 'name' => 'Liveness', - 'in' => 'query', - 'schema' => [ - 'description' => 'Container health check. If the container fails this check, it will be revoked and relaunch again. Use one of the following methods to perform the health check:'."\n" - ."\n" - .'* Example of **exec**: `{"exec":{"command":\\["sh","-c","cat/home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}`'."\n" - .'* Sample code of the **httpGet** method: `{"httpGet":{"path":"/","port":18091,"scheme":"HTTP","isContainKeyWord":true,"keyWord":"SAE"},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" - .'* Sample code of the **tcpSocket** method: `{"tcpSocket":{"port":18091},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" - ."\n" - .'> You can use only one method to perform the health check.'."\n" - ."\n" - .'The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **exec.command**: the health check command.'."\n" - .'* **httpGet.path**: the request path.'."\n" - .'* **httpGet.scheme**: the protocol that is used to perform the health check. Valid values: **HTTP** and **HTTPS**.'."\n" - .'* **httpGet.isContainKeyWord**: indicates whether the response contains keywords. Valid values: **true** and **false**. If this field is not returned, the advanced settings are not used.'."\n" - .'* **httpGet.keyWord**: the custom keyword. This parameter is available only if the **isContainKeyWord** field is returned.'."\n" - .'* **tcpSocket.port**: the port that is used to check the status of TCP connections.'."\n" - .'* **initialDelaySeconds**: the delay of the health check. Default value: 10. Unit: seconds.'."\n" - .'* **periodSeconds**: the interval at which health checks are performed. Default value: 30. Unit: seconds.'."\n" - .'* **timeoutSeconds**: the timeout period of the health check. Default value: 1. Unit: seconds. If you set this parameter to 0 or leave this parameter empty, the timeout period is automatically set to 1 second.', - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}', - ], - ], - [ - 'name' => 'Readiness', - 'in' => 'query', - 'schema' => [ - 'description' => 'Check the launch status of the container. Containers that fail health checks more than once will not receive traffic from Server Load Balancer (SLB) instances any loner. You can use the **exec**, **httpGet**, or **tcpSocket** method to perform health checks. For more information, see the description of the **Liveness** parameter.'."\n" - ."\n" - .'> You can use only one method to perform the health check.', - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}', - ], - ], - [ - 'name' => 'Deploy', - 'in' => 'query', - 'schema' => [ - 'description' => 'Whether to deploy now.'."\n" - ."\n" - .'* **true** (default): Deploy now.'."\n" - .'* **false**: Deploy later.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The startup arguments for the JAR package. The default startup command is: `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`', 'type' => 'string', 'required' => false, 'example' => '-Xms4G -Xmx4G', 'title' => ''], ], [ 'name' => 'EdasContainerVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the container in HSF.', - 'type' => 'string', - 'required' => false, - 'example' => '3.5.3', - ], + 'schema' => ['description' => 'The version of the HSF runtime environment for the task, such as an Ali-Tomcat container.', 'type' => 'string', 'required' => false, 'example' => '3.5.3', 'title' => ''], ], [ 'name' => 'Timezone', 'in' => 'query', - 'schema' => [ - 'description' => 'Time zone. Default to time zone of Asia/Shanghai.', - 'type' => 'string', - 'required' => false, - 'example' => 'Asia/Shanghai', - ], + 'schema' => ['description' => 'The time zone. Default value: **Asia/Shanghai**.', 'type' => 'string', 'required' => false, 'example' => 'Asia/Shanghai', 'title' => ''], ], [ 'name' => 'SlsConfigs', 'in' => 'query', - 'schema' => [ - 'description' => 'The logging configurations of Log Service.'."\n" - ."\n" - .'* To use Log Service resources that are automatically created by SAE, set this parameter to `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" - .'* To use custom Log Service resources, set this parameter to `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" - ."\n" - .'The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **projectName**: the name of the Log Service project.'."\n" - .'* **logDir**: the path in which logs are stored.'."\n" - .'* **logType**: the log type. **stdout**: the standard output log of the container. You can specify only one stdout value for this parameter. If you leave this parameter empty, file logs are collected.'."\n" - .'* **logstoreName**: the name of the Logstore in Log Service.'."\n" - .'* **logtailName**: the name of the Logtail configuration in Log Service. If you do not configure this parameter, a new Logtail configuration is created.'."\n" - ."\n" - .'If you do not need to modify the logging configurations when you deploy the application, configure the **SlsConfigs** parameter only in the first request. You do not need to include this parameter in subsequent requests. If you no longer need to use Log Service, leave the **SlsConfigs** parameter empty in the request.'."\n" - ."\n" - .'> A Log Service project that is automatically created by SAE when you create an application is deleted when the application is deleted. Therefore, when you create an application, you cannot select a Log Service project that is automatically created by SAE for log collection.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', - ], + 'schema' => ['description' => 'The configuration for collecting logs to Simple Log Service (SLS).'."\n" + ."\n" + .'- To use SLS resources that are automatically created by SAE: `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" + ."\n" + .'- To use your own SLS resources: `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" + ."\n" + .'The parameters are described as follows:'."\n" + ."\n" + .'- **projectName**: The name of the SLS Project.'."\n" + ."\n" + .'- **logDir**: The path of the log file.'."\n" + ."\n" + .'- **logType**: The log type. **stdout** indicates the standard output of the container. You can specify only one standard output. If you do not set this parameter, file logs are collected.'."\n" + ."\n" + .'- **logstoreName**: The name of the Logstore in SLS.'."\n" + ."\n" + .'- **logtailName**: The name of the Logtail in SLS. If you do not specify this parameter, a new Logtail is created.'."\n" + ."\n" + .'If the log collection configuration does not change during subsequent deployments, you do not need to set this parameter (the request does not need to include the **SlsConfigs** field). If you no longer need to use the log collection feature, set the value of this parameter to an empty string ("") in your request.'."\n" + ."\n" + .'> SAE deletes a project that it automatically created when you delete the corresponding job template. Therefore, if you specify an existing project, do not use one that was automatically created by SAE.', 'type' => 'string', 'required' => false, 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', 'title' => ''], ], [ 'name' => 'NasId', 'in' => 'query', - 'schema' => [ - 'description' => 'It is not recommended to configure this field; configuring NasConfigs instead. The ID of the mounted NAS must be in the same region as the cluster. The NAS must have available mount point quota or its mount point must already be on a switch within the VPC. If this field is not specified and the mountDescs field exists, a NAS will be automatically purchased and mounted to a switch within the VPC by default.'."\n" - ."\n" - .'When deploying, if the configuration has not changed, you do not need to set this parameter (i.e., the NASId field does not need to be included in the request). If you need to clear the NAS configuration, set the value of this field to an empty string in the request (i.e., set the value of the NASId field to "").', - 'type' => 'string', - 'required' => false, - 'example' => 'KSAK****', - ], + 'schema' => ['description' => 'The ID of the NAS file system. If this configuration does not change in subsequent deployments, you can omit this parameter. To clear the NAS configuration, set this parameter to an empty string ("").', 'type' => 'string', 'required' => false, 'example' => '10d3b4****', 'title' => ''], ], [ 'name' => 'MountHost', 'in' => 'query', - 'schema' => [ - 'description' => 'It is not recommended to configure this field; configuring NasConfigs instead. This field specifies the NAS mount point within the application\'s VPC. When deploying, if the configuration has not changed, you do not need to set this parameter (i.e., the MountHost field does not need to be included in the request). If you need to clear the NAS configuration, set the value of this field to an empty string in the request (i.e., set the value of the MountHost field to "").', - 'type' => 'string', - 'required' => false, - 'example' => 'example.com', - ], + 'schema' => ['description' => 'The NAS mount target in the VPC of the job template. If this configuration does not change in subsequent deployments, you can omit this parameter. To clear the NAS configuration, set this parameter to an empty string ("").', 'type' => 'string', 'required' => false, 'example' => '10d3b4bc9****.com', 'title' => ''], ], [ 'name' => 'MountDesc', 'in' => 'query', - 'schema' => [ - 'description' => 'It is not recommended to configure this field; configuring NasConfigs instead. This field specifies the NAS mount description. When deploying, if the configuration has not changed, you do not need to set this parameter (i.e., the MountDesc field does not need to be included in the request). If you need to clear the NAS configuration, set the value of this field to an empty string in the request (i.e., set the value of the MountDesc field to "").', - 'type' => 'string', - 'required' => false, - 'example' => '[{mountPath: "/tmp", nasPath: "/"}]', - ], + 'schema' => ['description' => 'The NAS mount description. If this configuration does not change in subsequent deployments, you can omit this parameter. To clear the NAS configuration, set this parameter to an empty string ("").', 'type' => 'string', 'required' => false, 'example' => '[{mountPath: "/tmp", nasPath: "/"}]', 'title' => ''], ], [ 'name' => 'PreStop', 'in' => 'query', - 'schema' => [ - 'description' => 'To controle whether to run a script before the container stops. Example: {"exec":{"command":\\["cat","/etc/group"]}}', - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["cat","/etc/group"]}}', - ], + 'schema' => ['description' => 'A PreStop hook. This script runs immediately before the container is stopped. The value must be a JSON string, for example: `{"exec":{"command":["sh","-c","echo hello"]}}`', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', 'title' => ''], ], [ 'name' => 'PostStart', 'in' => 'query', - 'schema' => [ - 'description' => 'Control whether to run a script after the container is initialized. Example: {"exec":{"command":\\["cat","/etc/group"]}}', - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["cat","/etc/group"]}}', - ], + 'schema' => ['description' => 'A PostStart hook. This script runs immediately after the container is created. The value must be a JSON string, for example: `{"exec":{"command":["sh","-c","echo hello"]}}`', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', 'title' => ''], ], [ 'name' => 'WarStartOptions', 'in' => 'query', - 'schema' => [ - 'description' => 'The startup command of the WAR package. For information about how to configure the startup command, see [Configure startup commands](~~96677~~).', - 'type' => 'string', - 'required' => false, - 'example' => 'CATALINA_OPTS=\\"$CATALINA_OPTS $Options\\" catalina.sh run', - ], + 'schema' => ['description' => 'The startup command for a WAR package deployment. The configuration steps are the same as for an image-based deployment. For more information, see [Set a startup command](~~96677~~).', 'type' => 'string', 'required' => false, 'example' => 'CATALINA_OPTS=\\"$CATALINA_OPTS $Options\\" catalina.sh run', 'title' => ''], ], [ 'name' => 'ConfigMapMountDesc', 'in' => 'formData', - 'schema' => [ - 'description' => 'The description of the **ConfigMap** instance mounted to the application. Use configurations created on the Configuration Items page to configure containers. The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **congfigMapId**: the ID of the ConfigMap instance. You can call the [ListNamespacedConfigMaps](~~176917~~) operation to obtain the ID.'."\n" - .'* **key**: the key.'."\n" - ."\n" - .'> You can use `sae-sys-configmap-all` to mount all keys.'."\n" - ."\n" - .'* **mountPath**: the mount path in the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"configMapId":16,"key":"test","mountPath":"/tmp"}]', - ], + 'schema' => ['description' => 'The **ConfigMap** mount description. Use a ConfigMap created in the namespace to inject configurations into the container. The parameters are described as follows:'."\n" + ."\n" + .'- **configMapId**: The ID of the ConfigMap. You can call the [ListNamespacedConfigMaps](~~176917~~) operation to obtain this ID.'."\n" + ."\n" + .'- **key**: The key.'."\n" + ."\n" + .'> You can pass the `sae-sys-configmap-all` parameter to mount all keys.'."\n" + ."\n" + .'- **mountPath**: The mount path in the container.', 'type' => 'string', 'required' => false, 'example' => '[{"configMapId":16,"key":"test","mountPath":"/tmp"}]', 'title' => ''], ], [ 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Security group ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'sg-wz969ngg2e49q5i4****', - ], + 'schema' => ['description' => 'The security group ID.', 'type' => 'string', 'required' => false, 'example' => 'sg-wz969ngg2e49q5i4****', 'title' => ''], ], [ 'name' => 'AutoConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically configure the network environment. Valid values:'."\n" - ."\n" - .'* **true**: SAE automatically configures the network environment when you create the application. If you set this parameter to true, the values of the **NamespaceId**, **VpcId**, **vSwitchId**, and **SecurityGroupId** parameters are ignored.'."\n" - .'* **false**: SAE configures the network environment based on your settings when you create the application.'."\n" - ."\n" - .'> If you select **true**, other **NamespaceId** will be ignored.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to automatically configure the network environment. Valid values:'."\n" + ."\n" + .'- **true**: SAE automatically configures the network environment when you create the job template. The values of **NamespaceId**, **VpcId**, **vSwitchId**, and **SecurityGroupId** are ignored.'."\n" + ."\n" + .'- **false**: You must manually configure the network environment.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'TerminationGracePeriodSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for a graceful shutdown. Default value: 30. Unit: seconds. Valid values: 1 to 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '6000', - 'minimum' => '0', - 'example' => '30', - 'default' => '30', - ], - ], - [ - 'name' => 'PhpArmsConfigLocation', - 'in' => 'query', - 'schema' => [ - 'description' => 'The path on which the PHP configuration file for application monitoring is mounted. Make sure that the PHP server loads the configuration file. SAE automatically generates the corresponding configuration file. No manual operations are required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/etc/php/conf.d/arms.ini', - ], + 'schema' => ['description' => 'The graceful shutdown timeout, in seconds. The value must be an integer from 1 to 300. Default: 30.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '6000', 'minimum' => '0', 'default' => '30', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'PhpConfigLocation', 'in' => 'query', - 'schema' => [ - 'description' => 'The path on which the PHP configuration file for application startup is mounted. Make sure that the PHP server uses this configuration file during the startup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/etc/php/php.ini', - ], + 'schema' => ['description' => 'The mount path of the startup configuration file for a PHP task. You must make sure that the PHP server uses this configuration file on startup.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/etc/php/php.ini', 'title' => ''], ], [ 'name' => 'PhpConfig', 'in' => 'formData', - 'schema' => [ - 'description' => 'The details of the PHP configuration file.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'k1=v1', - ], + 'schema' => ['description' => 'The content of the PHP configuration file.', 'type' => 'string', 'required' => false, 'example' => 'k1=v1', 'title' => ''], ], [ 'name' => 'TomcatConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The Tomcat configuration. If you want to cancel this configuration, set this parameter to "" or "{}". The following variables are included in the configuration: Take note of the following rules:'."\n" - ."\n" - .'* **port**: the port number. The port number ranges from 1024 to 65535. Though the admin permissions are configured for the container, the root permissions are required to perform operations on ports whose number is smaller than 1024. Enter a value that ranges from 1025 to 65535 because the container has only the admin permissions. If you do not specify this parameter, the default port number 8080 is used.'."\n" - .'* **contextPath**: the path. Default value: /. This value indicates the root directory.'."\n" - .'* **maxThreads**: the maximum number of connections in the connection pool. Default value: 400.'."\n" - .'* **uriEncoding**: the URI encoding scheme in the Tomcat container. Valid values: UTF-8, ISO-8859-1, GBK, and GB2312.************ If you do not specify this parameter, the default value **ISO-8859-1** is used.'."\n" - .'* **useBodyEncoding**: specifies whether to use the encoding scheme specified in the request body for URI query parameters. Default value: true.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', - ], + 'schema' => ['description' => 'The Tomcat configuration. To delete the configuration, set this parameter to `""` or `{}`. The parameters are described as follows:'."\n" + ."\n" + .'- **port**: The port number. The valid range is 1024 to 65535. Ports below 1024 require root permissions. Because the container is configured with administrator permissions, specify a port number greater than 1024. If this parameter is not configured, the default port 8080 is used.'."\n" + ."\n" + .'- **contextPath**: The context path. Default value: /.'."\n" + ."\n" + .'- **maxThreads**: The maximum number of threads in the connection pool. Default value: 400.'."\n" + ."\n" + .'- **uriEncoding**: The URI encoding scheme for Tomcat. Valid values: **UTF-8**, **ISO-8859-1**, **GBK**, and **GB2312**. If this parameter is not set, the default value **ISO-8859-1** is used.'."\n" + ."\n" + .'- **useBodyEncodingForUri**: Specifies whether to use the encoding specified in `request.getCharacterEncoding()` to decode the request URI. Default value: **true**.', 'type' => 'string', 'required' => false, 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', 'title' => ''], ], [ 'name' => 'OssMountDescs', 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS挂载描述信息', - 'description' => 'Information of the Object Storage Service (OSS) bucket mounted to the application. The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **bucketName**: the name of the OSS bucket.'."\n" - ."\n" - .'* **bucketPath**: the directory or object in OSS. If the specified directory or object does not exist, an error is returned.'."\n" - ."\n" - .'* **mountPath**: the directory of the container in SAE. If the path already exists, the newly specified path overwrites the previous one. If the path does not exist, it is created.'."\n" - ."\n" - .'* **readOnly**: specifies whether to only allow the container path to read data from the OSS directory. Valid values:'."\n" - ."\n" - .' * **true**: The container path only has read permission on the OSS directory.'."\n" - .' * **false**: The application has read and write permissions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]', - ], + 'schema' => ['description' => 'The description of the Object Storage Service (OSS) mount. The parameters are described as follows:'."\n" + ."\n" + .'- **bucketName**: The name of the bucket.'."\n" + ."\n" + .'- **bucketPath**: The directory or object in OSS. If the specified directory or object does not exist, an exception is thrown.'."\n" + ."\n" + .'- **mountPath**: The path in the SAE container. If the path exists, it is overwritten. If the path does not exist, it is created.'."\n" + ."\n" + .'- **readOnly**: Specifies whether the container has read-only access to the resources in the mount directory. Valid values:'."\n" + ."\n" + .' - **true**: read-only permission.'."\n" + ."\n" + .' - **false**: read and write permissions.', 'type' => 'string', 'example' => '[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]', 'title' => '', 'required' => false], ], [ 'name' => 'OssAkId', 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS使用的AKID', - 'description' => 'The Accesskey ID that the OSS reads and writes from.', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', - ], + 'schema' => ['description' => 'The AccessKey ID for reading from and writing to OSS.', 'type' => 'string', 'example' => 'xxxxxx', 'title' => '', 'required' => false], ], [ 'name' => 'OssAkSecret', 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS AKID对应的secret', - 'description' => 'The AccessKey Secret that the OSS reads and writes from.', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', - ], - ], - [ - 'name' => 'Php', - 'in' => 'formData', - 'schema' => [ - 'title' => 'PHP部署包依赖的PHP版本。镜像不支持', - 'description' => 'The dependent PHP version of PHP package. Image is not supported.', - 'type' => 'string', - 'required' => false, - 'example' => 'PHP-FPM 7.0', - ], + 'schema' => ['description' => 'The AccessKey secret for reading from and writing to OSS.', 'type' => 'string', 'example' => 'xxxxxx', 'title' => '', 'required' => false], ], [ 'name' => 'AcrInstanceId', 'in' => 'formData', - 'schema' => [ - 'title' => 'ACR 企业版实例 ID', - 'description' => 'The ID of Container Registry Enterprise Edition instance N. This parameter is required when the **ImageUrl** parameter is set to the URL of an image in an ACR Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'cri-xxxxxx', - ], + 'schema' => ['description' => 'The ID of the Container Registry (ACR) Enterprise Edition instance. This parameter is required when **ImageUrl** points to an image in an ACR Enterprise Edition instance.', 'type' => 'string', 'docRequired' => false, 'example' => 'cri-xxxxxx', 'title' => '', 'required' => false], ], [ 'name' => 'AcrAssumeRoleArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) required for a RAM role to obtain images across accounts. For more information, see [Grant permissions across Alibaba Cloud accounts by using a RAM role](~~223585~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::123456789012****:role/adminrole', - ], + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role that is required to pull images across accounts. For more information, see [Grant permissions to pull images across Alibaba Cloud accounts by using a RAM role](~~223585~~).', 'type' => 'string', 'required' => false, 'example' => 'acs:ram::123456789012****:role/adminrole', 'title' => ''], ], [ 'name' => 'ImagePullSecrets', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the corresponding Secret.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the secret used to pull the image.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'AssociateEip', + 'name' => 'EnableImageAccl', 'in' => 'formData', - 'schema' => [ - 'title' => '是否绑定EIP', - 'description' => 'Specifies whether to associate an EIP with the node pool. Take note of the following rules:'."\n" - ."\n" - .'* **true**: The EIP is associated with the application instance.'."\n" - .'* **false**: The EIP is not associated with the application instance.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to enable image acceleration. Valid values:'."\n" + ."\n" + .'- **true**: Enables image acceleration.'."\n" + ."\n" + .'- **false**: Disables image acceleration.', 'type' => 'boolean', 'default' => 'false', 'title' => '', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'ProgrammingLanguage', + 'name' => 'Workload', 'in' => 'query', - 'schema' => [ - 'description' => 'The programming language for the application’s technology stack. The value options are as follows:'."\n" - ."\n" - .'- java: Java language'."\n" - .'- php: PHP language'."\n" - .'- python: Python language'."\n" - .'- dotnet: .NET Core language'."\n" - .'- other: Multi-language, such as C++, Go, Node.js, etc.', - 'type' => 'string', - 'required' => false, - 'example' => 'java', - ], + 'allowEmptyValue' => false, + 'schema' => ['description' => 'The workload. Set the value to `job`.', 'type' => 'string', 'required' => true, 'example' => 'job', 'title' => ''], ], [ - 'name' => 'KafkaConfigs', + 'name' => 'TriggerConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The logging configurations of Message Queue for Apache Kafka. Take note of the following rules:'."\n" - ."\n" - .'* **kafkaEndpoint**: the endpoint of the Message Queue for Apache Kafka API.'."\n" - .'* **kafkaInstanceId**: the ID of the Message Queue for Apache Kafka instance.'."\n" - .'* **kafkaConfigs**: One or more logging configurations of Message Queue for Apache Kafka. For information about sample values and parameters, see the request parameter **KafkaLogfileConfig** in this topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"kafkaEndpoint":"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX\\","kafkaInstanceId":"alikafka_pre-cn-7pp2l8kr****","kafkaConfigs":[{"logType":"file_log","logDir":"/tmp/a.log","kafkaTopic":"test2"},{"logType":"stdout","logDir":"","kafkaTopic":"test"}]}', - ], + 'schema' => ['description' => 'The task trigger configuration, which varies based on the task type.'."\n" + ."\n" + .'- **Scheduled task**: Set the **type** field to `time`, the **config** field to a cron expression, and the **timezone** field to a specific time zone.'."\n" + .' Example: `{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}`'."\n" + ."\n" + .'- **One-off task**: Set the **type** field to `http` and specify the HTTP trigger rules in the **config** field. For more information, see [SourceHttpEventParameters](https://help.aliyun.com/document_detail/347586.html#section-lp1-vq0-ho3).'."\n" + .' Example: `{"type":"http","config":{"type":"HTTPS","method":["GET"],"ip":[],"referer":[],"securityConfig":"none"}}`', 'type' => 'string', 'required' => false, 'example' => '{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}', 'title' => ''], ], [ - 'name' => 'PvtzDiscoverySvc', + 'name' => 'ConcurrencyPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations of Kubernetes Service-based service registration and discovery. Take note of the following rules:'."\n" - ."\n" - .'* **serviceName**: the name of the Alibaba Cloud service. Format: `<Custom content>-<Namespace ID>`. `-<Namespace ID>` is automatically specified based on the namespace in which an application resides and cannot be changed. For example, if you select the default namespace in the China (Beijing) region, `-cn-beijing-default` is automatically specified.'."\n" - .'* **namespaceId**: the namespace ID.'."\n" - .'* **portAndProtocol**: the port number and protocol. Valid values of the port number: 1 to 65535. Valid values of the protocol: **TCP** and **UDP**.'."\n" - .'* **enable**: enables the Kubernetes Service-based registration and discovery feature.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"serviceName":"bwm-poc-sc-gateway-cn-beijing-front","namespaceId":"cn-beijing:front","portAndProtocol":{"18012":"TCP"},"enable":true}', - ], + 'schema' => ['description' => 'The concurrency policy for the task. Valid values:'."\n" + ."\n" + .'- **Forbid**: Prohibits concurrent runs. A new task is not created if the previous one is not complete.'."\n" + ."\n" + .'- **Allow**: Allows concurrent running.'."\n" + ."\n" + .'- **Replace**: If a previous task is still running when the next one is scheduled, the new task replaces the old one.', 'type' => 'string', 'required' => false, 'example' => 'Allow', 'title' => ''], ], [ - 'name' => 'MicroRegistration', + 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The Nacos registry. Valid values:'."\n" - ."\n" - .'* **0**: SAE built-in Nacos registry'."\n" - .'* **1**: self-managed Nacos registry'."\n" - .'* **2** : MSE enterprise edition Nacos registry', - 'type' => 'string', - 'required' => false, - 'example' => '"0"', - ], + 'schema' => ['description' => 'The task timeout, in seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3600', 'title' => ''], ], [ - 'name' => 'MicroRegistrationConfig', - 'in' => 'formData', - 'schema' => [ - 'title' => '注册中心配置信息', - 'description' => 'The Registry configurations.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"instanceId\\":\\"mse-cn-zvp2bh6h70r\\",\\"namespace\\":\\"4c0aa74f-57cb-423c-b6af-5d9f2d0e3dbd\\"}', - ], + 'name' => 'BackoffLimit', + 'in' => 'query', + 'schema' => ['description' => 'The maximum number of retries for a task before it is marked as failed.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3', 'title' => ''], ], [ - 'name' => 'NasConfigs', + 'name' => 'Slice', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations of mounting the NAS file system. Take note of the following rules:'."\n" - ."\n" - .'* **mountPath**: the mount path of the container.'."\n" - .'* **readOnly**: If you set the value to **false**, the application has the read and write permissions.'."\n" - .'* **nasId**: the ID of the NAS file system.'."\n" - .'* **mountDomain**: the domain name of the mount target. For more information, see [DescribeMountTargets](~~62626~~).'."\n" - .'* **nasPath**: the directory in the NAS file system.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"mountPath":"/test1","readOnly":false,"nasId":"nasId1","mountDomain":"nasId1.cn-shenzhen.nas.aliyuncs.com","nasPath":"/test1"},{"nasId":"nasId2","mountDomain":"nasId2.cn-shenzhen.nas.aliyuncs.com","readOnly":false,"nasPath":"/test2","mountPath":"/test2"}]', - ], + 'schema' => ['description' => 'Specifies whether to enable task sharding.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'SliceEnvs', + 'in' => 'query', + 'schema' => ['description' => 'The parameters for task sharding.', 'type' => 'string', 'required' => false, 'example' => '[0,1,2]', 'title' => ''], + ], + [ + 'name' => 'RefAppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the referenced job.', 'type' => 'string', 'required' => false, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + ], + [ + 'name' => 'ProgrammingLanguage', + 'in' => 'query', + 'schema' => ['description' => 'The programming language. Valid values: **java**, **php**, **python**, and **shell**.', 'type' => 'string', 'required' => false, 'example' => 'java', 'title' => ''], ], [ 'name' => 'Python', 'in' => 'query', - 'schema' => [ - 'description' => 'The Python environment. Set the value to **PYTHON 3.9.15**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PYTHON 3.9.15', - ], + 'schema' => ['description' => 'The Python environment. **PYTHON 3.9.15** is supported.', 'type' => 'string', 'required' => false, 'example' => 'PYTHON 3.9.15', 'title' => ''], ], [ 'name' => 'PythonModules', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations for installing custom module dependencies. By default, the dependencies defined by the requirements.txt file in the root directory are installed. If the package does not contain this file and you do not configure custom dependencies in the package, specify the dependencies that you want to install in the text box.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Flask==2.0', - ], + 'schema' => ['description' => 'Python dependencies to install by using pip. If you do not set this parameter, SAE installs dependencies from the \'requirements.txt\' file in the root directory of your project.', 'type' => 'string', 'required' => false, 'example' => 'Flask==2.0', 'title' => ''], ], [ - 'name' => 'Dotnet', + 'name' => 'NasConfigs', 'in' => 'query', - 'schema' => [ - 'description' => '. NET Framework version number:'."\n" - ."\n" - .'* .NET 3.1'."\n" - .'* .NET 5.0'."\n" - .'* .NET 6.0'."\n" - .'* .NET 7.0'."\n" - .'* .NET 8.0'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '.NET 3.1', - ], + 'schema' => ['description' => 'The configurations for mounting a NAS file system.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], ], [ - 'name' => 'EnableEbpf', + 'name' => 'BestEffortType', 'in' => 'query', + 'schema' => ['description' => 'The BestEffort policy.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'Enable application monitoring for non-Java applications based on eBPF technology. The value options are as follows:'."\n" - ."\n" - .'- true: Enable.'."\n" - .'- false: Disable (default).', - 'type' => 'string', - 'required' => false, - 'example' => 'false', + 'description' => 'Details of the created job template.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3***', 'title' => ''], + 'Message' => ['description' => 'Additional information. Valid values:'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The call trace ID. You can use this ID to query detailed information about the call.', 'type' => 'string', 'example' => 'ac1a0b2215622246421415014e****', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The change order ID. You can use this ID to check the execution status of the task.', 'type' => 'string', 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', 'title' => ''], + 'AppId' => ['description' => 'The job template ID.', 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- If the request fails, this parameter is returned. For more information, see the **error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or a POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the job template was created successfully. Valid values:'."\n" + ."\n" + .'- **true**: The job template was created.'."\n" + ."\n" + .'- **false**: The job template was not created.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'SaeVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The SAE version. Supported versions:'."\n" - ."\n" - .'* **v1**'."\n" - .'* **v2**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - 'enum' => [ - 'v1', - 'v2', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Application.MissingJdk', 'errorMessage' => 'Your application must at least contain a JDK component.', 'description' => ''], + ['errorCode' => 'InvalidPackageType.NotFound', 'errorMessage' => 'The package type must be War, FatJar, or Image.', 'description' => ''], + ['errorCode' => 'InvalidParameter.FileName', 'errorMessage' => 'The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). In addition, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'JarApplication.MissingJdk', 'errorMessage' => 'A FatJar application must contain JDK.', 'description' => ''], + ['errorCode' => 'NoAvailableCluster.NotFound', 'errorMessage' => 'No clusters are available for the current region.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'PandoraApplication.MissingJdk', 'errorMessage' => 'The Pandora application is missing a JDK component.', 'description' => ''], + ['errorCode' => 'PandoraApplication.OnlyJdk', 'errorMessage' => 'A Pandora application only requires JDK component.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'InvalidComponent.NotFound', 'errorMessage' => 'The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.', 'description' => ''], + ['errorCode' => 'InvalidHostnameIp.Invalid', 'errorMessage' => 'The hostname and/or IP is invalid: Hostname [%s], IP [%s].', 'description' => ''], + ['errorCode' => 'InvalidInstanceSpecification.Unsupported', 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', 'description' => ''], + ['errorCode' => 'InvalidServerlessRegion.Unsupported', 'errorMessage' => 'The current region is not supported: %s', 'description' => ''], + ['errorCode' => 'WarApplication.MissingJdkWebcontainer', 'errorMessage' => 'A War application must contain JDK and Tomcat.', 'description' => ''], + ['errorCode' => 'InvalidNamespace.WithUppercase', 'errorMessage' => 'This namespace does not support creating SAE apps because it contains uppercase letters.', 'description' => ''], + ['errorCode' => 'LogService.ConfigQuotaExceed', 'errorMessage' => 'The maximum number of Log Service configs is exceeded.', 'description' => 'The maximum number of Log Service configs is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'LogService.InternalError', 'errorMessage' => 'An exception occurred while calling Log Service. Please submit a ticket to solve the problem.', 'description' => 'An exception occurred while calling log service. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'LogService.LogDirInvalid', 'errorMessage' => 'The log collection path is invalid.', 'description' => 'The log collection path is invalid.'], + ['errorCode' => 'LogService.NotAvailable', 'errorMessage' => 'Log Service is unavailable. Please activate Log Service first.', 'description' => 'The log service is not available. Please open the log service first.'], + ['errorCode' => 'LogService.ProjectNumQuotaExceed', 'errorMessage' => 'The maximum number of Log Service projects is exceeded.', 'description' => 'The maximum number of Log Service projects is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'vswitch.not.exist', 'errorMessage' => 'The specified VSwitch does not exist.', 'description' => ''], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'VolumnPath.Conflict', 'errorMessage' => 'Conflict between log collection directory and persistent storage directory.', 'description' => 'Conflict between log collection directory and persistent storage directory.'], + ['errorCode' => 'MountConflict.ConfigMap', 'errorMessage' => 'Conflict detected for ConfigMap path %s.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMap', 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMapKey', 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'Sls.Config.Mixed.Multi.Project', 'errorMessage' => 'The specified Config contains multiple projects.', 'description' => ''], + ['errorCode' => 'Sls.Config.User.Defined.Missing.Logstore.Info', 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', 'description' => ''], + ['errorCode' => 'Sls.Config.User.Defined.Missing.Project.Info', 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', 'description' => ''], + ['errorCode' => 'Sls.Logstore.Name.Invalid', 'errorMessage' => 'The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".', 'description' => ''], + ['errorCode' => 'Sls.Logstore.User.Defined.Not.Exist', 'errorMessage' => 'The user defined Logstore does not exist.', 'description' => ''], + ['errorCode' => 'Sls.Project.Name.Invalid', 'errorMessage' => 'The specified project name is invalid. The project name must not contain the prefix "sae-".', 'description' => ''], + ['errorCode' => 'Sls.Project.User.Defined.Not.Exist', 'errorMessage' => 'The user defined project does not exist.', 'description' => ''], + ['errorCode' => 'InvalidImageUrl.AcrInstanceId.Domain.NotMatch', 'errorMessage' => 'The specified domain of ImageUrl does not match AcrInstanceId domains.', 'description' => ''], + ['errorCode' => 'PhpApplication.MissingPhpRuntime', 'errorMessage' => 'A PHP application must contain PHP Runtime.', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'Associate.Eip.Not.Enough', 'errorMessage' => 'No sufficient EIPs are available.', 'description' => ''], + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], + ['errorCode' => 'InvalidVpcId.NotFound', 'errorMessage' => 'The specified VpcId does not exist.', 'description' => ''], + ['errorCode' => 'InvalidAcrInstanceId.NotFound', 'errorMessage' => 'The specified AcrInstanceId does not exist.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3***\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\",\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'CreateJob', + 'summary' => 'This operation creates a job template.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:30.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-09-08T05:48:07.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-26T09:19:37.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-11-22T13:03:51.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateJob'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], + ], + ], + 'CreateNamespace' => [ + 'path' => '/pop/v1/paas/namespace', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'AppSource', - 'in' => 'query', - 'schema' => [ - 'description' => 'Select micro_service, which is the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'micro_service', - ], + 'AK' => [], ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '6307', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], + ], + 'parameters' => [ [ - 'name' => 'BaseAppId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The ID of the basic application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ee99cce6-1c8e-4bfa-96c3-3e2fa9de8a41', - ], + 'name' => 'NamespaceId', + 'in' => 'query', + 'schema' => ['description' => 'The long-format namespace ID. If you specify this parameter, NameSpaceShortId is ignored. This parameter is retained for compatibility. Use the short-format namespace ID instead. The format is `<RegionId>:<NamespaceId>`. The `NamespaceId` can contain only lowercase letters and digits and cannot exceed 32 characters in length. Example: `cn-beijing:test`. For information about the regions that SAE supports, see [DescribeRegions](~~126213~~).', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'ServiceTags', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The canary tag configured for the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{\\"alicloud.service.tag\\":\\"g1\\"}', - ], + 'name' => 'NamespaceName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the namespace. The name cannot exceed 64 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'name', 'title' => ''], ], [ - 'name' => 'EnableNewArms', + 'name' => 'NamespaceDescription', 'in' => 'query', - 'schema' => [ - 'description' => 'Indicates whether to enable the new ARMS feature:'."\n" - ."\n" - .'* true: enables this parameter.'."\n" - .'* false: disables this parameter.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The description of the namespace. The description cannot exceed 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'desc', 'title' => ''], ], [ - 'name' => 'EnableCpuBurst', + 'name' => 'NameSpaceShortId', 'in' => 'query', - 'schema' => [ - 'description' => 'Enable CPU Burst.'."\n" - .'- true: enable'."\n" - .'- false: disable', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The short-format namespace ID. You do not need to specify a region ID. This parameter is recommended. The ID cannot exceed 20 characters in length and can contain only lowercase letters and digits.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ - 'name' => 'OidcRoleName', + 'name' => 'EnableMicroRegistration', 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable the built-in service registry of SAE.'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**'."\n" + ."\n" + .'The default value is true. If you do not use the built-in service registry, set this parameter to false to speed up namespace creation.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The name of the RAM role used to authenticate the user identity.'."\n" - ."\n" - .'> You need to create an OpenID Connect (OIDC) identity provider (IdP) and an identity provider (IdP) for role-based single sign-on (SSO) in advance. For more information, see [Creates an OpenID Connect (OIDC) identity provider (IdP)](~~2331022~~) and [Creates an identity provider (IdP) for role-based single sign-on (SSO)](~~2331016~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sae-test', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use the trace ID to query the details of a request.', 'type' => 'string', 'example' => '0a981dd515966966104121683d****', 'title' => ''], + 'Data' => [ + 'description' => 'The information about the namespace.', + 'type' => 'object', + 'properties' => [ + 'NamespaceDescription' => ['description' => 'The description of the namespace.', 'type' => 'string', 'example' => 'desc', 'title' => ''], + 'NamespaceId' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'NamespaceName' => ['description' => 'The name of the namespace.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'RegionId' => ['description' => 'The region where the namespace resides.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'NameSpaceShortId' => ['description' => 'The short-format namespace ID.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'EnableMicroRegistration' => ['description' => 'Indicates whether the built-in service registry of SAE is enabled.'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, this parameter is not returned.'."\n" + ."\n" + .'- If the request fails, this parameter is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or a POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the namespace was successfully created. Valid values:'."\n" + ."\n" + .'- **true**: The namespace was created.'."\n" + ."\n" + .'- **false**: The namespace failed to be created.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'SidecarContainersConfig', - 'in' => 'formData', - 'style' => 'json', - 'schema' => [ - 'description' => 'The configuration of the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The configuration of the container.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/SidecarContainerConfig', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InstanceExist.NamespaceId', 'errorMessage' => 'The specified namespace ID already exists.', 'description' => 'The specified namespace ID already exists.'], + ['errorCode' => 'InvalidNamespace.WithUppercase', 'errorMessage' => 'This namespace does not support creating SAE apps because it contains uppercase letters.', 'description' => ''], + ['errorCode' => 'InvalidNamespaceId.Format', 'errorMessage' => 'The specified NamespaceId is invalid.', 'description' => 'The specified NamespaceId is invalid. The correct format is [regionId]:[namespace]. For example, cn-beijing:test. NamespaceId cannot exceed 32 characters in length.'], + ['errorCode' => 'InvalidNamespaceIdSuffix.Format', 'errorMessage' => 'The specified NamespaceId is invalid. NamespaceId can only contain alphabetical letters or numbers.', 'description' => 'The specified NamespaceId is invalid. NamespaceId can only contain alphabetical letters or numbers.'], + ['errorCode' => 'InvalidNamespaceName.Format', 'errorMessage' => 'The specified NamespaceName is invalid. The name of the namespace cannot exceed 63 characters in length.', 'description' => 'The specified NamespaceName is invalid. The name of the namespace cannot exceed 63 characters in length.'], + ['errorCode' => 'InvalidOperation.NamespaceClusterNotDeleted', 'errorMessage' => 'The specified NamespaceId contains clusters.', 'description' => 'The specified NamespaceId contains clusters.'], + ['errorCode' => 'Namespace.AppExists', 'errorMessage' => 'Please delete the application first.', 'description' => ''], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Exceed.Namespace', 'errorMessage' => 'Too many namespaces have been created.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'OperationFailed.DauthHttpRequest', 'errorMessage' => 'request dauth failed.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"NamespaceDescription\\": \\"desc\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"NamespaceName\\": \\"name\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"NameSpaceShortId\\": \\"test\\",\\n \\"EnableMicroRegistration\\": true\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'CreateNamespace', + 'summary' => 'Creates a namespace.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-03-10T06:42:07.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-29T03:14:27.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2021-11-30T12:59:35.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNamespace'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, ], ], + ], + ], + 'CreateOrUpdateSwimmingLane' => [ + 'summary' => 'Create or update a swimlane.', + 'path' => '/pop/v1/cas/gray/createOrUpdateSwimmingLane', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'SecretMountDesc', + 'AK' => [], + ], + ], + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '221506', + 'abilityTreeNodes' => ['FEATUREsaeX255DA'], + ], + 'parameters' => [ + [ + 'name' => 'LaneId', 'in' => 'query', - 'schema' => [ - 'description' => 'Secret Mount Description'."\n" - .'Use the secret dictionaries created in the Namespace Secret Dictionary page to inject information into containers. Parameter descriptions are as follows:'."\n" - ."\n" - .'- secretId: Secret instance ID. Obtain via the ListSecrets interface.'."\n" - ."\n" - .'- key: Key-value pair. Note: Set the parameter sae-sys-secret-all to mount all keys.'."\n" - ."\n" - .'- mountPath: Mount path.', - 'type' => 'string', - 'required' => false, - 'example' => '[{“secretId":10,”key":"test","mountPath":"/tmp"}]', - ], + 'schema' => ['description' => 'The ID of the swimlane.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '13857', 'title' => ''], ], [ - 'name' => 'EnableSidecarResourceIsolated', - 'in' => 'formData', - 'schema' => [ - 'description' => 'Enable Sidecar resource isolation.'."\n" - ."\n" - .'- true: enable'."\n" - .'- false: disable', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'name' => 'LaneName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the swimlane.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ - 'name' => 'CustomImageNetworkType', + 'name' => 'LaneTag', 'in' => 'query', - 'schema' => [ - 'description' => 'Custom image type. To it to empty string to use pre-built image.'."\n" - ."\n" - .'- internet: Public network image'."\n" - ."\n" - .'- intranet: Private network image', - 'type' => 'string', - 'required' => false, - 'example' => 'internet', - ], + 'schema' => ['description' => 'The tag of the swimlane.', 'type' => 'string', 'required' => false, 'example' => 'g1', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource type. Supports NULL (default) and haiguang (haiguang server).', - 'type' => 'string', - 'required' => false, - 'example' => 'UNLL', - ], + 'schema' => ['description' => 'The ID of the swimlane group.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => 'b2a8a925-477a-eswa-b823-d5e22500****', 'title' => ''], ], [ - 'name' => 'NewSaeVersion', + 'name' => 'NamespaceId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], + ], + [ + 'name' => 'CanaryModel', + 'in' => 'query', + 'schema' => ['description' => 'The end-to-end canary release mode.'."\n" + ."\n" + .'- `0`: content-based routing'."\n" + ."\n" + .'- `1`: percentage-based routing', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'Enable', + 'in' => 'query', + 'schema' => ['description' => 'The status of the swimlane.'."\n" + ."\n" + .'- `true`: enabled'."\n" + ."\n" + .'- `false`: disabled', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'AppEntryRule', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'SAE edition.'."\n" - ."\n" - .'- lite: the lightweight edition.'."\n" - ."\n" - .'- std: the standard edition.'."\n" + 'description' => 'The configuration of the gateway route.'."\n" ."\n" - .'- pro: the professional edition.', - 'type' => 'string', + .'> This parameter is required if the gateway entry application for the swimlane group is a Java application.', + 'type' => 'object', + 'properties' => [ + 'Paths' => [ + 'description' => 'The request paths to match.', + 'type' => 'array', + 'items' => ['description' => 'The request path.', 'type' => 'string', 'required' => false, 'example' => '/A', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Percentage' => ['description' => 'The traffic percentage for percentage-based routing. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], + 'ConditionJoiner' => ['description' => 'The logical operator used to combine conditions.'."\n" + ."\n" + .'- `AND`: All conditions must be met.'."\n" + ."\n" + .'- `OR`: At least one of the conditions must be met.', 'type' => 'string', 'required' => false, 'example' => 'AND', 'title' => ''], + 'Conditions' => [ + 'description' => 'The match conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'A match condition.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the request attribute to match.'."\n" + ."\n" + .'- `header`: A request header.'."\n" + ."\n" + .'- `param`: A request parameter.'."\n" + ."\n" + .'- `cookie`: A request cookie.', 'type' => 'string', 'required' => false, 'example' => 'Header', 'title' => ''], + 'Name' => ['description' => 'The name of the header, parameter, or cookie.', 'type' => 'string', 'required' => false, 'example' => 't', 'title' => ''], + 'Condition' => ['description' => 'The matching rule.'."\n" + ."\n" + .'- `==`: Exact match. The attribute\'s value must be identical to the value specified.'."\n" + ."\n" + .'- `!=`: Negated exact match. The attribute\'s value must not be identical to the value specified.'."\n" + ."\n" + .'- `in`: Inclusion match. The attribute\'s value must be present in the specified comma-separated list of values.'."\n" + ."\n" + .'- `percentage`: Percentage-based match. The expression `hash(get(key)) % 100 < value` must be true.'."\n" + ."\n" + .'- `regex`: Regular expression match. The attribute\'s value must match the specified regular expression.', 'type' => 'string', 'required' => false, 'example' => '==', 'title' => ''], + 'Value' => ['description' => 'The value to match against the request attribute.', 'type' => 'string', 'required' => false, 'example' => 'g1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'IndependentPercentageEnable' => ['description' => 'Specifies whether to enable percentage-based routing.'."\n" + ."\n" + .'- `true`: Enables percentage-based routing. You must also configure the `PercentageByPath` parameter.'."\n" + ."\n" + .'- `false`: Disables percentage-based routing.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'PercentageByPath' => [ + 'description' => 'An object that maps request paths to traffic percentages.', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => ['description' => 'The traffic percentage for the configured path. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'example' => 'pro', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'MicroserviceEngineConfig', + 'name' => 'MseGatewayEntryRule', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'Configure microservices governance'."\n" + 'description' => 'Configuration for the MSE gateway route.'."\n" ."\n" - .'Whether to enable microservices governance (enable):'."\n" - .'- true: Enable'."\n" - .'- false: Disable'."\n" - ."\n" - .'Configure lossless online/offline deployment (mseLosslessRule):'."\n" - ."\n" - .'delayTime: Delay duration (unit: seconds)'."\n" - ."\n" - .'enable: Whether to enable lossless deployment'."\n" - ."\n" - .'- true: Enable'."\n" - ."\n" - .'- false: Disable'."\n" - ."\n" - .'notice: Whether to enable notifications'."\n" - ."\n" - .'- true: Enable'."\n" - ."\n" - .'- false: Disable'."\n" - ."\n" - .'warmupTime: Small-traffic warm-up duration (unit: seconds)', - 'type' => 'string', + .'> This parameter is required if the **EntryAppType** parameter is set to **apig** or **mse-gw**.', + 'type' => 'object', + 'properties' => [ + 'RouteIds' => [ + 'description' => 'The route IDs.', + 'type' => 'array', + 'items' => ['description' => 'The ID of the gateway route. You can call the [ListGatewayRoute](~~409437~~) operation to obtain the ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '78830', 'title' => ''], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'Percentage' => ['description' => 'The traffic mirroring percentage. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100', 'title' => ''], + 'ConditionJoiner' => ['description' => 'The logical operator used to combine conditions.'."\n" + ."\n" + .'- `AND`: All conditions must be met.'."\n" + ."\n" + .'- `OR`: At least one of the conditions must be met.', 'type' => 'string', 'required' => false, 'example' => 'AND', 'title' => ''], + 'Conditions' => [ + 'description' => 'The match conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'A match condition.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the request attribute to match.'."\n" + ."\n" + .'- `header`: A request header.'."\n" + ."\n" + .'- `param`: A request parameter.'."\n" + ."\n" + .'- `cookie`: A request cookie.', 'type' => 'string', 'required' => false, 'example' => 'header ', 'title' => ''], + 'Name' => ['description' => 'The name of the header, parameter, or cookie.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + 'Condition' => ['description' => 'The matching rule.'."\n" + ."\n" + .'- `==`: Exact match. The attribute\'s value must be identical to the value specified.'."\n" + ."\n" + .'- `!=`: Negated exact match. The attribute\'s value must not be identical to the value specified.'."\n" + ."\n" + .'- `in`: Inclusion match. The attribute\'s value must be present in the specified comma-separated list of values.'."\n" + ."\n" + .'- `percentage`: Percentage-based match. The expression `hash(get(key)) % 100 < value` must be true.'."\n" + ."\n" + .'- `regex`: Regular expression match. The attribute\'s value must match the specified regular expression.', 'type' => 'string', 'required' => false, 'example' => '==', 'title' => ''], + 'Value' => ['description' => 'The value to match against the request attribute.', 'type' => 'string', 'required' => false, 'example' => 'g1', 'title' => ''], + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'required' => false, + 'title' => '', + 'example' => '', + ], + 'IndependentPercentageEnable' => ['description' => 'Specifies whether to enable percentage-based routing.'."\n" + ."\n" + .'- `true`: Enables percentage-based routing. You must also configure the `PercentageByRoute` parameter.'."\n" + ."\n" + .'- `false`: Disables percentage-based routing.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + 'PercentageByRoute' => [ + 'description' => 'An object that maps route IDs to traffic percentages.', + 'type' => 'object', + 'required' => false, + 'additionalProperties' => ['description' => 'The traffic percentage for the configured route. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], 'required' => false, - 'example' => '{"enable": true,"mseLosslessRule": {"delayTime": 0,"enable": false,"notice": false,"warmupTime": 120}}', + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'DiskSize', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The disk size. Unit: GB.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', + 'title' => 'Schema of Response', + 'description' => 'The result of creating or updating the swimming lane.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****'], + 'Message' => ['description' => 'The response message. Valid values:'."\n" + ."\n" + .'- If the request is successful, `success` is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The request trace ID. You can use this ID to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'LaneId' => ['description' => 'The ID of the swimlane.', 'type' => 'integer', 'format' => 'int64', 'example' => '22318', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- For more information, see the "**Error codes**" section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or an error code of Platform as a Service (PaaS). Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurs.'."\n" + ."\n" + .'- **5xx**: A server error occurs.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the swimlane was created or updated. Valid values:'."\n" + ."\n" + .'- true'."\n" + ."\n" + .'- false', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'MseGatewayRule.CreateFailed', 'errorMessage' => 'Create MSE Gateway rule failed.', 'description' => 'Failed to create an MSE microservices gateway route.'], + ['errorCode' => 'InternalApiError', 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"LaneId\\": 22318\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'CreateOrUpdateSwimmingLane', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:29.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'InitContainersConfig', - 'in' => 'formData', - 'style' => 'json', - 'schema' => [ - 'description' => 'Initialize container configuration.', - 'type' => 'array', - 'items' => [ - 'description' => 'Initialize container configuration.', - 'required' => false, - '$ref' => '#/components/schemas/InitContainerConfig', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateOrUpdateSwimmingLane', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, ], ], + ], + ], + 'CreateOrUpdateSwimmingLaneGroup' => [ + 'summary' => 'Creates or updates a swimming lane group.', + 'path' => '/pop/v1/cas/gray/createOrUpdateSwimmingLaneGroup', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'GpuConfig', + 'AK' => [], + ], + ], + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '221430', + 'abilityTreeNodes' => ['FEATUREsaeX255DA'], + ], + 'parameters' => [ + [ + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the swimming lane group. This parameter is required when you update a swimming lane group.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '110272', 'title' => ''], ], [ - 'name' => 'StartupProbe', + 'name' => 'GroupName', 'in' => 'query', - 'schema' => [ - 'description' => 'Enable application startup probe.'."\n" - ."\n" - .'Check succeeded: Indicates that the application has started successfully. If you have configured Liveness and Readiness checks, they will be performed after the application startup is successful.'."\n" - .'Check failed: Indicates that the application failed to start; an exception will be reported and the application will be automatically restarted.'."\n" - ."\n" - .'> - exec, httpGet, and tcpSocket methods are supported. For specific examples, see the Liveness parameter documentation.'."\n" - .'> - Only one health check method can be selected.', - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}', - ], + 'schema' => ['description' => 'The name of the swimming lane group.', 'type' => 'string', 'required' => false, 'example' => 'mse-test', 'title' => ''], ], [ - 'name' => 'IsStateful', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'EnablePrometheus', + 'name' => 'AppIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'type' => 'boolean', + 'description' => 'The IDs of the baseline applications.', + 'type' => 'array', + 'items' => ['description' => 'The ID of a baseline application. You can add multiple baseline applications.', 'type' => 'string', 'required' => false, 'example' => '00893b3a-0e24-45ed-be0c-1f20e07b****', 'title' => ''], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'HeadlessPvtzDiscoverySvc', + 'name' => 'EntryAppType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The type of the gateway that acts as the application\'s entry point.'."\n" + ."\n" + .'- **apig:** cloud-native API gateway'."\n" + ."\n" + .'- **mse:** java service gateway'."\n" + ."\n" + .'- **mse-gw:** MSE Cloud Native Gateway', 'type' => 'string', 'required' => false, 'example' => 'mse-gw', 'title' => ''], ], [ - 'name' => 'Html', + 'name' => 'EntryAppId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The unique ID of the gateway.', 'type' => 'string', 'required' => false, 'example' => 'gw-ea43f648ac46485aa8c894ba1b******', 'title' => ''], ], [ - 'name' => 'EmptyDirDesc', - 'in' => 'formData', + 'name' => 'SwimVersion', + 'in' => 'query', + 'schema' => ['description' => 'The version of the end-to-end canary release. Valid values: 0 and 2. The value 2 is recommended.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'type' => 'string', + 'title' => 'Schema of Response', + 'description' => 'The information returned.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****'], + 'Message' => ['description' => 'The response message:'."\n" + ."\n" + .'- **success**: The request was successful.'."\n" + ."\n" + .'- An error code is returned if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID, which you can use to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The data object returned by the operation.', + 'type' => 'object', + 'properties' => [ + 'GroupId' => ['description' => 'The ID of the swimming lane group.', 'type' => 'integer', 'format' => 'int64', 'example' => '110272', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'MseGatewayRule.CreateFailed', 'errorMessage' => 'Create MSE Gateway rule failed.', 'description' => 'Failed to create an MSE microservices gateway route.'], + ['errorCode' => 'InternalApiError', 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"GroupId\\": 110272\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'CreateOrUpdateSwimmingLaneGroup', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:29.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'AgentVersion', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateOrUpdateSwimmingLaneGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'CreateSecret' => [ + 'summary' => 'Creates a Secret in a namespace.', + 'path' => '/pop/v1/sam/secret/secret', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EnableNamespaceAgentVersion', + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'abilityTreeCode' => '159985', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], + ], + 'parameters' => [ + [ + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The ID of the namespace where the Secret resides. If the namespace is the default namespace, you need to only enter the region ID, such as `cn-beijing`.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'EnableNamespaceSlsConfig', + 'name' => 'SecretName', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The Secret name. The name can contain digits, letters, and underscores (\\_). The name must start with a letter.', 'type' => 'string', 'required' => true, 'example' => 'registry-auth-acree', 'title' => ''], ], [ - 'name' => 'SlsLogEnvTags', + 'name' => 'SecretType', 'in' => 'query', 'schema' => [ - 'title' => 'sls log tags', + 'description' => 'The supported Secret type. Valid values:'."\n" + ."\n" + .'- **kubernetes.io/dockerconfigjson**: the Secret for the username and password of the image repository. The Secret is used for authentication when images are pulled during application deployment.'."\n" + ."\n" + .'Valid values:'."\n" + ."\n" + .'- Opaque'."\n" + ."\n" + .'- kubernetes.io/dockerconfigjson'."\n" + ."\n" + .'- kubernetes.io/tls', 'type' => 'string', + 'required' => true, + 'enum' => ['Opaque', 'kubernetes.io/dockerconfigjson', 'kubernetes.io/tls'], + 'example' => 'kubernetes.io/dockerconfigjson', + 'title' => '', ], ], [ - 'name' => 'LokiConfigs', + 'name' => 'SecretData', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'type' => 'string', + 'description' => 'The Secret data.', + 'type' => 'object', + 'properties' => [ + 'SecretData' => ['description' => 'The information about the key-value pairs of the Secret. This parameter is required. The following formats are supported:'."\n" + ."\n" + .'{"Data":"{"k1":"v1", "k2":"v2"}"}'."\n" + ."\n" + .'k specifies a key and v specifies a value.', 'type' => 'string', 'required' => true, 'example' => '{".dockerconfigjson":"eyJhdXRocyI6eyJyZWdpc3RyeS12cGMuY24tYmVpamluZy5hbGl5dW5jcy5jb20iOnsidXNlcm5hbWUiOiJ1c2VybmFtZSIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJhdXRoIjoiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE9In0sInJlZ2lzdHJ5LmNuLWJlaWppbmcuYWxpeXVuY3MuY29tIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0="}', 'title' => ''], + ], + 'required' => true, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The queried polices.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* If the request was successful, a success message is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. It is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The message returned for the operation.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the trace. The ID is used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order. It can be used to query the task status.'."\n", - 'type' => 'string', - 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', - ], - 'AppId' => [ - 'description' => 'The ID of the application that is created.'."\n", - 'type' => 'string', - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], + 'SecretId' => ['description' => 'The ID of the created Secret.', 'type' => 'integer', 'format' => 'int64', 'example' => '16', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application is created. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The status code. Value values:'."\n" + ."\n" + .'- If the request was successful, **ErrorCode** is not returned.'."\n" + ."\n" + .'- If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or the error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: The request failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the Secret was created. Valid values:'."\n" + ."\n" + .'- **true**: The ConfigMap was created.'."\n" + ."\n" + .'- **false**: The ConfigMap failed to be created.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Application.MissingJdk', - 'errorMessage' => 'Your application must at least contain a JDK component.', - ], - [ - 'errorCode' => 'InvalidPackageType.NotFound', - 'errorMessage' => 'The package type must be War, FatJar, or Image.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'JarApplication.MissingJdk', - 'errorMessage' => 'A FatJar application must contain JDK.', - ], - [ - 'errorCode' => 'NoAvailableCluster.NotFound', - 'errorMessage' => 'No clusters are available for the current region.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'PandoraApplication.MissingJdk', - 'errorMessage' => 'The Pandora application is missing a JDK component.', - ], - [ - 'errorCode' => 'PandoraApplication.OnlyJdk', - 'errorMessage' => 'A Pandora application only requires JDK component.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'InvalidComponent.NotFound', - 'errorMessage' => 'The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.', - ], - [ - 'errorCode' => 'InvalidHostnameIp.Invalid', - 'errorMessage' => 'The hostname and/or IP is invalid: Hostname [%s], IP [%s].', - ], - [ - 'errorCode' => 'InvalidInstanceSpecification.Unsupported', - 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', - ], - [ - 'errorCode' => 'InvalidServerlessRegion.Unsupported', - 'errorMessage' => 'The current region is not supported: %s', - ], - [ - 'errorCode' => 'WarApplication.MissingJdkWebcontainer', - 'errorMessage' => 'A War application must contain JDK and Tomcat.', - ], - [ - 'errorCode' => 'InvalidNamespace.WithUppercase', - 'errorMessage' => 'This namespace does not support creating SAE apps because it contains uppercase letters.', - ], - [ - 'errorCode' => 'LogService.ConfigQuotaExceed', - 'errorMessage' => 'The maximum number of Log Service configs is exceeded.', - ], - [ - 'errorCode' => 'LogService.InternalError', - 'errorMessage' => 'An exception occurred while calling Log Service. Please submit a ticket to solve the problem.', - ], - [ - 'errorCode' => 'LogService.LogDirInvalid', - 'errorMessage' => 'The log collection path is invalid.', - ], - [ - 'errorCode' => 'LogService.NotAvailable', - 'errorMessage' => 'Log Service is unavailable. Please activate Log Service first.', - ], - [ - 'errorCode' => 'LogService.ProjectNumQuotaExceed', - 'errorMessage' => 'The maximum number of Log Service projects is exceeded.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'VolumnPath.Conflict', - 'errorMessage' => 'Conflict between log collection directory and persistent storage directory.', - ], - [ - 'errorCode' => 'MountConflict.ConfigMap', - 'errorMessage' => 'Conflict detected for ConfigMap path %s.', - ], - [ - 'errorCode' => 'NotFound.ConfigMap', - 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'NotFound.ConfigMapKey', - 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'Sls.Config.Mixed.Multi.Project', - 'errorMessage' => 'The specified Config contains multiple projects.', - ], - [ - 'errorCode' => 'Sls.Config.User.Defined.Missing.Logstore.Info', - 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', - ], - [ - 'errorCode' => 'Sls.Config.User.Defined.Missing.Project.Info', - 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', - ], - [ - 'errorCode' => 'Sls.Logstore.Name.Invalid', - 'errorMessage' => 'The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".', - ], - [ - 'errorCode' => 'Sls.Logstore.User.Defined.Not.Exist', - 'errorMessage' => 'The user defined Logstore does not exist.', - ], - [ - 'errorCode' => 'Sls.Project.Name.Invalid', - 'errorMessage' => 'The specified project name is invalid. The project name must not contain the prefix "sae-".', - ], - [ - 'errorCode' => 'Sls.Project.User.Defined.Not.Exist', - 'errorMessage' => 'The user defined project does not exist.', - ], - [ - 'errorCode' => 'InvalidImageUrl.AcrInstanceId.Domain.NotMatch', - 'errorMessage' => 'The specified domain of ImageUrl does not match AcrInstanceId domains.', - ], - [ - 'errorCode' => 'PhpApplication.MissingPhpRuntime', - 'errorMessage' => 'A PHP application must contain PHP Runtime.', - ], - [ - 'errorCode' => 'InvalidParameter.FileName', - 'errorMessage' => 'The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file.', - ], - [ - 'errorCode' => 'Sls.Logtail.Name.Invalid', - 'errorMessage' => 'The specified name of Logtail is invalid. The Logtail name must not contain the prefix sae-.', - ], - [ - 'errorCode' => 'vswitch.not.exist', - 'errorMessage' => 'The specified vSwitch does not exist.', - ], - [ - 'errorCode' => 'InvalidImageUrl.MissingAcrInstanceId', - 'errorMessage' => 'The specified domain of ImageUrl is from ACREE, but you are not specified AcrInstanceId.', - ], - [ - 'errorCode' => 'EnvFromSecretIdConflict.AlreadyExist', - 'errorMessage' => 'The specified SecretId [%s] already exist in the specified Envs.', - ], - [ - 'errorCode' => 'MountConflict.Secret', - 'errorMessage' => 'Conflict detected for Secret path %s.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'SecretNameConflict.AlreadyExist', 'errorMessage' => 'The specified SecretName [%s] already exist in this namespace.', 'description' => ''], + ['errorCode' => 'QuotaExceeded.SecretInNamespace', 'errorMessage' => 'The specified secret exceeded quota [%s].', 'description' => ''], + ['errorCode' => 'QuotaExceeded.SecretDataKey', 'errorMessage' => 'The specified key in SecretData exceeded quota [%s].', 'description' => ''], + ['errorCode' => 'InvalidSecretType.NotAvailable', 'errorMessage' => 'The specified SecretType [%s] is not supported.', 'description' => ''], + ['errorCode' => 'InvalidSecretDataKey.NotFound', 'errorMessage' => 'The specified Key [%s] does not exist in the specified Secret [%s].', 'description' => ''], ], 404 => [ - [ - 'errorCode' => 'Associate.Eip.Not.Enough', - 'errorMessage' => 'No sufficient EIPs are available.', - ], - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'OperationFailed.RPCError', 'errorMessage' => 'Internal RPC request processing error.', 'description' => 'Internal RPC request processing error.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"SecretId\\": 16\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'CreateSecret', + 'requestParamsDescription' => '**Example 1: Use a username and password to pull an image from Container Registry over an internal network across accounts**'."\n" + ."\n" + .'- Enter both the public and internal domain names.'."\n" + ."\n" + .'- Configure the **username**, **password**, and **auth** fields to prevent authentication failures. The format of **auth** is `base64Encode($username:$password)`.'."\n" + ."\n" + .'The following code describes the default formats of the field values:'."\n" + ."\n" + .'```'."\n" + .'SecretData[".dockerconfigjson"]=base64Encode('."\n" + .'{'."\n" + .' "auths": {'."\n" + .' "registry-vpc.cn-beijing.aliyuncs.com": { // $internal domain name'."\n" + .' "username": "username",'."\n" + .' "password": "password",'."\n" + .' "auth": "dXNlcm5hbWU6cGFzc3dvcmQ="'."\n" + .' },'."\n" + .' "registry.cn-beijing.aliyuncs.com": { // $public domain name "username": "username", // $username'."\n" + .' "password": "password", // $password'."\n" + .' "auth": "dXNlcm5hbWU6cGFzc3dvcmQ=" // base64Encode($username:$password)'."\n" + .' }'."\n" + .' }'."\n" + .'} )'."\n" + .'```', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-05-24T05:53:44.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-11-22T13:28:09.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateSecret'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:CreateSecret', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - [ - 'errorCode' => 'InvalidVpcId.NotFound', - 'errorMessage' => 'The specified VpcId does not exist.', + ], + ], + ], + 'CreateWebApplication' => [ + 'summary' => 'Create a web application', + 'path' => '/pop/v2/api/web/applications', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '181739', + 'abilityTreeNodes' => ['FEATUREsaeUWY6ZL'], + ], + 'parameters' => [ + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The information about the application.'."\n", 'required' => true, '$ref' => '#/components/schemas/CreateWebApplicationInput', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationBody', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'CreateWebApplication', + 'description' => 'Call the CreateWebApplication operation to create a web application.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:22.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - [ - 'errorCode' => 'InvalidAcrInstanceId.NotFound', - 'errorMessage' => 'The specified AcrInstanceId does not exist.', + ], + ], + ], + 'CreateWebCustomDomain' => [ + 'summary' => 'Create a custom domain name for the web application.', + 'path' => '/pop/v2/api/web/custom-domains', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '225938', + 'abilityTreeNodes' => ['FEATUREsae5U7VP0'], + ], + 'parameters' => [ + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The information about custom domain name.'."\n", 'required' => true, '$ref' => '#/components/schemas/CreateWebCustomDomainInput', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebCustomDomainBody', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"accountId\\": \\"123xxxxxx\\",\\n \\"WebCertConfig\\": {\\n \\"CertName\\": \\"\\",\\n \\"Certificate\\": \\"\\",\\n \\"PrivateKey\\": \\"\\"\\n },\\n \\"CreatedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"DefaultForwardingAppName\\": \\"appxxxxx\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LastModifiedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"Protocol\\": \\"HTTP\\",\\n \\"WebTLSConfig\\": {\\n \\"CipherSuites\\": [\\n \\"\\"\\n ],\\n \\"MaxVersion\\": \\"\\",\\n \\"MinVersion\\": \\"\\"\\n },\\n \\"WebWAFConfig\\": {\\n \\"EnableWAF\\": true\\n },\\n \\"RouteConfig\\": {\\n \\"routes\\": [\\n {\\n \\"path\\": \\"\\",\\n \\"applicationName\\": \\"\\"\\n }\\n ]\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'CreateWebCustomDomain', + 'description' => 'Create a custom domain name for the web application.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:20.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateWebCustomDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:namespace/{#NamespaceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\",\\n \\"AppId\\": \\"017f39b8-dfa4-4e16-a84b-1dcee4b1****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateApplicationResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>01db03d3-3ee9-48b3-b3d0-dfce2d88****</ChangeOrderId>\\n <AppId>017f39b8-dfa4-4e16-a84b-1dcee4b1****</AppId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</CreateApplicationResponse>","errorExample":""}]', - 'title' => 'CreateApplication', - 'summary' => 'Creates an application.', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], 'DeleteApplication' => [ 'path' => '/pop/v1/sam/app/deleteApplication', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9531,285 +5765,197 @@ 'systemTags' => [ 'operationType' => 'delete', 'abilityTreeCode' => '6310', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned. Valid values:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The response message. If the request is successful, **success** is returned. If the request fails, an error code is returned.'."\n" + ."\n" + .'- A successful request returns **success**.'."\n" + ."\n" + .'- A failed request returns a specific error code.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The result returned.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order. The ID can be used to query the status of the change task.'."\n", - 'type' => 'string', - 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', - ], + 'ChangeOrderId' => ['description' => 'The ID of the change order. You can call the DescribeChangeOrder operation to query the execution status of a task.', 'type' => 'string', 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** section of this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application is deleted. Valid values:'."\n" - ."\n" - .'* **true**: The applications were deleted'."\n" - .'* **false**: The applications failed to be deleted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application was deleted. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteApplicationResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>01db03d3-3ee9-48b3-b3d0-dfce2d88****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DeleteApplicationResponse>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'DeleteApplication', 'summary' => 'Deletes an application.', - ], - 'DeleteInstances' => [ - 'summary' => 'Deletes an application instance.', - 'path' => '/pop/v1/sam/app/deleteInstances', - 'methods' => [ - 'put', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteApplicationScalingRule' => [ + 'path' => '/pop/v1/sam/scale/applicationScalingRule', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '9211', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '6311', + 'abilityTreeNodes' => ['FEATUREsae5HLO11'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], [ - 'name' => 'InstanceIds', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance to be deleted.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'demo-aaed579c-1f8a-431e-8705-97d18e91c7b4******', - ], + 'schema' => ['description' => 'The name of the Auto Scaling policy.', 'type' => 'string', 'required' => true, 'example' => 'timer-0800-2100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned information.'."\n", + 'description' => 'The returned information.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'Additional information about the call result. Valid values:'."\n" - ."\n" - .'* If the request is normal, success is returned.'."\n" - .'* If the request is abnormal, the specific exception error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. This parameter is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => '0a981dd515966966104121683d****', - ], - 'Data' => [ - 'description' => 'Responses.'."\n", - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the release order.'."\n", - 'type' => 'string', - 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'Error code. Valid values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Whether the instance is deleted successfully. Valid values:'."\n" - ."\n" - .'* **true**: The namespace was deleted.'."\n" - .'* **false**: The namespace failed to be deleted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to query the details of a call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Message' => ['description' => 'Additional information. The following values may be returned:'."\n" + ."\n" + .'- **success** is returned if the request is normal.'."\n" + ."\n" + .'- A specific error code is returned if the request is abnormal.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code. The following rules apply:'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the list of **error codes** in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The status of the API call or a POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: success.'."\n" + ."\n" + .'- **3xx**: redirection.'."\n" + ."\n" + .'- **4xx**: request error.'."\n" + ."\n" + .'- **5xx**: server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the Auto Scaling policy was successfully deleted. Valid values:'."\n" + ."\n" + .'- **true**: The deletion was successful.'."\n" + ."\n" + .'- **false**: The deletion failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'Application.NotDeployYet', - 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', - ], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DeleteInstances', - ], - 'StopApplication' => [ - 'path' => '/pop/v1/sam/app/stopApplication', - 'methods' => [ - 'put', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteApplicationScalingRule', + 'summary' => 'Deletes an Auto Scaling policy for an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-19T02:15:04.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteApplicationScalingRule'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteConfigMap' => [ + 'path' => '/pop/v1/sam/configmap/configMap', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -9818,299 +5964,212 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6391', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '6312', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'ConfigMapId', 'in' => 'query', - 'schema' => [ - 'description' => 'The returned message.'."\n" - ."\n" - .'* **success** is returned when the request succeeds.'."\n" - .'* An error code is returned when the request fails.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'schema' => ['description' => 'The ID of the ConfigMap instance to delete. You can call the [ListNamespacedConfigMaps](~~176917~~) operation to obtain the ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The returned data object.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the trace. It can be used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'example' => '0bc3b6e215637275918588187d****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID for querying request details.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* If the request is successful, this parameter is not returned.****'."\n" - .'* This parameter is returned only if the request failed.**** For more information, see **Error codes** in this topic.'."\n", + 'description' => 'The operation result.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '4a815998-b468-4bea-b7d8-59f52a44****', - ], + 'ConfigMapId' => ['description' => 'The ID of the deleted ConfigMap instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'Indicates whether the specified application is stopped. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- Not returned if the request is successful.'."\n" + ."\n" + .'- Returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code returned for the request.'."\n" + ."\n" + .'- **2xx**: success'."\n" + ."\n" + .'- **3xx**: redirection'."\n" + ."\n" + .'- **4xx**: client error'."\n" + ."\n" + .'- **5xx**: server error', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the deletion succeeded. Valid values:'."\n" + ."\n" + .'- **true**: The deletion was successful.'."\n" + ."\n" + .'- **false**: The deletion failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'Application.NotDeployYet', - 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'MountConflict.ConfigMap', 'errorMessage' => 'Conflict detected for ConfigMap path %s.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMap', 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMapKey', 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'DeleteFail.ConfigMapReferenced', 'errorMessage' => 'Failed to delete the ConfigMap. It has been used by other applications.', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'OperationFailed.RPCError', 'errorMessage' => 'Internal RPC request processing error.', 'description' => 'Internal RPC request processing error.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3b6e215637275918588187d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4a815998-b468-4bea-b7d8-59f52a44****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<StopApplicationResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0bc3b6e215637275918588187d****</TraceId>\\n <Data>\\n <ChangeOrderId>4a815998-b468-4bea-b7d8-59f52a44****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</StopApplicationResponse>","errorExample":""}]', - 'title' => 'StopApplication', - 'summary' => 'Stops an application.', - ], - 'StartApplication' => [ - 'path' => '/pop/v1/sam/app/startApplication', - 'methods' => [ - 'put', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ConfigMapId\\": 1\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteConfigMap', + 'summary' => 'Deletes a ConfigMap instance.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteConfigMap'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteConfigMap', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteGreyTagRoute' => [ + 'summary' => 'Deletes a grey tag route by the specified rule ID.', + 'path' => '/pop/v1/sam/tagroute/greyTagRoute', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6390', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '10484', + 'abilityTreeNodes' => ['FEATUREsaeETR3ZD'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'GreyTagRouteId', 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'schema' => ['description' => 'The rule ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '7BD8F4C7-D84C-4D46-9885-8212997E****', - ], - 'Message' => [ - 'description' => 'The returned message. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, **success** is returned.'."\n" - .'* If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0bc3b6e215637275918588187d****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9D29CBD0-45D3-410B-9826-52F86F90****', 'title' => ''], + 'Message' => ['description' => 'The response message. Valid values:'."\n" + ."\n" + .'- **success** is returned if the request is successful.'."\n" + ."\n" + .'- An error message is returned if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to query call details.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned result.'."\n", + 'description' => 'The information about the grey tag route.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'example' => '4a815998-b468-4bea-b7d8-59f52a44****', - ], + 'GreyTagRouteId' => ['description' => 'The globally unique ID of the grey tag route.', 'type' => 'integer', 'format' => 'int64', 'example' => '16', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, **ErrorCode** is not returned.'."\n" - .'* If the call fails, **ErrorCode** is returned. For more information, see the "**Error codes**" section in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application is started. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. The following describes when this field is returned:'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'vswitch.not.exist', - 'errorMessage' => 'The specified vSwitch does not exist.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'Application.NotDeployYet', - 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7BD8F4C7-D84C-4D46-9885-8212997E****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3b6e215637275918588187d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4a815998-b468-4bea-b7d8-59f52a44****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<StartApplicationResponse>\\n <RequestId>7BD8F4C7-D84C-4D46-9885-8212997E****</RequestId>\\n <Message>success</Message>\\n <TraceId>0bc3b6e215637275918588187d****</TraceId>\\n <Data>\\n <ChangeOrderId>4a815998-b468-4bea-b7d8-59f52a44****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</StartApplicationResponse>","errorExample":""}]', - 'title' => 'StartApplication', - 'summary' => 'Starts an application.', - ], - 'ReduceApplicationCapacityByInstanceIds' => [ - 'summary' => 'Scales in an application based on instance IDs.', - 'path' => '/pop/v1/sam/app/ScaleInApplicationWithInstanceIds', - 'methods' => [ - 'put', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9D29CBD0-45D3-410B-9826-52F86F90****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"GreyTagRouteId\\": 16\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteGreyTagRoute', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteGreyTagRoute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteGreyTagRoute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteHistoryJob' => [ + 'summary' => 'Delete a job.', + 'path' => '/pop/v1/sam/job/deleteHistoryJob', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10119,405 +6178,306 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '22522', - 'abilityTreeNodes' => [ - 'FEATUREsae5HLO11', - ], + 'abilityTreeCode' => '104054', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'schema' => ['description' => 'The ID of the job template to which the job that you want to delete belongs.', 'type' => 'string', 'required' => true, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], [ - 'name' => 'InstanceIds', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance. Separate multiple instances with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', - ], + 'schema' => ['description' => 'The ID of the job.', 'type' => 'string', 'required' => true, 'example' => 'manual-3db7a8fa-5d40-4edc-92e4-49d50eab****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The parameter returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A8E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Take note of the following rules:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The information about the change process.'."\n", - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '76fa5c0-9ebb-4bb4-b383-1f885447****', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code.'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the information of the change order was queried. Take note of the following rules:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: The image failed to be found.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned information. Valid values:'."\n" + ."\n" + .'- success: If the call is successful, **success** is returned.'."\n" + ."\n" + .'- An error code: If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => ['description' => 'The result returned.', 'type' => 'string', 'example' => '{"msg": "","code": 200,"success": true}', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- If the call is successful, the **ErrorCode** parameter is not returned.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the job was deleted. Valid values:'."\n" + ."\n" + .'- **true**: The job was deleted.'."\n" + ."\n" + .'- **false**: The job failed to be deleted.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'Application.NotDeployYet', - 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', - ], - [ - 'errorCode' => 'unsupported.workload', - 'errorMessage' => 'The specified instances to scale in application does not support the workload', - ], + 404 => [ + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A8E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"76fa5c0-9ebb-4bb4-b383-1f885447****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ReduceApplicationCapacityByInstanceIdsResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A8E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>76fa5c0-9ebb-4bb4-b383-1f885447****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ReduceApplicationCapacityByInstanceIdsResponse>","errorExample":""}]', - 'title' => 'ReduceApplicationCapacityByInstanceIds', - ], - 'UpdateApplicationDescription' => [ - 'summary' => 'Updates the description of an application.', - 'path' => '/pop/v1/sam/app/updateAppDescription', - 'methods' => [ - 'put', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": \\"{\\\\\\"msg\\\\\\": \\\\\\"\\\\\\",\\\\\\"code\\\\\\": 200,\\\\\\"success\\\\\\": true}\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteHistoryJob', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:29.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteHistoryJob'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DeleteHistoryJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DeleteIngress' => [ + 'path' => '/pop/v1/sam/ingress/Ingress', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '10540', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '6313', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'IngressId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application that you want to update.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - ], - [ - 'name' => 'AppDescription', - 'in' => 'query', - 'schema' => [ - 'description' => 'The new description of the application. The description can be up to 1,024 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'newdesc', - ], + 'schema' => ['description' => 'The ID of the routing rule to delete. You can obtain the ID by calling the [ListIngresses](~~153934~~) operation.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '87', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3***', - ], - 'Message' => [ - 'description' => 'The message returned. The following limits are imposed on the ID:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* An error code is returned when a request failed.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622246421415014e****', - ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the call failed. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => '400', - ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application was deployed. Valid values:'."\n" - ."\n" - .'* **true**: The application was deployed.'."\n" - .'* **false**: The application failed to be deployed.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID for the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The response data.', + 'type' => 'object', + 'properties' => [ + 'IngressId' => ['description' => 'The ID of the deleted routing rule.', 'type' => 'integer', 'format' => 'int64', 'example' => '87', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'ErrorCode' => ['description' => 'The error code that is returned if the request fails.'."\n" + ."\n" + .'- This parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- For a list of error codes, see the **Error codes** section.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A client-side error occurred.'."\n" + ."\n" + .'- **5xx**: A server-side error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the ingress instance was deleted successfully. Valid values:'."\n" + ."\n" + .'- **true**: The deletion was successful.'."\n" + ."\n" + .'- **false**: The deletion failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], ], - 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', - ], + 500 => [ + ['errorCode' => 'OperationFailed.RPCError', 'errorMessage' => 'Internal RPC request processing error.', 'description' => 'Internal RPC request processing error.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3***\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateApplicationDescriptionResponse>\\n <RequestId>01CF26C7-00A3-4AA6-BA76-7E95F2A3***</RequestId>\\n <Message>success</Message>\\n <TraceId>ac1a0b2215622246421415014e****</TraceId>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateApplicationDescriptionResponse>","errorExample":""}]', - 'title' => 'UpdateApplicationDescription', - ], - 'UpdateAppSecurityGroup' => [ - 'path' => '/pop/v1/sam/app/updateAppSecurityGroup', - 'methods' => [ - 'put', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"IngressId\\": 87\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteIngress', + 'summary' => 'Deletes an ingress instance.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIngress'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteIngress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DeleteInstances' => [ + 'summary' => 'Deletes one or more application instances.', + 'path' => '/pop/v1/sam/app/deleteInstances', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6399', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'abilityTreeCode' => '9211', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], [ - 'name' => 'SecurityGroupId', + 'name' => 'InstanceIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'sg-wz969ngg2e49q5i4****', - ], + 'schema' => ['description' => 'The IDs of the application instances to delete.', 'type' => 'string', 'required' => true, 'example' => 'demo-aaed579c-1f8a-431e-8705-97d18e91c7b4******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, `success` is returned.'."\n" + ."\n" + .'- If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID of the request. You can use this ID to query the details of a request.', 'type' => 'string', 'example' => '0a981dd515966966104121683d****', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change order.', 'type' => 'string', 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', 'title' => ''], + ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the security group of the application was updated. Valid values:'."\n" - ."\n" - .'* **true**: The security group was updated.'."\n" - .'* **false**: The security group failed to be updated.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request is successful.'."\n" + ."\n" + .'- The **ErrorCode** parameter is returned if the request fails. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or a Platform as a Service (PaaS) error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application instances were deleted. Valid values:'."\n" + ."\n" + .'- **true**: The application instances were deleted.'."\n" + ."\n" + .'- **false**: The application instances failed to be deleted.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please submit a ticket to raise the quota.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'Application.NotDeployYet', 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', 'description' => 'The application has not been deployed. Please deploy it and try again.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteInstances', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DeleteInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateAppSecurityGroupResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateAppSecurityGroupResponse>","errorExample":""}]', - 'title' => 'UpdateAppSecurityGroup', - 'summary' => 'Updates the security group of an application.', ], - 'DescribeApplicationStatus' => [ - 'path' => '/pop/v1/sam/app/describeApplicationStatus', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DeleteJob' => [ + 'path' => '/pop/v1/sam/job/deleteJob', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -10526,1002 +6486,602 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6324', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'abilityTreeCode' => '100737', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'schema' => ['description' => 'The ID of the job template that you want to delete.', 'type' => 'string', 'required' => true, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The parameter returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The returned result.'."\n", - 'type' => 'object', - 'properties' => [ - 'ArmsAdvancedEnabled' => [ - 'description' => 'Indicates whether Application Real-Time Monitoring Service (ARMS) advanced monitoring is enabled. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'string', - 'example' => 'false', - ], - 'LastChangeOrderId' => [ - 'description' => 'The ID of the latest change order that is executed. If no change orders are executed or if change orders expire, this parameter is left empty.'."\n", - 'type' => 'string', - 'example' => '1ccc2339-fc19-49aa-bda0-1e7b8497****', - ], - 'ArmsApmInfo' => [ - 'description' => 'The metadata of the application in ARMS.'."\n", - 'type' => 'string', - 'example' => '{"appId":"0099b7be-5f5b-4512-a7fc-56049ef1****","licenseKey":"d5cgdt5pu0@7303f55292a****"}', - ], - 'CreateTime' => [ - 'description' => 'The time when the application was created.'."\n", - 'type' => 'string', - 'example' => '1563373372746', - ], - 'CurrentStatus' => [ - 'description' => 'The current status of the application. Valid values:'."\n" - ."\n" - .'* **RUNNING**'."\n" - .'* **STOPPED**'."\n" - .'* **UNKNOWN**'."\n", - 'type' => 'string', - 'example' => 'RUNNING', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], - 'LastChangeOrderRunning' => [ - 'description' => 'Indicates whether the latest change order is being executed. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'RunningInstances' => [ - 'description' => 'The number of running instances of the application.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'LastChangeOrderStatus' => [ - 'description' => 'The status of the latest change order. Valid values:'."\n" - ."\n" - .'* **READY**: The change order is ready.'."\n" - .'* **RUNNING**: The change order is being executed.'."\n" - .'* **SUCCESS**: The change order was executed.'."\n" - .'* **FAIL**: The change order failed to be executed.'."\n" - .'* **ABORT**: The change order is stopped.'."\n" - .'* **WAIT_BATCH_CONFIRM**: The change order is pending execution. You must manually confirm the release batch.'."\n" - .'* **AUTO_BATCH_WAIT**: The change order is pending execution. SAE will automatically confirm the release batch.'."\n" - .'* **SYSTEM_FAIL**: A system exception occurred.'."\n" - .'* **WAIT_APPROVAL**: The change order is pending approval.'."\n" - .'* **APPROVED**: The change order is approved and is pending execution.'."\n", - 'type' => 'string', - 'example' => 'SUCCESS', - ], - 'SubStatus' => [ - 'description' => 'The substatus of the change order. This parameter indicates whether an exception occurred while the change order was being executed. Valid values:'."\n" - ."\n" - .'* **NORMAL**'."\n" - .'* **RUNNING_BUT_HAS_ERROR**: For example, if an error occurs during a phased release, you must manually roll back the application. In this case, the change order cannot be completed because the change order is still being executed.'."\n", - 'type' => 'string', - 'example' => 'NORMAL', - ], - 'EnableAgent' => [ - 'description' => 'Indicates whether SAE agent is enabled.'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'FileSizeLimit' => [ - 'description' => 'The file size limit. Unit: KB. Valid values: 0 to 10240.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '10240', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the status of the application was queried. Valid values:'."\n" - ."\n" - .'* **true**: The status was queried.'."\n" - .'* **false**: The status failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned. Valid values:'."\n" + ."\n" + .'- success: If the call is successful, **success** is returned.'."\n" + ."\n" + .'- An error code: If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => ['description' => 'The result returned.', 'type' => 'string', 'example' => '{"msg": "","code": 200,"success": true}', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code that is returned. Take note of the following rules:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request is successful.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application is deleted. Valid values:'."\n" + ."\n" + .'- **true**: The namespaces were obtained.'."\n" + ."\n" + .'- **false**: no', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - ], 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', - ], + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ArmsAdvancedEnabled\\": \\"false\\",\\n \\"LastChangeOrderId\\": \\"1ccc2339-fc19-49aa-bda0-1e7b8497****\\",\\n \\"ArmsApmInfo\\": \\"{\\\\\\"appId\\\\\\":\\\\\\"0099b7be-5f5b-4512-a7fc-56049ef1****\\\\\\",\\\\\\"licenseKey\\\\\\":\\\\\\"d5cgdt5pu0@7303f55292a****\\\\\\"}\\",\\n \\"CreateTime\\": \\"1563373372746\\",\\n \\"CurrentStatus\\": \\"RUNNING\\",\\n \\"AppId\\": \\"0099b7be-5f5b-4512-a7fc-56049ef1****\\",\\n \\"LastChangeOrderRunning\\": false,\\n \\"RunningInstances\\": 1,\\n \\"LastChangeOrderStatus\\": \\"SUCCESS\\",\\n \\"SubStatus\\": \\"NORMAL\\",\\n \\"EnableAgent\\": false,\\n \\"FileSizeLimit\\": 10240\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeApplicationStatusResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ArmsAdvancedEnabled>false</ArmsAdvancedEnabled>\\n <LastChangeOrderId>1ccc2339-fc19-49aa-bda0-1e7b8497****</LastChangeOrderId>\\n <ArmsApmInfo>{\\"appId\\":\\"0099b7be-5f5b-4512-a7fc-56049ef1****\\",\\"licenseKey\\":\\"d5cgdt5pu0@7303f55292a****\\"}</ArmsApmInfo>\\n <CreateTime>1563373372746</CreateTime>\\n <CurrentStatus>RUNNING</CurrentStatus>\\n <AppId>0099b7be-5f5b-4512-a7fc-56049ef1****</AppId>\\n <LastChangeOrderRunning>false</LastChangeOrderRunning>\\n <RunningInstances>1</RunningInstances>\\n <LastChangeOrderStatus>SUCCESS</LastChangeOrderStatus>\\n <SubStatus>NORMAL</SubStatus>\\n <EnableAgent>false</EnableAgent>\\n <FileSizeLimit>10240</FileSizeLimit>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeApplicationStatusResponse>","errorExample":""}]', - 'title' => 'DescribeApplicationStatus', - 'summary' => 'Queries the status of an application.', - ], - 'ListChangeOrders' => [ - 'path' => '/pop/v1/sam/changeorder/ListChangeOrders', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": \\"{\\\\\\"msg\\\\\\": \\\\\\"\\\\\\",\\\\\\"code\\\\\\": 200,\\\\\\"success\\\\\\": true}\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteJob', + 'summary' => 'Delete a job template.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:29.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteJob'], + ], ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DeleteJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DeleteNamespace' => [ + 'path' => '/pop/v1/paas/namespace', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6372', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '6314', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => '1'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '145341c-9708-4967-b3ec-24933767****', - ], + 'schema' => ['description' => 'The long-format ID of the namespace. If you specify this parameter, NameSpaceShortId is ignored. This parameter is for backward compatibility. We recommend that you use the short-format namespace ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'CurrentPage', + 'name' => 'NameSpaceShortId', 'in' => 'query', - 'schema' => [ - 'description' => '20'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The short-format ID of the namespace. You do not need to specify the region. We recommend that you use this parameter.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], - [ - 'name' => 'PageSize', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'test'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', + 'description' => 'The data returned.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to query the details of a request.', 'type' => 'string', 'example' => '0a981dd515966966104121683d****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, this parameter is not returned.'."\n" + ."\n" + .'- If the request fails, this parameter is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the namespace was deleted. Valid values:'."\n" + ."\n" + .'- **true**: The namespace was deleted.'."\n" + ."\n" + .'- **false**: The namespace failed to be deleted.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'Key', - 'in' => 'query', - 'schema' => [ - 'description' => 'CoCreateApp'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidOperation.NamespaceClusterNotDeleted', 'errorMessage' => 'The specified NamespaceId contains clusters.', 'description' => 'The specified NamespaceId contains clusters.'], + ['errorCode' => 'Namespace.AppExists', 'errorMessage' => 'Please delete the application first.', 'description' => ''], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], ], - [ - 'name' => 'CoType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the change order. Valid values:'."\n" - ."\n" - .'* **CoBindSlb**: associates the Server Load Balancer (SLB) instance with the application.'."\n" - .'* **CoUnbindSlb**: disassociates an SLB instance from the application.'."\n" - .'* **CoCreateApp**: creates the application.'."\n" - .'* **CoDeleteApp**: deletes the application.'."\n" - .'* **CoDeploy**: deploys the application.'."\n" - .'* **CoRestartApplication**: restarts the application.'."\n" - .'* **CoRollback**: rolls back the application.'."\n" - .'* **CoScaleIn**: scales in the application.'."\n" - .'* **CoScaleOut**: scales out the application.'."\n" - .'* **CoStartApplication**: starts the application.'."\n" - .'* **CoStopApplication**: stops the application.'."\n" - .'* **CoRescaleApplicationVertically**: modifies the instance type.'."\n" - .'* **CoDeployHistroy**: rolls back the application to an earlier version.'."\n" - .'* **CoBindNas**: associates a network-attached storage (NAS) file system with the application.'."\n" - .'* **CoUnbindNas**: disassociates a NAS file system from the application.'."\n" - .'* **CoBatchStartApplication**: starts multiple applications concurrently.'."\n" - .'* **CoBatchStopApplication**: stops multiple applications concurrently.'."\n" - .'* **CoRestartInstances**: restarts the instance.'."\n" - .'* **CoDeleteInstances**: deletes the instance.'."\n" - .'* **CoScaleInAppWithInstances**: reduces the specified number of application instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CoCreateApp', + 404 => [ + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'OperationFailed.DauthHttpRequest', 'errorMessage' => 'request dauth failed.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteNamespace', + 'summary' => 'Deletes a namespace.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-01-04T08:04:03.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-29T03:14:26.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNamespace'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DeleteSecret' => [ + 'summary' => 'Deletes a secret.', + 'path' => '/pop/v1/sam/secret/secret', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'CoStatus', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'abilityTreeCode' => '159989', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], + ], + 'parameters' => [ [ - 'name' => 'OrderBy', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the namespace. If the secret is in the default namespace, you need to specify only the region ID, for example, `cn-beijing`.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'Reverse', + 'name' => 'SecretId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'The ID of the secret to delete. You can obtain the ID by calling the [ListSecrets](~~466929~~) operation.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '1000000000', 'minimum' => '1', 'example' => '16', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => '65E1F-43BA-4D0C-8E61-E4D1337F****', - ], - 'Message' => [ - 'description' => 'The ID of the trace. It is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The information about change orders.'."\n", - 'type' => 'string', - 'example' => '0bb6f815638568884597879d****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- **success**: The request was successful.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID used to trace the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The information about change orders.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The total number of change orders.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The list of change orders.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ChangeOrderList' => [ - 'description' => 'The change orders.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about change orders.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The time when the change order was completed.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'FinishTime' => [ - 'description' => 'The time when the change order was created.'."\n", - 'type' => 'string', - 'example' => '2019-07-11 20:12:58', - ], - 'CreateTime' => [ - 'description' => 'The ID of the user.'."\n", - 'type' => 'string', - 'example' => '2019-07-11 15:54:49', - ], - 'UserId' => [ - 'description' => 'The source of the change order.'."\n", - 'type' => 'string', - 'example' => 'sae-beta-test', - ], - 'Source' => [ - 'description' => 'The number of release batches.'."\n", - 'type' => 'string', - 'example' => 'console', - ], - 'BatchCount' => [ - 'description' => 'The ID of the user who created the change order.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CreateUserId' => [ - 'description' => 'The code of the change type. Valid values:'."\n" - ."\n" - .'* **CoBindSlb**: associates an SLB instance with the application.'."\n" - .'* **CoUnbindSlb**: disassociates the SLB instance from the application.'."\n" - .'* **CoCreateApp**: creates the application.'."\n" - .'* **CoDeleteApp**: deletes the application.'."\n" - .'* **CoDeploy**: deploys the application.'."\n" - .'* **CoRestartApplication**: restarts the application.'."\n" - .'* **CoRollback**: rolls back the application.'."\n" - .'* **CoScaleIn**: scales in the application.'."\n" - .'* **CoScaleOut**: scales out the application.'."\n" - .'* **CoStart**: starts the application.'."\n" - .'* **CoStop**: stops the application.'."\n" - .'* **CoRescaleApplicationVertically**: modifies the instance specifications.'."\n" - .'* **CoDeployHistroy**: rolls back the application to a historical version.'."\n" - .'* **CoBindNas**: associates a NAS file system with the application.'."\n" - .'* **CoUnbindNas**: disassociates the NAS file system from the application.'."\n" - .'* **CoBatchStartApplication**: starts multiple applications concurrently.'."\n" - .'* **CoBatchStopApplication**: stops multiple applications concurrently.'."\n" - .'* **CoRestartInstances**: restarts the instances.'."\n" - .'* **CoDeleteInstances**: deletes the instances.'."\n" - .'* **CoScaleInAppWithInstances**: reduces the number of the specified application instances.'."\n", - 'type' => 'string', - 'example' => 'sae-beta-test', - ], - 'CoTypeCode' => [ - 'description' => 'The code of the change order. Valid values:'."\n" - ."\n" - .'* **CoBindSlb**: associates the Server Load Balancer (SLB) instance with the application.'."\n" - .'* **CoUnbindSlb**: disassociates an SLB instance from the application.'."\n" - .'* **CoCreateApp**: creates the application.'."\n" - .'* **CoDeleteApp**: deletes the application.'."\n" - .'* **CoDeploy**: deploys the application.'."\n" - .'* **CoRestartApplication**: restarts the application.'."\n" - .'* **CoRollback**: rolls back the application.'."\n" - .'* **CoScaleIn**: scales in the application.'."\n" - .'* **CoScaleOut**: scales out the application.'."\n" - .'* **CoStartApplication**: starts the application.'."\n" - .'* **CoStopApplication**: stops the application.'."\n" - .'* **CoRescaleApplicationVertically**: modifies the instance type.'."\n" - .'* **CoDeployHistroy**: rolls back the application to an earlier version.'."\n" - .'* **CoBindNas**: associates a network-attached storage (NAS) file system with the application.'."\n" - .'* **CoUnbindNas**: disassociates a NAS file system from the application.'."\n" - .'* **CoBatchStartApplication**: starts multiple applications concurrently.'."\n" - .'* **CoBatchStopApplication**: stops multiple applications concurrently.'."\n" - .'* **CoRestartInstances**: restarts the instance.'."\n" - .'* **CoDeleteInstances**: deletes the instance.'."\n" - .'* **CoScaleInAppWithInstances**: reduces the specified number of application instances.'."\n", - 'type' => 'string', - 'example' => 'CoCreateApp', - ], - 'ChangeOrderId' => [ - 'description' => 'The mode in which the release batches are determined. Valid values:'."\n" - ."\n" - .'* **auto**: SAE automatically determines the release batches.'."\n" - .'* **manual**: You must manually determine the release batches.'."\n", - 'type' => 'string', - 'example' => '7fa5c0-9ebb-4bb4-b383-1f885447****', - ], - 'BatchType' => [ - 'description' => 'The ID of the group.'."\n", - 'type' => 'string', - 'example' => 'auto', - ], - 'GroupId' => [ - 'description' => 'The description about the application.'."\n", - 'type' => 'string', - 'example' => 'c9ecd2-cf6c-46c3-9f20-525de202****', - ], - 'Description' => [ - 'description' => 'The change type, which corresponds to the **CoTypeCode** parameter.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'CoType' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'AppId' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'string', - 'example' => '164341c-9708-4967-b3ec-24933767****', - ], - ], - ], - ], - 'PageSize' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], + 'SecretId' => ['description' => 'The ID of the deleted secret.', 'type' => 'integer', 'format' => 'int64', 'example' => '16', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'Indicates whether the list of change orders was obtained. Valid values:'."\n" - ."\n" - .'* **true**: indicates that the list was obtained.'."\n" - .'* **false**: indicates that the list could not be obtained.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request is successful.'."\n" + ."\n" + .'- The **ErrorCode** parameter is returned if the request fails. For a list of error codes, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error.'."\n" + ."\n" + .'- **5xx**: A server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the secret was successfully deleted. Valid values:'."\n" + ."\n" + .'- **true**: The secret was deleted.'."\n" + ."\n" + .'- **false**: The secret was not deleted.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Resouce.no.permission', - 'errorMessage' => 'You are not authorized to operate on the specified resources.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'InvalidSecretId.NotFound', 'errorMessage' => 'The specified SecretId [%s] does not exist in our records.', 'description' => ''], + ['errorCode' => 'DependencyViolation.Job', 'errorMessage' => 'The specified resource of secret is dependent on job [%s], so the operation cannot be completed.', 'description' => ''], + ['errorCode' => 'DependencyViolation.Application', 'errorMessage' => 'The specified resource of secret is dependent on application [%s], so the operation cannot be completed.', 'description' => ''], ], 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', - ], + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'OperationFailed.RPCError', 'errorMessage' => 'Internal RPC request processing error.', 'description' => 'Internal RPC request processing error.'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"65E1F-43BA-4D0C-8E61-E4D1337F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bb6f815638568884597879d****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 1,\\n \\"ChangeOrderList\\": [\\n {\\n \\"Status\\": 2,\\n \\"FinishTime\\": \\"2019-07-11 20:12:58\\",\\n \\"CreateTime\\": \\"2019-07-11 15:54:49\\",\\n \\"UserId\\": \\"sae-beta-test\\",\\n \\"Source\\": \\"console\\",\\n \\"BatchCount\\": 1,\\n \\"CreateUserId\\": \\"sae-beta-test\\",\\n \\"CoTypeCode\\": \\"CoCreateApp\\",\\n \\"ChangeOrderId\\": \\"7fa5c0-9ebb-4bb4-b383-1f885447****\\",\\n \\"BatchType\\": \\"auto\\",\\n \\"GroupId\\": \\"c9ecd2-cf6c-46c3-9f20-525de202****\\",\\n \\"Description\\": \\"版本:1.0 | 镜像名称:nginx\\",\\n \\"CoType\\": \\"创建应用\\",\\n \\"AppId\\": \\"164341c-9708-4967-b3ec-24933767****\\"\\n }\\n ],\\n \\"PageSize\\": 20\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListChangeOrdersResponse>\\n <RequestId>65E1F-43BA-4D0C-8E61-E4D1337F****</RequestId>\\n <Message>success</Message>\\n <TraceId>0bb6f815638568884597879d****</TraceId>\\n <Data>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>1</TotalSize>\\n <ChangeOrderList>\\n <Status>2</Status>\\n <FinishTime>2019-07-11 20:12:58</FinishTime>\\n <CreateTime>2019-07-11 15:54:49</CreateTime>\\n <UserId>sae-beta-test</UserId>\\n <Source>console</Source>\\n <BatchCount>1</BatchCount>\\n <CreateUserId>sae-beta-test</CreateUserId>\\n <CoTypeCode>CoCreateApp</CoTypeCode>\\n <ChangeOrderId>7fa5c0-9ebb-4bb4-b383-1f885447****</ChangeOrderId>\\n <BatchType>auto</BatchType>\\n <GroupId>c9ecd2-cf6c-46c3-9f20-525de202****</GroupId>\\n <Description>版本:1.0 | 镜像名称:nginx</Description>\\n <CoType>创建应用</CoType>\\n <AppId>164341c-9708-4967-b3ec-24933767****</AppId>\\n </ChangeOrderList>\\n <PageSize>20</PageSize>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListChangeOrdersResponse>","errorExample":""}]', - 'title' => 'ListChangeOrders', - 'summary' => 'Query a list of change orders.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeChangeOrder' => [ - 'path' => '/pop/v1/sam/changeorder/DescribeChangeOrder', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"SecretId\\": 16\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteSecret', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-11-22T13:28:09.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSecret'], + ], ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DeleteSecret', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DeleteSwimmingLaneGroup' => [ + 'summary' => 'Deletes a swimming lane group.', + 'path' => '/pop/v1/cas/gray/deleteSwimmingLaneGroup', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6325', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'operationType' => 'delete', + 'abilityTreeCode' => '221434', + 'abilityTreeNodes' => ['FEATUREsaeX255DA'], ], 'parameters' => [ [ - 'name' => 'ChangeOrderId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change order. You can call the [ListChangeOrders](~~126615~~) operation to obtain the ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '76fa5c0-9ebb-4bb4-b383-1f885447****', - ], + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:demo', 'title' => ''], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the swimming lane group.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2074', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'title' => 'Schema of Response', + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The details of the change order.'."\n", - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the change order. Valid values:'."\n" - ."\n" - .'* **0**: The change order is being prepared.'."\n" - .'* **1**: The change order is being executed.'."\n" - .'* **2**: The change order was executed.'."\n" - .'* **3**: The change order failed to be executed.'."\n" - .'* **6**: The change order was terminated.'."\n" - .'* **8**: The execution process is pending. You must manually release the batches.'."\n" - .'* **9**: The execution process is pending. SAE will automatically release the batches.'."\n" - .'* **10**: The execution failed due to a system exception.'."\n" - .'* **11**: The change order is pending approval.'."\n" - .'* **12**: The change order is approved and is pending execution.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'SubStatus' => [ - 'description' => 'The substatus of the change order. This parameter indicates whether an exception occurred while the change order was being executed. Valid values:'."\n" - ."\n" - .'* **0**: No exception occurred.'."\n" - .'* **1**: An exception occurred. For example, if an error occurs during a phased release, you must manually roll back the application. In this case, the change order cannot be completed, so the Status parameter is still displayed as "1", which indicates that the change order is being executed. You can check the value of this parameter to determine whether an exception occurs.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ApprovalId' => [ - 'description' => 'The approval ID of the change order.'."\n", - 'type' => 'string', - 'example' => '67de0b39-a9d4-4c09-a170-cf438208****', - ], - 'ErrorMessage' => [ - 'description' => 'The error message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'BatchWaitTime' => [ - 'description' => 'The interval between batches in a phased release. SAE automatically releases batches at the specified interval. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'CreateTime' => [ - 'description' => 'The time when the change order was created.'."\n", - 'type' => 'string', - 'example' => '2020-12-17 21:06:45', - ], - 'BatchCount' => [ - 'description' => 'The number of release batches.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'CoTypeCode' => [ - 'description' => 'The code of the change type. Valid values:'."\n" - ."\n" - .'* **CoBindSlb**: associates a Sever Load Balancer (SLB) instance with the application.'."\n" - .'* **CoUnbindSlb**: disassociates the SLB instance from the application.'."\n" - .'* **CoCreateApp**: creates the application.'."\n" - .'* **CoDeleteApp**: deletes the application.'."\n" - .'* **CoDeploy**: deploys the application.'."\n" - .'* **CoRestartApplication**: restarts the application.'."\n" - .'* **CoRollback**: rolls back the application.'."\n" - .'* **CoScaleIn**: scales in the application.'."\n" - .'* **CoScaleOut**: scales out the application.'."\n" - .'* **CoStart**: starts the application.'."\n" - .'* **CoStop**: stops the application.'."\n" - .'* **CoRescaleApplicationVertically**: modifies the instance type.'."\n" - .'* **CoDeployHistroy**: rolls back the application to a historical version.'."\n" - .'* **CoBindNas**: associates a NAS file system with the application.'."\n" - .'* **CoUnbindNas**: disassociates the NAS file system from the application.'."\n" - .'* **CoBatchStartApplication**: starts multiple applications concurrently.'."\n" - .'* **CoBatchStopApplication**: stops multiple applications concurrently.'."\n" - .'* **CoRestartInstances**: restarts the instances.'."\n" - .'* **CoDeleteInstances**: deletes the instances.'."\n" - .'* **CoScaleInAppWithInstances**: reduces the specified number of application instances.'."\n", - 'type' => 'string', - 'example' => 'CoRestartInstances', - ], - 'SupportRollback' => [ - 'description' => 'Indicates whether the application can be rolled back. Valid values:'."\n" - ."\n" - .'* **true**: The application can be rolled back.'."\n" - .'* **false**: The application cannot be rolled back.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'example' => '765fa5c0-9ebb-4bb4-b383-1f885447**', - ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'app-test', - ], - 'BatchType' => [ - 'description' => 'The processing method for the batches. Valid values:'."\n" - ."\n" - .'* **auto**: SAE automatically releases the batches.'."\n" - .'* **Manual**: You must manually release the batches.'."\n", - 'type' => 'string', - 'example' => 'auto', - ], - 'Description' => [ - 'description' => 'The description of the change order.'."\n", - 'type' => 'string', - 'example' => 'description', - ], - 'CoType' => [ - 'description' => 'The change type, which corresponds to the **CoTypeCode** parameter.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Auto' => [ - 'description' => 'Indicates whether SAE automatically releases the batches. Valid values:'."\n" - ."\n" - .'* **true**: SAE automatically releases the batches.'."\n" - .'* **false**: SAE does not automatically release the batches.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'CurrentPipelineId' => [ - 'description' => 'The ID of the current batch.'."\n", - 'type' => 'string', - 'example' => '0e4acf82-c9b1-4c1e-ac28-55776338****', - ], - 'Pipelines' => [ - 'description' => 'The batch information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Status' => [ - 'description' => 'The status of the batch. Valid values:'."\n" - ."\n" - .'* **0**: The batch is being prepared.'."\n" - .'* **1**: The batch is being processed.'."\n" - .'* **2**: The batch was processed.'."\n" - .'* **3**: The batch failed to be processed.'."\n" - .'* **6**: The batch processing was terminated.'."\n" - .'* **8**: The execution process is pending. You must manually release the batch.'."\n" - .'* **9**: The execution process is pending. SAE will automatically release the batch.'."\n" - .'* **10**: The batch failed to be processed due to a system exception.'."\n" - .'* **11**: The batch is pending approval.'."\n" - .'* **12**: The batch is approved and is pending execution.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'StartTime' => [ - 'description' => 'The time when the batch processing started.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1562831689704', - ], - 'UpdateTime' => [ - 'description' => 'The time when the batch information was last modified.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1562847178007', - ], - 'BatchType' => [ - 'description' => 'The batch type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'ParallelCount' => [ - 'description' => 'The number of parallel tasks in a batch.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'PipelineName' => [ - 'description' => 'The name of the batch.'."\n", - 'type' => 'string', - 'example' => 'Batch 1 Change', - ], - 'PipelineId' => [ - 'description' => 'The ID of the batch.'."\n", - 'type' => 'string', - 'example' => '0e4acf82-c9b1-4c1e-ac28-55776338****', - ], - ], - ], - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'bbbbb-3fd370b2-3646-4ba6-91f9-9423e19ab0cd-*****', - ], - 'ApplicationUpdateStrategy' => [ - 'type' => 'string', - ], - 'ApplicationEnableGreyTagRoute' => [ - 'type' => 'boolean', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the information of the change order was queried. Valid values:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: The information failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****'], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- **success** is returned for a successful request.'."\n" + ."\n" + .'- An error code is returned for a failed request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. Use this ID to query the details of a call.', 'type' => 'string', 'example' => 'ac1a0b2215622920113732501e****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code. This parameter is returned only if the request fails. For more information, see the **Error codes** section of this topic.'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** field is not returned.'."\n" + ."\n" + .'- A failed request returns the **ErrorCode** field. For more information, see the **error code** list in this article.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The swimming lane group was successfully deleted.'."\n" + ."\n" + .'- **false**: The swimming lane group was not deleted.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Resouce.no.permission', - 'errorMessage' => 'You are not authorized to operate on the specified resources.', - ], - [ - 'errorCode' => 'InvalidChangeOrder.NotFound', - 'errorMessage' => 'The current change order does not exist.', + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'MseGatewayRule.CreateFailed', 'errorMessage' => 'Create MSE Gateway rule failed.', 'description' => 'Failed to create an MSE microservices gateway route.'], + ['errorCode' => 'InternalApiError', 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteSwimmingLaneGroup', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:29.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteSwimmingLaneGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', + ], + ], + 'DeleteWebApplication' => [ + 'summary' => 'Delete a web application.', + 'path' => '/pop/v2/api/web/applications/{ApplicationId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '181737', + 'abilityTreeNodes' => ['FEATUREsaeUWY6ZL'], + ], + 'parameters' => [ + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test'], + ], + [ + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => ['description' => 'The returned message.'."\n", '$ref' => '#/components/schemas/WebApplicationBody', 'title' => '', 'example' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteWebApplication', + 'description' => 'Call the DeleteWebApplication operation to delete a web application.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:18.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Status\\": 2,\\n \\"SubStatus\\": 0,\\n \\"ApprovalId\\": \\"67de0b39-a9d4-4c09-a170-cf438208****\\",\\n \\"ErrorMessage\\": \\"success\\",\\n \\"BatchWaitTime\\": 0,\\n \\"CreateTime\\": \\"2020-12-17 21:06:45\\",\\n \\"BatchCount\\": 1,\\n \\"CoTypeCode\\": \\"CoRestartInstances\\",\\n \\"SupportRollback\\": false,\\n \\"ChangeOrderId\\": \\"765fa5c0-9ebb-4bb4-b383-1f885447**\\",\\n \\"AppName\\": \\"app-test\\",\\n \\"BatchType\\": \\"auto\\",\\n \\"Description\\": \\"description\\",\\n \\"CoType\\": \\"批量重启实例\\",\\n \\"Auto\\": true,\\n \\"CurrentPipelineId\\": \\"0e4acf82-c9b1-4c1e-ac28-55776338****\\",\\n \\"Pipelines\\": [\\n {\\n \\"Status\\": 2,\\n \\"StartTime\\": 1562831689704,\\n \\"UpdateTime\\": 1562847178007,\\n \\"BatchType\\": 0,\\n \\"ParallelCount\\": 0,\\n \\"PipelineName\\": \\"Batch 1 Change\\",\\n \\"PipelineId\\": \\"0e4acf82-c9b1-4c1e-ac28-55776338****\\"\\n }\\n ],\\n \\"AppId\\": \\"bbbbb-3fd370b2-3646-4ba6-91f9-9423e19ab0cd-*****\\",\\n \\"ApplicationUpdateStrategy\\": \\"\\",\\n \\"ApplicationEnableGreyTagRoute\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeChangeOrderResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Status>2</Status>\\n <SubStatus>0</SubStatus>\\n <ApprovalId>67de0b39-a9d4-4c09-a170-cf438208****</ApprovalId>\\n <ErrorMessage>success</ErrorMessage>\\n <BatchWaitTime>0</BatchWaitTime>\\n <CreateTime>2020-12-17 21:06:45</CreateTime>\\n <BatchCount>1</BatchCount>\\n <CoTypeCode>CoRestartInstances</CoTypeCode>\\n <SupportRollback>false</SupportRollback>\\n <ChangeOrderId>765fa5c0-9ebb-4bb4-b383-1f885447**</ChangeOrderId>\\n <AppName>app-test</AppName>\\n <BatchType>auto</BatchType>\\n <Description>description</Description>\\n <CoType>批量重启实例</CoType>\\n <Auto>true</Auto>\\n <CurrentPipelineId>0e4acf82-c9b1-4c1e-ac28-55776338****</CurrentPipelineId>\\n <Pipelines>\\n <Status>2</Status>\\n <StartTime>1562831689704</StartTime>\\n <UpdateTime>1562847178007</UpdateTime>\\n <BatchType>0</BatchType>\\n <ParallelCount>0</ParallelCount>\\n <PipelineName>Batch 1 Change</PipelineName>\\n <PipelineId>0e4acf82-c9b1-4c1e-ac28-55776338****</PipelineId>\\n </Pipelines>\\n <AppId>bbbbb-3fd370b2-3646-4ba6-91f9-9423e19ab0cd-*****</AppId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeChangeOrderResponse>","errorExample":""}]', - 'title' => 'DescribeChangeOrder', - 'summary' => 'Queries the information of a change order.', ], - 'DescribeInstanceSpecifications' => [ - 'path' => '/pop/v1/paas/quota/instanceSpecifications', - 'methods' => [ - 'get', + 'DeleteWebApplicationRevision' => [ + 'summary' => 'Delete a web application version.', + 'path' => '/pop/v2/api/web/application-revisions/{ApplicationId}/revisions/{RevisionId}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '225939', + 'abilityTreeNodes' => ['FEATUREsae37J6Z9'], ], - 'schemes' => [ - 'http', - 'https', + 'parameters' => [ + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['title' => 'namespace id', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai'], + ], + [ + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => 'application id', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '7e41aff0-9eca-45c9-ac48-675e09******'], + ], + [ + 'name' => 'RevisionId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => 'revision id', 'description' => 'The revision ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '001'], + ], + ], + 'responses' => [ + 200 => [ + 'description' => 'No Content', + 'schema' => ['description' => 'Update the information about a web application version.'."\n", '$ref' => '#/components/schemas/WebApplicationRevisionBody', 'title' => '', 'example' => ''], + 'examples' => [], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"RevisionId\\": \\"\\",\\n \\"Weight\\": 0\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteWebApplicationRevision', + 'description' => 'Delete a web application version.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:18.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteWebApplicationRevision', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DeleteWebCustomDomain' => [ + 'summary' => 'Delete a custom domain name.', + 'path' => '/pop/v2/api/web/custom-domains/{DomainName}', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], + 'tags' => [], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6337', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', + 'operationType' => 'delete', + 'abilityTreeCode' => '225941', + 'abilityTreeNodes' => ['FEATUREsae5U7VP0'], + ], + 'parameters' => [ + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai'], + ], + [ + 'name' => 'DomainName', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The custom domain name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'admin.pupumall.com'], ], ], - 'parameters' => [], 'responses' => [ 200 => [ - 'schema' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The information about the instance types.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Cpu' => [ - 'description' => 'The CPU specification of the instance type. Unit: millicore.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'Version' => [ - 'description' => 'The version number of the instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Memory' => [ - 'description' => 'The memory size of the instance type. Unit: MB.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4096', - ], - 'SpecInfo' => [ - 'description' => 'The name of the instance type.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Id' => [ - 'description' => 'The ID of the instance type.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], - 'Enable' => [ - 'description' => 'Indicates whether the instance type is available. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the instance types were queried. Valid values:'."\n" - ."\n" - .'* **true**: The instance types were queried.'."\n" - .'* **false**: The instance types failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'description' => 'No Content', + 'schema' => ['description' => 'The request body.'."\n", '$ref' => '#/components/schemas/WebCustomDomainBody', 'title' => '', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"accountId\\": \\"123xxxxxx\\",\\n \\"WebCertConfig\\": {\\n \\"CertName\\": \\"\\",\\n \\"Certificate\\": \\"\\",\\n \\"PrivateKey\\": \\"\\"\\n },\\n \\"CreatedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"DefaultForwardingAppName\\": \\"appxxxxx\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LastModifiedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"Protocol\\": \\"HTTP\\",\\n \\"WebTLSConfig\\": {\\n \\"CipherSuites\\": [\\n \\"\\"\\n ],\\n \\"MaxVersion\\": \\"\\",\\n \\"MinVersion\\": \\"\\"\\n },\\n \\"WebWAFConfig\\": {\\n \\"EnableWAF\\": true\\n },\\n \\"RouteConfig\\": {\\n \\"routes\\": [\\n {\\n \\"path\\": \\"\\",\\n \\"applicationName\\": \\"\\"\\n }\\n ]\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DeleteWebCustomDomain', + 'description' => 'Delete a custom domain name.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:17.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteWebCustomDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:namespace/{#NamespaceId}'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Cpu\\": 2000,\\n \\"Version\\": 0,\\n \\"Memory\\": 4096,\\n \\"SpecInfo\\": \\"通用型4\\",\\n \\"Id\\": 4,\\n \\"Enable\\": true\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeInstanceSpecificationsResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Cpu>2000</Cpu>\\n <Version>0</Version>\\n <Memory>4096</Memory>\\n <SpecInfo>通用型4</SpecInfo>\\n <Id>4</Id>\\n <Enable>true</Enable>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeInstanceSpecificationsResponse>","errorExample":""}]', - 'title' => 'DescribeInstanceSpecifications', - 'summary' => 'Queries all instance types.', ], 'DeployApplication' => [ 'path' => '/pop/v1/sam/app/deployApplication', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -11531,1821 +7091,2134 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '6316', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'schema' => ['description' => 'The ID of the application to deploy.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], [ 'name' => 'Jdk', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Java development kit (JDK) on which the deployment package of the application depends. The following versions are supported:'."\n" - ."\n" - .'* **Open JDK 8**'."\n" - .'* **Open JDK 7**'."\n" - .'* **Dragonwell 11**'."\n" - .'* **Dragonwell 8**'."\n" - .'* **openjdk-8u191-jdk-alpine3.9**'."\n" - .'* **openjdk-7u201-jdk-alpine3.9**'."\n" - ."\n" - .'This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open JDK 8', - ], + 'schema' => ['description' => 'The JDK version on which the deployment package depends. Valid values:'."\n" + ."\n" + .'- **Open JDK 8**'."\n" + .'- **Open JDK 7**'."\n" + .'- **Dragonwell 11**'."\n" + .'- **Dragonwell 8**'."\n" + .'- **openjdk-8u191-jdk-alpine3.9**'."\n" + .'- **openjdk-7u201-jdk-alpine3.9**'."\n" + ."\n" + .'This parameter is not supported when **Package Type** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'Open JDK 8', 'title' => ''], ], [ 'name' => 'WebContainer', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Tomcat container on which the deployment package depends. Valid values:'."\n" - ."\n" - .'* **apache-tomcat-7.0.91**'."\n" - .'* **apache-tomcat-8.5.42**'."\n" - ."\n" - .'This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'apache-tomcat-7.0.91', - ], + 'schema' => ['description' => 'The Tomcat version on which the deployment package depends. Valid values:'."\n" + ."\n" + .'- **apache-tomcat-7.0.91**'."\n" + .'- **apache-tomcat-8.5.42**'."\n" + ."\n" + .'This parameter is not supported when **Package Type** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'apache-tomcat-7.0.91', 'title' => ''], ], [ 'name' => 'PackageVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the deployment package. This parameter is required when the **PackageType** parameter is set to **FatJar**, **War**, or **PythonZip**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.1', - ], + 'schema' => ['description' => 'The version number of the deployment package. This parameter is required when **Package Type** is set to **FatJar**, **War**, or **PythonZip**.', 'type' => 'string', 'required' => false, 'example' => '1.0.1', 'title' => ''], ], [ 'name' => 'PackageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The address of the deployment package. This parameter is required when the **PackageType** parameter is set to **FatJar**, **War**, or **PythonZip**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar', - ], + 'schema' => ['description' => 'The URL of the deployment package. This parameter is required when **Package Type** is set to **FatJar**, **War**, or **PythonZip**.', 'type' => 'string', 'required' => false, 'example' => 'http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar', 'title' => ''], ], [ 'name' => 'ImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the image. This parameter is returned only if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1', - ], + 'schema' => ['description' => 'The image URL. This parameter is required when **Package Type** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1', 'title' => ''], ], [ 'name' => 'Command', 'in' => 'query', - 'schema' => [ - 'description' => 'The command that is used to start the image. The command must be an existing executable object in the container. Sample statements:'."\n" - ."\n" - .' command:'."\n" - .' - echo'."\n" - .' - abc'."\n" - .' - >'."\n" - .' - file0'."\n" - ."\n" - .'In this example, the Command parameter is set to `Command="echo", CommandArgs=["abc", ">", "file0"]`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo', - ], + 'schema' => ['description' => 'The image startup command. The command must be an executable object in the container. Example:'."\n" + ."\n" + .'```'."\n" + .'command:'."\n" + .' - echo'."\n" + .' - abc'."\n" + .' - >'."\n" + .' - file0'."\n" + .'```'."\n" + .'Based on the preceding example, `Command="echo", CommandArgs=["abc", ">", "file0"]`.', 'type' => 'string', 'required' => false, 'example' => 'echo', 'title' => ''], ], [ 'name' => 'CommandArgs', 'in' => 'query', - 'schema' => [ - 'description' => 'The parameters of the image startup command. The CommandArgs parameter specifies the parameters that are required for the **Command** parameter. You can specify the name in one of the following formats:'."\n" - ."\n" - .'`["a","b"]`'."\n" - ."\n" - .'In the preceding example, the CommandArgs parameter is set to `CommandArgs=["abc", ">", "file0"]`. The data type of `["abc", ">", "file0"]` must be an array of strings in the JSON format. This parameter is optional.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["a","b"]', - ], + 'schema' => ['description' => 'The arguments of the image startup command. These are the arguments required by the startup command specified in **Command**. Format:'."\n" + ."\n" + .'`["a","b"]`'."\n" + ."\n" + .'In the preceding example, `CommandArgs=["abc", ">", "file0"]`, where `["abc", ">", "file0"]` must be converted to a String type, and the internal format is a JSON array. If this parameter is not required, leave it empty.', 'type' => 'string', 'required' => false, 'example' => '["a","b"]', 'title' => ''], ], [ 'name' => 'Envs', 'in' => 'query', - 'schema' => [ - 'description' => 'The environment variables. You can configure custom environment variables or reference a ConfigMap. If you want to reference a ConfigMap, you must first create a ConfigMap. For more information, see [CreateConfigMap](~~176914~~). Take note of the following rules:'."\n" - ."\n" - .'* Customize'."\n" - ."\n" - .' * **name**: the name of the environment variable.'."\n" - .' * **value**: the value of the environment variable.'."\n" - ."\n" - .'* Reference ConfigMap'."\n" - ."\n" - .' * **name**: the name of the environment variable. You can reference one or all keys. If you want to reference all keys, specify `sae-sys-configmap-all-<ConfigMap name>`. Example: `sae-sys-configmap-all-test1`.'."\n" - .' * **valueFrom**: the reference of the environment variable. Set the value to `configMapRef`.'."\n" - .' * **configMapId**: the ConfigMap ID.'."\n" - .' * **key**: the key. If you want to reference all keys, do not configure this parameter.'."\n" - ."\n" - .'* Reference secret dictionary'."\n" - ."\n" - .' * **name**: the name of the environment variable. You can reference one or all keys. If you want to reference all keys, specify `sae-sys-secret-all-<Secret dictionary name>`. Example: `sae-sys-secret-all-test1`.'."\n" - .' * **valueFrom**: the reference of the environment variable. Set the value to `secretRef`.'."\n" - .' * **secretId**: the secret dictionary ID.'."\n" - .' * **key**: the key. If you want to reference all keys, do not configure this parameter.', - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"envtmp","value":"0"}]', - ], + 'schema' => ['description' => 'The container environment variable parameters. You can customize environment variables or reference ConfigMap items. To reference a ConfigMap item, create a ConfigMap instance first. For more information, see [CreateConfigMap](~~176914~~). Valid values:'."\n" + .'- Custom configuration'."\n" + .' - **name**: the name of the environment variable.'."\n" + .' - **value**: the value of the environment variable. This takes priority over valueFrom.'."\n" + .'- Reference a ConfigMap item (valueFrom)'."\n" + .' - **name**: the name of the environment variable. To reference all keys, enter `sae-sys-configmap-all-<ConfigMap name>`, such as `sae-sys-configmap-all-test1`.'."\n" + .' - **valueFrom**: the environment variable reference. Set the value to `configMapRef`.'."\n" + .' - **configMapId**: the ConfigMap ID.'."\n" + .' - **key**: the key. Do not set this field if you want to reference all keys.'."\n" + .'- Reference a secret (valueFrom)'."\n" + .' - **name**: the name of the environment variable. To reference all keys, enter `sae-sys-secret-all-<secret name>`, such as `sae-sys-secret-all-test1`.'."\n" + .' - **valueFrom**: the environment variable reference. Set the value to `secretRef`.'."\n" + .' - **secretId**: the secret ID.'."\n" + .' - **key**: the key. Do not set this field if you want to reference all keys.', 'type' => 'string', 'required' => false, 'example' => '[ { "name": "sae-sys-configmap-all-hello", "valueFrom": { "configMapRef": { "configMapId": 100, "key": "" } } }, { "name": "hello", "valueFrom": { "configMapRef": { "configMapId": 101, "key": "php-fpm" } } }, { "name": "sae-sys-secret-all-hello", "valueFrom": { “secretRef": { “secretId": 100, "key": "" } } }, { "name": “password”, "valueFrom": { “secretRef": { “secretId": 101, "key": “password” } } }, { "name": "envtmp", "value": "newenv" } ]', 'title' => ''], ], [ 'name' => 'CustomHostAlias', 'in' => 'query', - 'schema' => [ - 'description' => 'The custom mappings between hostnames and IP addresses in the container. Take note of the following rules:'."\n" - ."\n" - .'* **hostName**: the domain name or hostname.'."\n" - .'* **ip**: the IP address.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"hostName":"samplehost","ip":"127.0.0.1"}]', - ], + 'schema' => ['description' => 'The custom host mapping in the container. Valid values:'."\n" + ."\n" + .'- **hostName**: the domain name or hostname.'."\n" + .'- **ip**: the IP address.', 'type' => 'string', 'required' => false, 'example' => '[{"hostName":"samplehost","ip":"127.0.0.1"}]', 'title' => ''], ], [ 'name' => 'JarStartOptions', 'in' => 'query', - 'schema' => [ - 'description' => 'The option settings in the JAR package. The settings are used to start the application container. The default startup command for application deployment is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'custom-option', - ], + 'schema' => ['description' => 'The startup options for a JAR package-based application. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.', 'type' => 'string', 'required' => false, 'example' => 'custom-option', 'title' => ''], ], [ 'name' => 'JarStartArgs', 'in' => 'query', - 'schema' => [ - 'description' => 'The arguments in the JAR package. The arguments are used to start the application container. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-Xms4G -Xmx4G', - ], + 'schema' => ['description' => 'The startup arguments for a JAR package-based application. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.', 'type' => 'string', 'required' => false, 'example' => '-Xms4G -Xmx4G', 'title' => ''], ], [ 'name' => 'Liveness', 'in' => 'query', - 'schema' => [ - 'description' => 'The details of the availability check that was performed on the container. If the container fails this health check multiple times, the system disables and restarts the container. You can use one of the following methods to perform the health check:'."\n" - ."\n" - .'* Example of **exec**: `{"exec":{"command":\\["sh","-c","cat/home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}`'."\n" - .'* Sample code of the **httpGet** method: `{"httpGet":{"path":"/","port":18091,"scheme":"HTTP","isContainKeyWord":true,"keyWord":"SAE"},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" - .'* Sample code of the **tcpSocket** method: `{"tcpSocket":{"port":18091},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" - ."\n" - .'> You can use only one method to perform the health check.'."\n" - ."\n" - .'The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **exec.command**: the health check command.'."\n" - .'* **httpGet.path**: the request path.'."\n" - .'* **httpGet.scheme**: the protocol that is used to perform the health check. Valid values: **HTTP** and **HTTPS**.'."\n" - .'* **httpGet.isContainKeyWord**: indicates whether the response contains keywords. Valid values: **true** and **false**. If this field is not returned, the advanced settings are not used.'."\n" - .'* **httpGet.keyWord**: the custom keyword. This parameter is available only if the **isContainKeyWord** field is returned.'."\n" - .'* **tcpSocket.port**: the port that is used to check the status of TCP connections.'."\n" - .'* **initialDelaySeconds**: the delay of the health check. Default value: 10. Unit: seconds.'."\n" - .'* **periodSeconds**: the interval at which health checks are performed. Default value: 30. Unit: seconds.'."\n" - .'* **timeoutSeconds**: the timeout period of the health check. Default value: 1. Unit: seconds. If you set this parameter to 0 or leave this parameter empty, the timeout period is automatically set to 1 second.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sleep","5s"]},"initialDelaySeconds":10,"timeoutSeconds":11}', - ], + 'schema' => ['description' => 'The container health check. Containers that fail the health check are shutdown and recovered. The following methods are supported:'."\n" + ."\n" + .'- **exec**: for example, `{"exec":{"command":\\["sh","-c","cat/home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}`'."\n" + .'- **httpGet**: for example, `{"httpGet":{"path":"/","port":18091,"scheme":"HTTP","isContainKeyWord":true,"keyWord":"SAE"},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" + .'- **tcpSocket**: for example, `{"tcpSocket":{"port":18091},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" + ."\n" + .'> Only one method can be selected for health checks.'."\n" + ."\n" + .'Settings:'."\n" + ."\n" + .'- **exec.command**: sets the health check command.'."\n" + .'- **httpGet.path**: the access path.'."\n" + .'- **httpGet.scheme**: **HTTP** or **HTTPS**.'."\n" + .'- **httpGet.isContainKeyWord**: **true** indicates that the keyword is included, **false** indicates that the keyword is not included, and the absence of this field indicates that the advanced feature is not used.'."\n" + .'- **httpGet.keyWord**: the custom keyword. The **isContainKeyWord** field must be present when this parameter is used.'."\n" + .'- **tcpSocket.port**: the port for TCP connection detection.'."\n" + .'- **initialDelaySeconds**: sets the initial delay for the health check. Default value: 10. Unit: seconds.'."\n" + .'- **periodSeconds**: sets the health check epoch. Default value: 30. Unit: seconds.'."\n" + .'- **timeoutSeconds**: sets the health check timeout period. Default value: 1. Unit: seconds. If this parameter is set to 0 or is not set, the default timeout period is 1 second.', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sleep","5s"]},"initialDelaySeconds":10,"timeoutSeconds":11}', 'title' => ''], ], [ 'name' => 'Readiness', 'in' => 'query', - 'schema' => [ - 'description' => 'The details of the health check that was performed on the container. If the container fails this health check multiple times, the system disables and restarts the container. Containers that fail health checks cannot receive traffic from Server Load Balancer (SLB) instances. You can use the **exec**, **httpGet**, or **tcpSocket** method to perform health checks. For more information, see the description of the **Liveness** parameter.'."\n" - ."\n" - .'> You can use only one method to perform the health check.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sleep","6s"]},"initialDelaySeconds":15,"timeoutSeconds":12}', - ], + 'schema' => ['description' => 'The application startup status check. Containers that fail multiple health checks are shut down and restarted. Containers that do not pass the health check do not receive SLB traffic. The **exec**, **httpGet**, and **tcpSocket** methods are supported. For specific examples, see the **Liveness** parameter.'."\n" + ."\n" + .'> Only one method can be selected for health checks.', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sleep","6s"]},"initialDelaySeconds":15,"timeoutSeconds":12}', 'title' => ''], ], [ 'name' => 'MinReadyInstances', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of available instances. Special values:'."\n" - ."\n" - .'* If you set the value to **0**, business interruptions occur when the application is updated.'."\n" - .'* If you set the value to \\*\\*-1\\*\\*, the minimum number of available instances is automatically set to a system-recommended value. The value is the nearest integer to which the calculated result of the following formula is rounded up: Current number of instances × 25%. For example, if five instances are available, the minimum number of available instances is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.'."\n" - ."\n" - .'> Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The minimum number of available instances. Valid values:'."\n" + ."\n" + .'- If this parameter is set to **0**, service is interrupted during the upgrade.'."\n" + .'- If this parameter is set to **-1**, the system-recommended value is used, which is 25% of the current number of instances. If the current number of instances is 5, 5 × 25% = 1.25, which is rounded up to 2.'."\n" + ."\n" + .'> The minimum number of available instances for each rolling deployment should be ≥ 1 to prevent service interruption.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'MinReadyInstanceRatio', 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of the minimum number of available instances. Take note of the following rules:'."\n" - ."\n" - .'* If you set the value to **-1**, the minimum number of available instances is not determined based on this parameter. Default value: -1.'."\n" - .'* If you set the value to a number **from 0 to 100**, the minimum number of available instances is calculated by using the following formula: Current number of instances × (Value of MinReadyInstanceRatio × 100%). The value is the nearest integer rounded up from the calculated result. For example, if the percentage is set to **50**% and five instances are available, the minimum number of available instances is 3.'."\n" - ."\n" - .'> When both **MinReadyInstance** and **MinReadyInstanceRatio** are specified and **MinReadyInstanceRatio** is set to a number from 0 to 100, the value of **MinReadyInstanceRatio**** takes precedence. For example, if **MinReadyInstances** is set to **5, and **MinReadyInstanceRatio** is set to **50**, the minimum number of available instances is set to the nearest integer rounded up from the calculated result of the following formula: Current number of instances × **50%**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '-1', - ], + 'schema' => ['description' => 'The minimum percentage of available instances. Valid values:'."\n" + ."\n" + .' - **-1**: the initialization value, which indicates that the percentage is not used.'."\n" + .' - **0~100**: the unit is percentage, rounded up. For example, if this parameter is set to **50**% and the current number of instances is 5, the minimum number of available instances is 3.'."\n" + ."\n" + .'> When both **MinReadyInstance** and **MinReadyInstanceRatio** are specified and the value of **MinReadyInstanceRatio** is not **-1**, the **MinReadyInstanceRatio** parameter takes precedence. For example, if **MinReadyInstances** is set to **5** and **MinReadyInstanceRatio** is set to **50**, the value **50** is used to calculate the minimum number of available instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-1', 'title' => ''], ], [ 'name' => 'BatchWaitTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The interval between batches during a batch release. Unit: minutes.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The interval between deployment batches. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'EdasContainerVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the container, such as Ali-Tomcat, in which an application developed based on High-speed Service Framework (HSF) is deployed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3.5.3', - ], + 'schema' => ['description' => 'The version of the application runtime environment in the HSF framework, such as the Ali-Tomcat container.', 'type' => 'string', 'required' => false, 'example' => '3.5.3', 'title' => ''], ], [ 'name' => 'UpdateStrategy', 'in' => 'query', - 'schema' => [ - 'description' => 'The deployment policy. If the minimum number of available instances is 1, the value of the **UpdateStrategy** parameter is an empty string (""). If the minimum number of available instances is greater than 1, the following strategies can be configured:'."\n" - ."\n" - .'* The application is deployed on an instance. The remaining instances are automatically classified into two release batches whose interval is set to 1. In this case, the parameter is set to `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}`.'."\n" - .'* The application is deployed on an instance. The remaining instances are manually classified into two release batches. In this case, the parameter is set to `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}`.'."\n" - .'* All instances are automatically classified into two release batches. The application is deployed on the instances of the two batches in parallel. In this case, the parameter is set to `{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}`'."\n" - ."\n" - .'The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **type**: the type of the release policy. Valid values: **GrayBatchUpdate** and **BatchUpdate**.'."\n" - ."\n" - .'* **batchUpdate**: the phased release policy.'."\n" - ."\n" - .' * **batch**: the number of release batches.'."\n" - .' * **releaseType**: the processing method for the batches. Valid values: **auto** and **manual**.'."\n" - .' * **batchWaitTime**: the interval between release batches. Unit: seconds.'."\n" - ."\n" - .'* **grayUpdate**: the number of release batches in the phased release after a canary release. This parameter is returned only if the **type** parameter is set to **GrayBatchUpdate**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}', - ], + 'schema' => ['description' => 'The deployment policy. When the minimum number of available instances is 1, the value of the **UpdateStrategy** field is "". When the minimum number of available instances is greater than 1, examples are as follows:'."\n" + .' '."\n" + .' - Grayscale 1 instance + 2 subsequent batches + automatic batching + 1-minute batch interval: `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}`'."\n" + .' - Grayscale 1 instance + 2 subsequent batches + manual batching: `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}`'."\n" + .' - 2 batches + automatic batching + 0-minute batch interval: `{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}`'."\n" + ."\n" + .'Settings:'."\n" + .' - **type**: the publish policy type. Valid values: **GrayBatchUpdate** (grayscale publish) and **BatchUpdate** (batch publish).'."\n" + .' - **batchUpdate**: the batch publish policy.'."\n" + .' - **batch**: the number of publish batches.'."\n" + .' - **releaseType**: the processing method between batches. Valid values: **auto** (automatic) and **manual** (manual).'."\n" + .' - **batchWaitTime**: the interval between batches. Unit: minutes.'."\n" + ."\n" + .' - **grayUpdate**: the number of grayscale instances. This parameter is required when **type** is set to **GrayBatchUpdate**.', 'type' => 'string', 'required' => false, 'example' => '{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}', 'title' => ''], ], [ 'name' => 'SlsConfigs', 'in' => 'query', - 'schema' => [ - 'description' => 'The logging configurations of Log Service.'."\n" - ."\n" - .'* To use Log Service resources that are automatically created by SAE, set this parameter to `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" - .'* To use custom Log Service resources, set this parameter to `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" - ."\n" - .'The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **projectName**: the name of the Log Service project.'."\n" - .'* **logDir**: the path in which logs are stored.'."\n" - .'* **logType**: the log type. **stdout**: the standard output log of the container. You can specify only one stdout value for this parameter. If you leave this parameter empty, file logs are collected.'."\n" - .'* **logstoreName**: the name of the Logstore in Log Service.'."\n" - .'* **logtailName**: the name of the Logtail configuration in Log Service. If you do not configure this parameter, a new Logtail configuration is created.'."\n" - ."\n" - .'If you do not need to modify the logging configurations when you deploy the application, configure the **SlsConfigs** parameter only in the first request. You do not need to include this parameter in subsequent requests. If you no longer need to use Log Service, leave the **SlsConfigs** parameter empty in the request.'."\n" - ."\n" - .'> A Log Service project that is automatically created by SAE when you create an application is deleted when the application is deleted. Therefore, when you create an application, you cannot select a Log Service project that is automatically created by SAE for log collection.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', - ], + 'schema' => ['description' => 'The configuration for log collection to Simple Log Service.'."\n" + ."\n" + .'- Use SLS resources automatically created by Serverless App Engine: `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" + .'- Use custom SLS resources: `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" + ."\n" + .'Settings:'."\n" + ."\n" + .'- **projectName**: the name of the project in Simple Log Service. '."\n" + .'- **logDir**: the log path.'."\n" + .'- **logType**: the log type. **stdout** indicates container standard output logs, and only one entry can be set. If this parameter is not set, file logs are collected.'."\n" + .'- **logstoreName**: the name of the Logstore in Simple Log Service.'."\n" + .'- **logtailName**: the name of the Logtail in Simple Log Service. If this parameter is not specified, a new Logtail is created by automatic creation.'."\n" + ."\n" + .'If the SLS collection configuration has not changed during multiple deployments, you do not need to set this parameter (that is, the **SlsConfigs** field does not need to be included in the request). If you no longer need the SLS collection feature, set the value of this field to an empty string (that is, set the value of the **SlsConfigs** field to "" in the request).'."\n" + ."\n" + .'> A project that is automatically created with the application is deleted when the application is deleted. Therefore, do not select a project that is automatically created by Serverless App Engine when selecting an existing project.', 'type' => 'string', 'required' => false, 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', 'title' => ''], ], [ 'name' => 'Timezone', 'in' => 'query', - 'schema' => [ - 'description' => 'The time zone. Default value: **Asia/Shanghai**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Asia/Shanghai', - ], + 'schema' => ['description' => 'The time zone. Default value: **Asia/Shanghai**.', 'type' => 'string', 'required' => false, 'example' => 'Asia/Shanghai', 'title' => ''], ], [ 'name' => 'NasId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the File Storage NAS file system. After the application is created, you may want to call other operations to manage the application. If you do not want to change the NAS configurations in these subsequent operations, you can omit the **NasId** parameter in the requests. If you want to unmount the NAS file system, you must set the **NasId** values in the subsequent requests to an empty string ("").', - 'type' => 'string', - 'required' => false, - 'example' => '10d3b4****', - ], + 'schema' => ['description' => 'We do not recommend that you configure this field. Configure **NasConfigs** instead. The ID of the NAS file system. If the configuration has not changed during deployment, you do not need to set this parameter (that is, the **NasId** field does not need to be included in the request). To clear the NAS configuration, set the value of this field to an empty string (that is, set the value of the **NasId** field to "" in the request).', 'type' => 'string', 'required' => false, 'example' => '10d3b4****', 'title' => ''], ], [ 'name' => 'MountHost', 'in' => 'query', - 'schema' => [ - 'description' => 'The mount target of the NAS file system in the VPC where the application is deployed. If you do not need to modify this configuration during the deployment, configure the **MountHost** parameter only in the first request. You do not need to include this parameter in subsequent requests. If you need to remove this configuration, leave the **MountHost** parameter empty in the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10d3b4bc9****.com', - ], + 'schema' => ['description' => 'We do not recommend that you configure this field. Configure **NasConfigs** instead. The mount point of the NAS file system in the VPC of the application. If the configuration has not changed during deployment, you do not need to set this parameter (that is, the **MountHost** field does not need to be included in the request). To clear the NAS configuration, set the value of this field to an empty string (that is, set the value of the **MountHost** field to "" in the request).', 'type' => 'string', 'required' => false, 'example' => '10d3b4bc9****.com', 'title' => ''], ], [ 'name' => 'MountDesc', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations for mounting the NAS file system. After the application is created, you may want to call other operations to manage the application. If you do not want to change the NAS configurations in these subsequent operations, you can omit the **MountDesc** parameter in the requests. If you want to unmount the NAS file system, you must set the **MountDesc** values in the subsequent requests to an empty string ("").'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{mountPath: "/tmp", nasPath: "/"}]', - ], + 'schema' => ['description' => 'We do not recommend that you configure this field. Configure **NasConfigs** instead. The NAS mount description. If the configuration has not changed during deployment, you do not need to set this parameter (that is, the **MountDesc** field does not need to be included in the request). To clear the NAS configuration, set the value of this field to an empty string (that is, set the value of the **MountDesc** field to "" in the request).', 'type' => 'string', 'required' => false, 'example' => '[{mountPath: "/tmp", nasPath: "/"}]', 'title' => ''], ], [ 'name' => 'PostStart', 'in' => 'query', - 'schema' => [ - 'description' => 'The script that is run immediately after the container is started. Example: `{"exec":{"command":\\["sh","-c","echo hello"\\]}}`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', - ], + 'schema' => ['description' => 'The script that is run after the container starts. A script is triggered immediately after the container is created. Format: `{"exec":{"command":\\["sh","-c","echo hello"\\]}}`.', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', 'title' => ''], ], [ 'name' => 'PreStop', 'in' => 'query', - 'schema' => [ - 'description' => 'The script that is run before the container is stopped. Example: `{"exec":{"command":\\["sh","-c","echo hello"\\]}}`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', - ], + 'schema' => ['description' => 'The script that is run before the container stops. A script is triggered before the container is deleted. Format: `{"exec":{"command":\\["sh","-c","echo hello"\\]}}`.', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', 'title' => ''], ], [ 'name' => 'ChangeOrderDesc', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the change order.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Start the application'."\n", - ], + 'schema' => ['description' => 'The description of the change order.', 'type' => 'string', 'required' => false, 'example' => 'Start application', 'title' => ''], ], [ 'name' => 'WarStartOptions', 'in' => 'query', - 'schema' => [ - 'description' => 'The startup command of the WAR package. For information about how to configure the startup command, see [Configure startup commands](~~96677~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CATALINA_OPTS=\\"$CATALINA_OPTS $Options\\" catalina.sh run', - ], + 'schema' => ['description' => 'The startup command for deploying a WAR package-based application. The configuration procedure is the same as that for the startup command of an image-based deployment. For more information, see [Configure a startup command](~~96677~~).', 'type' => 'string', 'required' => false, 'example' => 'CATALINA_OPTS=\\"$CATALINA_OPTS $Options\\" catalina.sh run', 'title' => ''], ], [ 'name' => 'AutoEnableApplicationScalingRule', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically enable an auto scaling policy for the application. Take note of the following rules:'."\n" - ."\n" - .'* **true**: turns on Logon-free Sharing'."\n" - .'* **false**: turns off Logon-free Sharing'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to automatically enable the application elastic scaling policy. Valid values:'."\n" + .'- **true**: enabled.'."\n" + .'- **false**: disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'ConfigMapMountDesc', 'in' => 'formData', - 'schema' => [ - 'description' => 'The description of the **ConfigMap** instance mounted to the application. Use configurations created on the Configuration Items page to configure containers. The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **congfigMapId**: the ID of the ConfigMap instance. You can call the [ListNamespacedConfigMaps](~~176917~~) operation to obtain the ID.'."\n" - .'* **key**: the key.'."\n" - ."\n" - .'> You can use `sae-sys-configmap-all` to mount all keys.'."\n" - ."\n" - .'* **mountPath**: the mount path in the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"configMapId":16,"key":"test","mountPath":"/tmp"}]', - ], + 'schema' => ['description' => 'The **ConfigMap** mount description. Use a ConfigMap created on the namespace configuration items page to inject configuration information into the container. Settings:'."\n" + ."\n" + .'- **configMapId**: the ConfigMap instance ID. You can obtain it by calling the [ListNamespacedConfigMaps](~~176917~~) operation.'."\n" + .'- **key**: the key.'."\n" + ."\n" + .'> You can mount all keys by passing the `sae-sys-configmap-all` parameter.'."\n" + ."\n" + .'- **mountPath**: the mount path.', 'type' => 'string', 'required' => false, 'example' => '[{"configMapId":16,"key":"test","mountPath":"/tmp"}]', 'title' => ''], ], [ 'name' => 'TerminationGracePeriodSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for a graceful shutdown. Default value: 30. Unit: seconds. Valid values: 1 to 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '6000', - 'minimum' => '0', - 'example' => '10', - 'default' => '30', - ], + 'schema' => ['description' => 'The graceful shutdown timeout period. Default value: 30. Unit: seconds. Valid values: 1 to 300.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '6000', 'minimum' => '0', 'default' => '30', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'EnableAhas', 'in' => 'query', - 'schema' => [ - 'description' => 'Indicates whether access to Application High Availability Service (AHAS) is enabled. Take note of the following rules:'."\n" - ."\n" - .'* **true**: Access to AHAS is enabled.'."\n" - .'* **false**: Access to AHAS is disabled.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to enable Application High Availability Service (AHAS). Valid values:'."\n" + ."\n" + .'- **true**: enables AHAS.'."\n" + .'- **false**: does not enable AHAS.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'PhpArmsConfigLocation', 'in' => 'query', - 'schema' => [ - 'description' => 'The path on which the PHP configuration file for application monitoring is mounted. Make sure that the PHP server loads the configuration file. SAE automatically generates the corresponding configuration file. No manual operations are required.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/etc/php/conf.d/arms.ini', - ], + 'schema' => ['description' => 'The mount path for PHP application monitoring. Ensure that the PHP server loads the configuration file from this path. You do not need to manage the configuration content because Serverless App Engine automatically renders the correct configuration file.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/etc/php/conf.d/arms.ini', 'title' => ''], ], [ 'name' => 'PhpConfigLocation', 'in' => 'query', - 'schema' => [ - 'description' => 'The path on which the PHP configuration file for application startup is mounted. Make sure that the PHP server uses this configuration file during the startup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/etc/php/php.ini', - ], + 'schema' => ['description' => 'The mount path for the PHP application startup configuration. Ensure that the PHP server uses this configuration file for startup.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/etc/php/php.ini', 'title' => ''], ], [ 'name' => 'PhpConfig', 'in' => 'formData', - 'schema' => [ - 'description' => 'The details of the PHP configuration file.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'k1=v1', - ], + 'schema' => ['description' => 'The content of the PHP configuration file.', 'type' => 'string', 'required' => false, 'example' => 'k1=v1', 'title' => ''], ], [ 'name' => 'TomcatConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The Tomcat configuration. If you want to cancel this configuration, set this parameter to "" or "{}". The following variables are included in the configuration: Take note of the following rules:'."\n" - ."\n" - .'* **port**: the port number. The port number ranges from 1024 to 65535. Though the admin permissions are configured for the container, the root permissions are required to perform operations on ports whose number is smaller than 1024. Enter a value that ranges from 1025 to 65535 because the container has only the admin permissions. If you do not specify this parameter, the default port number 8080 is used.'."\n" - .'* **contextPath**: the path. Default value: /. This value indicates the root directory.'."\n" - .'* **maxThreads**: the maximum number of connections in the connection pool. Default value: 400.'."\n" - .'* **uriEncoding**: the URI encoding scheme in the Tomcat container. Valid values: UTF-8, ISO-8859-1, GBK, and GB2312.************ If you do not specify this parameter, the default value **ISO-8859-1** is used.'."\n" - .'* **useBodyEncoding**: specifies whether to use the encoding scheme specified in the request body for URI query parameters. Default value: true.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', - ], + 'schema' => ['description' => 'The Tomcat configuration. Set this parameter to "" or "{}" to delete the configuration. Valid values:'."\n" + ."\n" + .'- **port**: the port number. Valid values: 1024 to 65535. Ports smaller than 1024 require root permissions. Because the container is configured with admin permissions, specify a port greater than 1024. Default value: 8080.'."\n" + .'- **contextPath**: the access path. Default value: root directory "/".'."\n" + .'- **maxThreads**: the connection pool size. Default value: 400.'."\n" + .'- **uriEncoding**: the encoding format of Tomcat. Valid values: **UTF-8**, **ISO-8859-1**, **GBK**, and **GB2312**. Default value: **ISO-8859-1**.'."\n" + .'- **useBodyEncodingForUri**: specifies whether to use **BodyEncoding for URL**. Default value: **true**.', 'type' => 'string', 'required' => false, 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', 'title' => ''], ], [ 'name' => 'OssMountDescs', 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS挂载描述信息', - 'description' => 'Information of the Object Storage Service (OSS) bucket mounted to the application. The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **bucketName**: the name of the OSS bucket.'."\n" - ."\n" - .'* **bucketPath**: the directory or object in OSS. If the specified directory or object does not exist, an error is returned.'."\n" - ."\n" - .'* **mountPath**: the directory of the container in SAE. If the path already exists, the newly specified path overwrites the previous one. If the path does not exist, it is created.'."\n" - ."\n" - .'* **readOnly**: specifies whether to only allow the container path to read data from the OSS directory. Valid values:'."\n" - ."\n" - .' * **true**: The container path only has read permission on the OSS directory.'."\n" - .' * **false**: The application has read and write permissions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]', - ], + 'schema' => ['title' => '', 'description' => 'The OSS mount description. Parameter settings:'."\n" + ."\n" + .'- **bucketName**: the bucket name.'."\n" + .'- **bucketPath**: the folder or object that you created in OSS. If the OSS mount folder does not exist, an exception is triggered.'."\n" + .'- **mountPath**: the container path in Serverless App Engine. If the path already exists, it is an overwrite relationship. If the path does not exist, it is created.'."\n" + .'- **readOnly**: specifies whether the container path has read-only permission on the mounted folder resources. Valid values:'."\n" + .' - **true**: read-only permission.'."\n" + .' - **false**: read and write permission.', 'type' => 'string', 'example' => '[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]', 'required' => false], ], [ 'name' => 'OssAkId', 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS使用的AKID', - 'description' => 'The AccessKey ID that is used to read data from and write data to Object Storage Service (OSS) buckets.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', - ], + 'schema' => ['title' => '', 'description' => 'The AccessKey ID for OSS read and write operations.', 'type' => 'string', 'example' => 'xxxxxx', 'required' => false], ], [ 'name' => 'OssAkSecret', 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS AKID对应的secret', - 'description' => 'The AccessKey secret that is used to read data from and write data to OSS buckets.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', - ], + 'schema' => ['title' => '', 'description' => 'The AccessKey Secret for OSS read and write operations.', 'type' => 'string', 'example' => 'xxxxxx', 'required' => false], ], [ 'name' => 'EnableGreyTagRoute', 'in' => 'query', - 'schema' => [ - 'title' => '是否开启发布流量灰度规则', - 'description' => 'Indicates whether canary release rules are enabled. Canary release rules apply only to applications in Spring Cloud and Dubbo frameworks. Take note of the following rules:'."\n" - ."\n" - .'* **true**: The canary release rules are enabled.'."\n" - .'* **false**: The canary release rules are disabled.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['title' => '', 'description' => 'Specifies whether to enable traffic canary release rules. This rule applies only to applications that use the Spring Cloud or Dubbo framework. Valid values:'."\n" + ."\n" + .'- **true**: enables canary release rules.'."\n" + .'- **false**: disables canary release rules.', 'type' => 'boolean', 'example' => 'false', 'required' => false], ], [ 'name' => 'Php', 'in' => 'formData', - 'schema' => [ - 'title' => 'PHP部署包依赖的PHP版本。镜像不支持', - 'description' => 'The dependent PHP version of PHP package. Image is not supported.', - 'type' => 'string', - 'required' => false, - 'example' => 'PHP-FPM 7.0', - ], + 'schema' => ['title' => '', 'description' => 'The PHP version on which the deployment package depends. Not supported for images.', 'type' => 'string', 'example' => 'PHP-FPM 7.0', 'required' => false], ], [ 'name' => 'AcrInstanceId', 'in' => 'formData', - 'schema' => [ - 'title' => 'ACR 企业版实例 ID', - 'description' => 'The ID of Container Registry Enterprise Edition instance N. This parameter is required when the **ImageUrl** parameter is set to the URL of an image in an ACR Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cri-xxxxxx', - ], + 'schema' => ['title' => '', 'description' => 'The Container Registry Enterprise instance ID. This parameter is required when **ImageUrl** is set to a Container Registry Enterprise instance image.', 'type' => 'string', 'example' => 'cri-xxxxxx', 'required' => false], ], [ 'name' => 'AcrAssumeRoleArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) required for a RAM role to obtain images across accounts. For more information, see [Grant permissions across Alibaba Cloud accounts by using a RAM role](~~223585~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::123456789012****:role/adminrole', - ], + 'schema' => ['description' => 'The ARN of the RAM role required for cross-account image pulling. For more information, see [Grant permissions across Alibaba Cloud accounts by using a RAM role](~~223585~~).', 'type' => 'string', 'required' => false, 'example' => 'acs:ram::123456789012****:role/adminrole', 'title' => ''], ], [ 'name' => 'ImagePullSecrets', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the corresponding Secret.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The corresponding secret ID.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'AssociateEip', 'in' => 'formData', - 'schema' => [ - 'title' => '是否绑定EIP', - 'description' => 'Specifies whether to associate an EIP with the node pool. Take note of the following rules:'."\n" - ."\n" - .'* **true**: The EIP is associated with the application instance.'."\n" - .'* **false**: The EIP is not associated with the application instance.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['title' => '', 'description' => 'Specifies whether to associate an elastic IP address (EIP). Valid values:'."\n" + ."\n" + .'- **true**: associates an EIP.'."\n" + .'- **false**: does not associate an EIP.', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ 'name' => 'KafkaConfigs', 'in' => 'query', - 'schema' => [ - 'description' => 'The logging configurations of Message Queue for Apache Kafka. Take note of the following rules:'."\n" - ."\n" - .'* **kafkaEndpoint**: the endpoint of the Message Queue for Apache Kafka API.'."\n" - .'* **kafkaInstanceId**: the ID of the Message Queue for Apache Kafka instance.'."\n" - .'* **kafkaConfigs**: One or more logging configurations of Message Queue for Apache Kafka. For information about sample values and parameters, see the request parameter **KafkaLogfileConfig** in this topic.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"kafkaEndpoint":"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX\\","kafkaInstanceId":"alikafka_pre-cn-7pp2l8kr****","kafkaConfigs":[{"logType":"file_log","logDir":"/tmp/a.log","kafkaTopic":"test2"},{"logType":"stdout","logDir":"","kafkaTopic":"test"}]}', - ], + 'schema' => ['description' => 'The summary of log collection configurations for Kafka. Valid values:'."\n" + ."\n" + .'- **kafkaEndpoint**: the endpoint of the Kafka API.'."\n" + .'- **kafkaInstanceId**: the Kafka instance ID.'."\n" + .'- **kafkaConfigs**: the configuration summary for one or more log entries. For example values and parameter descriptions, see the **kafkaConfigs** request parameter in this topic.', 'type' => 'string', 'required' => false, 'example' => '{"kafkaEndpoint":"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX","kafkaInstanceId":"alikafka_pre-cn-7pp2l8kr****","kafkaConfigs":[{"logType":"file_log","logDir":"/tmp/a.log","kafkaTopic":"test2"},{"logType":"stdout","logDir":"","kafkaTopic":"test"}]}', 'title' => ''], ], [ 'name' => 'PvtzDiscoverySvc', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations of Kubernetes Service-based service registration and discovery. Take note of the following rules:'."\n" - ."\n" - .'* **serviceName**: the name of the Alibaba Cloud service. Format: `<Custom content>-<Namespace ID>`. `-<Namespace ID>` is automatically specified based on the namespace in which an application resides and cannot be changed. For example, if you select the default namespace in the China (Beijing) region, `-cn-beijing-default` is automatically specified.'."\n" - .'* **namespaceId**: the namespace ID.'."\n" - .'* **portAndProtocol**: the port number and protocol. Valid values of the port number: 1 to 65535. Valid values of the protocol: **TCP** and **UDP**.'."\n" - .'* **enable**: enables the Kubernetes Service-based registration and discovery feature.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"serviceName":"bwm-poc-sc-gateway-cn-beijing-front","namespaceId":"cn-beijing:front","portAndProtocol":{"18012":"TCP"},"enable":true}', - ], + 'schema' => ['description' => 'Enables K8s Service-based service registration and discovery. Valid values:'."\n" + ."\n" + .'- **portProtocols**: the port and protocol. Valid port values: \\[1,65535]. Valid protocol values: **TCP** and **UDP**.'."\n" + .'- **portAndProtocol**: the port and protocol. Valid port values: \\[1,65535]. Valid protocol values: **TCP** and **UDP**. **portProtocols is recommended. If portProtocols is set, only portProtocols takes effect**.'."\n" + .'- **enable**: enables K8s Service-based service registration and discovery.', 'type' => 'string', 'required' => false, 'example' => '{"portProtocols":[{"port":18012,"protocol":"TCP"}],"portAndProtocol":{"18012":"TCP"},"enable":true}', 'title' => ''], ], [ 'name' => 'SwimlanePvtzDiscoverySvc', 'in' => 'formData', - 'schema' => [ - 'description' => 'Configure K8s Service-based Service Registration/Discovery and Full-Chain Grayscale Capabilities'."\n" - ."\n" - .'- enable: Whether to enable full-link grayscale based on K8s Service (set to "true" to enable; set to "false" to disable).'."\n" - ."\n" - .'- namespaceId: Namespace ID'."\n" - ."\n" - .'- portAndProtocol: Listener port and protocol. Format: {"Port:Protocol Type":"Container Port"}'."\n" - .'- portProtocols: Define service ports and protocols'."\n" - .'port: Port'."\n" - .'protocol: Protocol'."\n" - .'targetPort: Container port'."\n" - ."\n" - .'- pvtzDiscoveryName: Service discovery name'."\n" - ."\n" - .'- serviceId: Service ID'."\n" - ."\n" - .'- serviceName: Service name', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"enable\\":\\"false\\",\\"namespaceId\\":\\"cn-beijing:test\\",\\"portAndProtocol\\":{\\"2000:TCP\\":\\"18081\\"},\\"portProtocols\\":[{\\"port\\":2000,\\"protocol\\":\\"TCP\\",\\"targetPort\\":18081}],\\"pvtzDiscoveryName\\":\\"cn-beijing-1421801774382676\\",\\"serviceId\\":\\"3513\\",\\"serviceName\\":\\"demo-gray.test\\"}', - ], + 'schema' => ['description' => 'Configures K8s Service-based service registration and discovery with end-to-end canary release:'."\n" + ."\n" + .'- enable: specifies whether to enable end-to-end canary release based on K8s Service.'."\n" + .' - true: enabled.'."\n" + .' - false: disabled.'."\n" + .'- namespaceId: the namespace ID.'."\n" + .'- portAndProtocol: the listening port and protocol. Format: {"port:protocol type":"container port"}.'."\n" + .'- portProtocols: defines the service port and protocol.'."\n" + .' - port: the port.'."\n" + .' - protocol: the protocol.'."\n" + .' - targetPort: the container port.'."\n" + .'- pvtzDiscoveryName: the service discovery name.'."\n" + .'- serviceId: the service ID.'."\n" + .'- serviceName: the service name.', 'type' => 'string', 'required' => false, 'example' => '{\\"enable\\":\\"false\\",\\"namespaceId\\":\\"cn-beijing:test\\",\\"portAndProtocol\\":{\\"2000:TCP\\":\\"18081\\"},\\"portProtocols\\":[{\\"port\\":2000,\\"protocol\\":\\"TCP\\",\\"targetPort\\":18081}],\\"pvtzDiscoveryName\\":\\"cn-beijing-1421801774382676\\",\\"serviceId\\":\\"3513\\",\\"serviceName\\":\\"demo-gray.test\\"}', 'title' => ''], ], [ 'name' => 'MicroRegistration', 'in' => 'query', - 'schema' => [ - 'description' => 'The Nacos registry. Valid values:'."\n" - ."\n" - .'* **0**: SAE built-in Nacos registry'."\n" - .'* **1**: self-managed Nacos registry'."\n" - .'* **2** : MSE Nacos registry'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '"0"', - ], + 'schema' => ['description' => 'Specifies the Nacos registry. Valid values:'."\n" + .'- **0**: Serverless App Engine built-in Nacos.'."\n" + .'- **1**: self-managed Nacos.'."\n" + .'- **2**: Microservices Engine (MSE) commercial edition Nacos.'."\n" + ."\n" + .'> If you select Serverless App Engine built-in Nacos, you cannot obtain the configuration of the built-in Nacos.', 'type' => 'string', 'required' => false, 'example' => '"0"', 'title' => ''], ], [ 'name' => 'MicroRegistrationConfig', 'in' => 'formData', - 'schema' => [ - 'title' => '注册中心配置,仅在注册中心类型为MSE Nacos企业版时生效', - 'description' => 'Select the edition of Nacos.'."\n" - ."\n" - .'- 0: SAE built-in Nacos. Unable to get the configuration of SAE built-in Nacos.'."\n" - ."\n" - .'- 1: Self-built Nacos from users.'."\n" - ."\n" - .'- 2: MSE enterprise Nacos.', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"instanceId\\":\\"mse-cn-zvp2bh6h70r\\",\\"namespace\\":\\"4c0aa74f-57cb-423c-b6af-5d9f2d0e3dbd\\"}', - ], + 'schema' => ['title' => '', 'description' => 'The registry configuration, which takes effect only when the registry type is MSE Nacos Enterprise Edition.', 'type' => 'string', 'required' => false, 'example' => '{\\"instanceId\\":\\"mse-cn-zvp2bh6h70r\\",\\"namespace\\":\\"4c0aa74f-57cb-423c-b6af-5d9f2d0e3dbd\\"}'], ], [ 'name' => 'NasConfigs', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations of mounting the NAS file system. Take note of the following rules:'."\n" - ."\n" - .'* **mountPath**: the mount path of the container.'."\n" - .'* **readOnly**: If you set the value to **false**, the application has the read and write permissions.'."\n" - .'* **nasId**: the ID of the NAS file system.'."\n" - .'* **mountDomain**: the domain name of the mount target. For more information, see [DescribeMountTargets](~~62626~~).'."\n" - .'* **nasPath**: the directory in the NAS file system.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"mountPath":"/test1","readOnly":false,"nasId":"nasId1","mountDomain":"nasId1.cn-shenzhen.nas.aliyuncs.com","nasPath":"/test1"},{"nasId":"nasId2","mountDomain":"nasId2.cn-shenzhen.nas.aliyuncs.com","readOnly":false,"nasPath":"/test2","mountPath":"/test2"}]', - ], + 'schema' => ['description' => 'The NAS mount configuration. Valid values:'."\n" + .'- **mountPath**: the container mount path.'."\n" + .'- **readOnly**: set to **false** for read and write permission.'."\n" + .'- **nasId**: the NAS ID.'."\n" + .'- **mountDomain**: the container mount point address. For more information, see [DescribeMountTargets](~~62626~~).'."\n" + .'- **nasPath**: the NAS relative file directory.', 'type' => 'string', 'required' => false, 'example' => '[{"mountPath":"/test1","readOnly":false,"nasId":"nasId1","mountDomain":"nasId1.cn-shenzhen.nas.aliyuncs.com","nasPath":"/test1"},{"nasId":"nasId2","mountDomain":"nasId2.cn-shenzhen.nas.aliyuncs.com","readOnly":false,"nasPath":"/test2","mountPath":"/test2"}]', 'title' => ''], ], [ 'name' => 'Python', 'in' => 'query', - 'schema' => [ - 'description' => 'The Python environment. Set the value to **PYTHON 3.9.15**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PYTHON 3.9.15', - ], + 'schema' => ['description' => 'The Python environment. **PYTHON 3.9.15** is supported.', 'type' => 'string', 'required' => false, 'example' => 'PYTHON 3.9.15', 'title' => ''], ], [ 'name' => 'PythonModules', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations for installing custom module dependencies. By default, the dependencies defined by the requirements.txt file in the root directory are installed. If the package does not contain this file and you do not configure custom dependencies in the package, specify the dependencies that you want to install in the text box.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Flask==2.0', - ], + 'schema' => ['description' => 'The custom installation module dependencies. By default, the dependencies defined in the requirements.txt file in the root folder are installed. If no dependencies are configured or custom packages are needed, you can specify the dependencies to install.', 'type' => 'string', 'required' => false, 'example' => 'Flask==2.0', 'title' => ''], ], [ 'name' => 'Dotnet', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of .NET'."\n" - ."\n" - .'- .NET 3.1'."\n" - .'- .NET 5.0'."\n" - .'- .NET 6.0'."\n" - .'- .NET 7.0'."\n" - .'- .NET 8.0', - 'type' => 'string', - 'required' => false, - 'example' => '.NET 3.1', - ], + 'schema' => ['description' => 'The version of the .NET framework: '."\n" + ."\n" + .'- .NET 3.1'."\n" + .'- .NET 5.0'."\n" + .'- .NET 6.0'."\n" + .'- .NET 7.0'."\n" + .'- .NET 8.0', 'type' => 'string', 'required' => false, 'example' => '.NET 3.1', 'title' => ''], ], [ 'name' => 'Deploy', 'in' => 'query', - 'schema' => [ - 'description' => 'This parameter takes effect only for applications that are in the Stopped state. If you call the **DeployApplication** operation to manage a running application, the application is immediately redeployed.'."\n" - ."\n" - .'* **true** (default): specifies that the system immediately deploys the application, enables new configurations, and pulls application instances.'."\n" - .'* **false**: specifies that the system only enables the new configurations.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'This parameter takes effect only for applications in the stopped state. If you call the **DeployApplication** operation for a running application, the application is immediately redeployed.'."\n" + .'- **true**: default value. Deploys immediately, applies the new deployment configuration, and starts instances.'."\n" + .'- **false**: applies the new deployment configuration only, without starting application instances.', 'type' => 'string', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'PackageType', 'in' => 'query', - 'schema' => [ - 'description' => 'The package type.'."\n" - ."\n" - .'When using Java, FatJar, War and Image are supported.'."\n" - .'When using Python, PythonZip and Image are supported.'."\n" - .'When using PHP, the followings are supported:'."\n" - .'- PhpZip'."\n" - .'- IMAGE_PHP_5_4'."\n" - .'- IMAGE_PHP_5_4_ALPINE'."\n" - .'- IMAGE_PHP_5_5'."\n" - .'- IMAGE_PHP_5_5_ALPINE'."\n" - .'- IMAGE_PHP_5_6'."\n" - .'- IMAGE_PHP_5_6_ALPINE'."\n" - .'- IMAGE_PHP_7_0'."\n" - .'- IMAGE_PHP_7_0_ALPINE'."\n" - .'- IMAGE_PHP_7_1'."\n" - .'- IMAGE_PHP_7_1_ALPINE'."\n" - .'- IMAGE_PHP_7_2'."\n" - .'- IMAGE_PHP_7_2_ALPINE'."\n" - .'- IMAGE_PHP_7_3'."\n" - .'- IMAGE_PHP_7_3_ALPINE', - 'type' => 'string', - 'required' => false, - 'example' => 'FatJar', - ], + 'schema' => ['description' => 'The application package type. Valid values:'."\n" + ."\n" + .'- When you deploy with Java, the following types are supported: **FatJar**, **War**, and **Image**.'."\n" + .'- When you deploy with PHP, the following types are supported:'."\n" + .' - **PhpZip**'."\n" + .' - **IMAGE\\_PHP\\_5\\_4**'."\n" + .' - **IMAGE\\_PHP\\_5\\_4\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_5\\_5**'."\n" + .' - **IMAGE\\_PHP\\_5\\_5\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_5\\_6**'."\n" + .' - **IMAGE\\_PHP\\_5\\_6\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_0**'."\n" + .' - **IMAGE\\_PHP\\_7\\_0\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_1**'."\n" + .' - **IMAGE\\_PHP\\_7\\_1\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_2**'."\n" + .' - **IMAGE\\_PHP\\_7\\_2\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_3**'."\n" + .' - **IMAGE\\_PHP\\_7\\_3\\_ALPINE**'."\n" + .'- When you deploy with Python, the following types are supported: **PythonZip** and **Image**.', 'type' => 'string', 'required' => false, 'example' => 'FatJar', 'title' => ''], ], [ 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU specifications that are required for each instance. Unit: millicores. This parameter cannot be set to 0. Valid values:'."\n" - ."\n" - .'* **500**'."\n" - .'* **1000**'."\n" - .'* **2000**'."\n" - .'* **4000**'."\n" - .'* **8000**'."\n" - .'* **12000**'."\n" - .'* **16000**'."\n" - .'* **32000**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => 'The CPU resources required for each instance. Unit: millicores. This parameter cannot be set to 0. Only the following defined specifications are supported:'."\n" + .'- **500**'."\n" + .'- **1000**'."\n" + .'- **2000**'."\n" + .'- **4000**'."\n" + .'- **8000**'."\n" + .'- **12000**'."\n" + .'- **16000**'."\n" + .'- **32000**', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1000', 'title' => ''], ], [ 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size that is required by each instance. Unit: MB. This parameter cannot be set to 0. The values of this parameter correspond to the values of the Cpu parameter:'."\n" - ."\n" - .'* This parameter is set to **1024** if the Cpu parameter is set to 500 or 1000.'."\n" - .'* This parameter is set to **2048** if the Cpu parameter is set to 500, 1000, or 2000.'."\n" - .'* This parameter is set to **4096** if the Cpu parameter is set to 1000, 2000, or 4000.'."\n" - .'* This parameter is set to **8192** if the Cpu parameter is set to 2000, 4000, or 8,000.'."\n" - .'* This parameter is set to **12288** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **16384** if the Cpu parameter is set to 4000, 8000, or 16000.'."\n" - .'* This parameter is set to **24576** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **32768** if the Cpu parameter is set to 16000.'."\n" - .'* This parameter is set to **65536** if the Cpu parameter is set to 8000, 16000, or 32000.'."\n" - .'* This parameter is set to **131072** if the Cpu parameter is set to 32000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1024', - ], + 'schema' => ['description' => 'The memory required for each instance. Unit: MB. This parameter cannot be set to 0. The memory has a one-to-one mapping with CPU. Only the following defined specifications are supported:'."\n" + .'- **1024**: corresponds to 500 and 1000 millicores of CPU.'."\n" + .'- **2048**: corresponds to 500, 1000, and 2000 millicores of CPU.'."\n" + .'- **4096**: corresponds to 1000, 2000, and 4000 millicores of CPU.'."\n" + .'- **8192**: corresponds to 2000, 4000, and 8000 millicores of CPU.'."\n" + .'- **12288**: corresponds to 12000 millicores of CPU.'."\n" + .'- **16384**: corresponds to 4000, 8000, and 16000 millicores of CPU.'."\n" + .'- **24576**: corresponds to 12000 millicores of CPU.'."\n" + .'- **32768**: corresponds to 16000 millicores of CPU.'."\n" + .'- **65536**: corresponds to 8000, 16000, and 32000 millicores of CPU.'."\n" + .'- **131072**: corresponds to 32000 millicores of CPU.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1024', 'title' => ''], ], [ 'name' => 'Replicas', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of instances.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'SecurityGroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'Security group ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'sg-wz969ngg2e49q5i4****', - ], + 'schema' => ['description' => 'The security group ID.', 'type' => 'string', 'required' => false, 'example' => 'sg-wz969ngg2e49q5i4****', 'title' => ''], ], [ 'name' => 'VSwitchId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the vSwitch, where the EIP of the application instances resides. The vSwitch must reside in the VPC above.', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp12mw1f8k3jgygk9****', - ], + 'schema' => ['description' => 'The vSwitch where the network interface controllers (NICs) of the application instance reside. The vSwitch must be in the specified VPC.', 'type' => 'string', 'required' => false, 'example' => 'vsw-bp12mw1f8k3jgygk9****', 'title' => ''], ], [ 'name' => 'ServiceTags', 'in' => 'formData', - 'schema' => [ - 'description' => 'The gray-release tag of the application.', - 'type' => 'string', - 'required' => false, - 'example' => '{\\"alicloud.service.tag\\":\\"g1\\"}', - ], + 'schema' => ['description' => 'The canary release tags configured for the application.', 'type' => 'string', 'required' => false, 'example' => '{\\"alicloud.service.tag\\":\\"g1\\"}', 'title' => ''], ], [ 'name' => 'EnableNewArms', 'in' => 'query', - 'schema' => [ - 'description' => 'Enable new ARMS features.'."\n" - ."\n" - .'- true: enable'."\n" - ."\n" - .'- false: disable', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to enable the new ARMS feature:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'EnableCpuBurst', 'in' => 'query', - 'schema' => [ - 'description' => 'Enable CPU Burst.'."\n" - ."\n" - .'true: enable'."\n" - ."\n" - .'false: disable', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to enable the CPU Burst feature:'."\n" + ."\n" + .'- true: enabled.'."\n" + .'- false: disabled.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'OidcRoleName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the RAM role used to authenticate the user identity.'."\n" - ."\n" - .'> You need to create an OpenID Connect (OIDC) identity provider (IdP) and an identity provider (IdP) for role-based single sign-on (SSO) in advance. For more information, see [Creates an OpenID Connect (OIDC) identity provider (IdP)](~~2331022~~) and [Creates an identity provider (IdP) for role-based single sign-on (SSO)](~~2331016~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sae-test', - ], + 'schema' => ['description' => 'The RAM role for identity authentication.'."\n" + ."\n\n" + .'> Create an OIDC identity provider and an identity provider role in the same region in advance. For more information, see [Create an OIDC identity provider](~~2331022~~) and [Create a role for SSO identity provider](~~2331016~~).', 'type' => 'string', 'required' => false, 'example' => 'sae-test', 'title' => ''], ], [ 'name' => 'SidecarContainersConfig', 'in' => 'formData', 'style' => 'json', 'schema' => [ - 'description' => 'The configuration of the container.'."\n", + 'description' => 'The sidecar container configuration.', 'type' => 'array', - 'items' => [ - 'description' => 'The configuration of the container.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/SidecarContainerConfig', - ], + 'items' => ['description' => 'The sidecar container configuration.', '$ref' => '#/components/schemas/SidecarContainerConfig', 'required' => false, 'title' => '', 'example' => ''], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'SecretMountDesc', 'in' => 'query', - 'schema' => [ - 'description' => 'Secret Mount Description'."\n" - .'Use the secret dictionaries created in the Namespace Secret Dictionary page to inject information into containers. Parameter descriptions are as follows:'."\n" - ."\n" - .'- secretId: Secret instance ID. Obtain via the ListSecrets interface.'."\n" - ."\n" - .'- key: Key-value pair. Note: Set the parameter sae-sys-secret-all to mount all keys.'."\n" - ."\n" - .'- mountPath: Mount path.', - 'type' => 'string', - 'required' => false, - 'example' => '[{“secretId":10,”key":"test","mountPath":"/tmp"}]', - ], + 'schema' => ['description' => 'The **Secret** mount description. Use a secret created on the namespace secrets page to inject sensitive information into the container. Settings:'."\n" + ."\n" + .'- **secretId**: the secret instance ID. You can obtain it by calling the ListSecrets operation.'."\n" + .'- **key**: the key.'."\n" + ."\n" + .'> You can mount all keys by passing the `sae-sys-secret-all` parameter.'."\n" + ."\n" + .'- **mountPath**: the mount path.', 'type' => 'string', 'required' => false, 'example' => '[{“secretId":10,”key":"test","mountPath":"/tmp"}]', 'title' => ''], ], [ 'name' => 'EnableSidecarResourceIsolated', 'in' => 'formData', - 'schema' => [ - 'description' => 'Enable Sidecar resource isolation.'."\n" - ."\n" - .'true: enable'."\n" - ."\n" - .'false: disable', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to enable sidecar resource isolation:'."\n" + ."\n" + .'- true: enables isolation.'."\n" + .'- false: does not enable isolation.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'CustomImageNetworkType', 'in' => 'query', - 'schema' => [ - 'description' => 'Custom image type. To it to empty string to use pre-built image.'."\n" - ."\n" - .'- internet: Public network image'."\n" - ."\n" - .'- intranet: Private network image', - 'type' => 'string', - 'required' => false, - 'example' => 'internet', - ], + 'schema' => ['description' => 'The custom image type. If the image is not a custom image, set this parameter to an empty string:'."\n" + ."\n" + .'- internet: public image.'."\n" + .'- intranet: private image.', 'type' => 'string', 'required' => false, 'example' => 'internet', 'title' => ''], ], [ 'name' => 'MicroserviceEngineConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'Configure Microservices Governance'."\n" - ."\n" - .'Whether to enable microservices governance (enable):'."\n" - .'- true: Enable'."\n" - .'- false: Disable'."\n" - ."\n" - .'Configure lossless online/offline deployment (mseLosslessRule):'."\n" - ."\n" - .'delayTime: Delay duration (unit: seconds)'."\n" - ."\n" - .'enable: Whether to enable lossless deployment'."\n" - ."\n" - .'- true: Enable'."\n" - ."\n" - .'- false: Disable'."\n" - ."\n" - .'notice: Whether to enable notifications'."\n" - ."\n" - .'- true: Enable'."\n" - ."\n" - .'- false: Disable'."\n" - ."\n" - .'warmupTime: Small-traffic warm-up duration (unit: seconds)', - 'type' => 'string', - 'required' => false, - 'example' => '{"enable": true,"mseLosslessRule": {"delayTime": 0,"enable": false,"notice": false,"warmupTime": 120}}', - ], + 'schema' => ['description' => 'Configures microservice governance.'."\n" + ."\n" + .'- Specifies whether to enable microservice governance (enable):'."\n" + ."\n" + .' - true: enabled.'."\n" + ."\n" + .' - false: disabled.'."\n" + ."\n" + .'- Configures lossless online/offline (mseLosslessRule):'."\n" + ."\n" + .' - delayTime: the delay time.'."\n" + ."\n" + .' - enable: specifies whether to enable the lossless online feature. true indicates enabled, and false indicates disabled.'."\n" + ."\n" + .' - notice: specifies whether to enable the notification feature. true indicates enabled, and false indicates disabled.'."\n" + ."\n" + .' - warmupTime: the warm-up duration for low-traffic scenarios. Unit: seconds.', 'type' => 'string', 'required' => false, 'example' => '{"enable": true,"mseLosslessRule": {"delayTime": 0,"enable": false,"notice": false,"warmupTime": 120}}', 'title' => ''], ], [ 'name' => 'NewSaeVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'SAE edition.'."\n" - ."\n" - .'- lite: the lightweight edition.'."\n" - ."\n" - .'- std: the standard edition.'."\n" - ."\n" - .'- pro: the professional edition.', - 'type' => 'string', - 'required' => false, - 'example' => 'pro', - ], + 'schema' => ['description' => 'The application version:'."\n" + ."\n" + .'- lite: lite edition.'."\n" + .'- std: standard edition.'."\n" + .'- pro: professional edition.', 'type' => 'string', 'required' => false, 'example' => 'pro', 'title' => ''], ], [ 'name' => 'InitContainersConfig', 'in' => 'formData', 'style' => 'json', 'schema' => [ - 'description' => 'Initialize container configuration.', + 'description' => 'The init container configuration.', 'type' => 'array', - 'items' => [ - 'description' => 'Initialize container configuration.', - 'required' => false, - '$ref' => '#/components/schemas/InitContainerConfig', - ], + 'items' => ['description' => 'The init container configuration.', '$ref' => '#/components/schemas/InitContainerConfig', 'required' => false, 'title' => '', 'example' => ''], 'required' => false, + 'title' => '', + 'example' => '', ], ], [ 'name' => 'GpuConfig', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'StartupProbe', 'in' => 'query', - 'schema' => [ - 'description' => 'Check Failure: Indicates that the application failed to start. The system will report the exception and automatically restart it.'."\n" - ."\n" - .'Note: '."\n" - ."\n" - .'Supports exec, httpGet, and tcpSocket methods. For specific examples, see Liveness Parameters.'."\n" - .'Only one method can be selected for health checks.', - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}', - ], + 'schema' => ['description' => 'Enables the application startup probe.'."\n" + ."\n" + .'- Check succeeded: indicates that the application started successfully. If you configured Liveness and Readiness checks, they are performed after the application starts successfully.'."\n" + .'- Check failed: indicates that the application failed to start. An exception is reported and the application is automatically restarted.'."\n" + ."\n" + .'> This is the description content.'."\n" + .'> - The exec, httpGet, and tcpSocket methods are supported. For specific examples, see the Liveness parameter.'."\n" + .'> - Only one method can be selected for health checks.', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}', 'title' => ''], ], [ 'name' => 'EnablePrometheus', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'Specifies whether to enable custom Prometheus metric collection.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], [ 'name' => 'Html', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The Nginx version.'."\n" + .'- nginx 1.20'."\n" + .'- nginx 1.22'."\n" + .'- nginx 1.24'."\n" + .'- nginx 1.26'."\n" + .'- nginx 1.28', 'type' => 'string', 'required' => false, 'example' => 'nginx 1.28', 'title' => ''], ], [ 'name' => 'EmptyDirDesc', 'in' => 'formData', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The shared ephemeral storage configuration.', 'type' => 'string', 'required' => false, 'example' => '[{\\"name\\":\\"workdir\\",\\"mountPath\\":\\"/usr/local/tomcat/webapps\\"}]', 'title' => ''], ], [ 'name' => 'AlbIngressReadinessGate', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The ALB gateway ReadinessGate configuration.', 'type' => 'string', 'required' => false, 'example' => 'default', 'title' => ''], ], [ 'name' => 'MaxSurgeInstances', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The maximum number of surge instances. Valid values:'."\n" + ."\n" + .'If the minimum number of available instances is 100%, the maximum surge cannot be set to 0.'."\n" + .'If this parameter is set to **-1**, the system-recommended value of 30% is used, which is 30% of the current number of instances. For example, if the current number of instances is 10, the value is 10 × 30% = 3.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-1', 'title' => ''], ], [ 'name' => 'MaxSurgeInstanceRatio', 'in' => 'query', - 'schema' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'schema' => ['description' => 'The maximum surge instance percentage. Valid values:'."\n" + ."\n" + .'If the minimum number of available instances is 100%, the maximum surge cannot be set to 0. If this parameter is set to **-1**, the system-recommended value of 30% is used, which is 30% of the current number of instances. For example, if the current number of instances is 10, the value is 10 × 30% = 3.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-1', 'title' => ''], ], [ 'name' => 'AgentVersion', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The AliyunAgent version.', 'type' => 'string', 'required' => false, 'example' => '4.4.2', 'title' => ''], ], [ 'name' => 'EnableNamespaceAgentVersion', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'Specifies whether to reuse the namespace Agent version configuration.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'SlsLogEnvTags', 'in' => 'query', + 'schema' => ['title' => '', 'description' => 'sls log tags', 'type' => 'string', 'required' => false, 'example' => ''], + ], + [ + 'name' => 'LokiConfigs', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + [ + 'name' => 'Labels', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => 'sls log tags', - 'type' => 'string', + 'type' => 'object', + 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'description' => '', + 'title' => '', + 'example' => '', ], ], [ - 'name' => 'LokiConfigs', + 'name' => 'RaspConfig', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'type' => 'string', + 'type' => 'object', + 'properties' => [ + 'EnableRasp' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + 'RaspAppName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RaspAppKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The information about the deployed application.'."\n", + 'description' => 'The deployed application information.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3***', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Take note of the following rules:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622246421415014e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3***', 'title' => ''], + 'Message' => ['description' => 'The additional information. Valid values:'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + .'- If the request fails, a specific error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID, which is used to query the details of a request.', 'type' => 'string', 'example' => 'ac1a0b2215622246421415014e****', 'title' => ''], 'Data' => [ - 'description' => 'The response.'."\n", + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order. It can be used to query the task status.'."\n", - 'type' => 'string', - 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', - ], - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - 'IsNeedApproval' => [ - 'description' => 'Specifies whether approval is required when a RAM user performs release. Take note of the following rules:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ChangeOrderId' => ['description' => 'The returned change order ID, which is used to query the task execution status.', 'type' => 'string', 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'IsNeedApproval' => ['description' => 'Indicates whether the change published by a Resource Access Management (RAM) user requires approval. Valid values:'."\n" + ."\n" + .'- **true**: approval is required.'."\n" + .'- **false**: approval is not required.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Take note of the following rules:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application deployment is successful. Take note of the following rules:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** field is not returned.'."\n" + .'- If the request fails, the **ErrorCode** field is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'example' => '空', 'title' => ''], + 'Code' => ['description' => 'The API status or POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: success.'."\n" + .'- **3xx**: redirection.'."\n" + .'- **4xx**: request error.'."\n" + .'- **5xx**: server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application deployment is successful. Valid values:'."\n" + ."\n" + .'- **true**: the deployment is successful.'."\n" + .'- **false**: the deployment failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Application.MissingJdk', - 'errorMessage' => 'Your application must at least contain a JDK component.', - ], - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidComponent.NotFound', - 'errorMessage' => 'The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.', - ], - [ - 'errorCode' => 'InvalidHostnameIp.Invalid', - 'errorMessage' => 'The hostname and/or IP is invalid: Hostname [%s], IP [%s].', - ], - [ - 'errorCode' => 'InvalidInstanceSpecification.Unsupported', - 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', - ], - [ - 'errorCode' => 'InvalidPackageType.NotFound', - 'errorMessage' => 'The package type must be War, FatJar, or Image.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'JarApplication.MissingJdk', - 'errorMessage' => 'A FatJar application must contain JDK.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'PandoraApplication.MissingJdk', - 'errorMessage' => 'The Pandora application is missing a JDK component.', - ], - [ - 'errorCode' => 'PandoraApplication.OnlyJdk', - 'errorMessage' => 'A Pandora application only requires JDK component.', - ], - [ - 'errorCode' => 'WarApplication.MissingJdkWebcontainer', - 'errorMessage' => 'A War application must contain JDK and Tomcat.', - ], - [ - 'errorCode' => 'LogService.ConfigQuotaExceed', - 'errorMessage' => 'The maximum number of Log Service configs is exceeded.', - ], - [ - 'errorCode' => 'LogService.InternalError', - 'errorMessage' => 'An exception occurred while calling Log Service. Please submit a ticket to solve the problem.', - ], - [ - 'errorCode' => 'LogService.LogDirInvalid', - 'errorMessage' => 'The log collection path is invalid.', - ], - [ - 'errorCode' => 'LogService.NotAvailable', - 'errorMessage' => 'Log Service is unavailable. Please activate Log Service first.', - ], - [ - 'errorCode' => 'LogService.ProjectNumQuotaExceed', - 'errorMessage' => 'The maximum number of Log Service projects is exceeded.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'VolumnPath.Conflict', - 'errorMessage' => 'Conflict between log collection directory and persistent storage directory.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'MountConflict.ConfigMap', - 'errorMessage' => 'Conflict detected for ConfigMap path %s.', - ], - [ - 'errorCode' => 'NotFound.ConfigMap', - 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'NotFound.ConfigMapKey', - 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'Package.Version.Too.Long', - 'errorMessage' => 'The maximum length of package version is exceeded.', - ], - [ - 'errorCode' => 'App.Package.Version.Exists', - 'errorMessage' => 'The package version of application already exists.', - ], - [ - 'errorCode' => 'Slb.Occupied', - 'errorMessage' => 'The SLB instance is occupied.', - ], - [ - 'errorCode' => 'Slb.Tag.Not.Qualified', - 'errorMessage' => 'The current SLB instance cannot be reused because it may have been occupied by %s.', - ], - [ - 'errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', - 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', - ], - [ - 'errorCode' => 'MinReadyInstanceRatio.Invalid', - 'errorMessage' => 'The ratio of minimum available instances must be between 0 and 100.', - ], - [ - 'errorCode' => 'BatchWaitTime.Not.Smaller.Zero', - 'errorMessage' => 'BatchWaitTime must not be smaller than zero.', - ], - [ - 'errorCode' => 'Sls.Config.Mixed.Multi.Project', - 'errorMessage' => 'The specified Config contains multiple projects.', - ], - [ - 'errorCode' => 'Sls.Config.User.Defined.Missing.Logstore.Info', - 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', - ], - [ - 'errorCode' => 'Sls.Config.User.Defined.Missing.Project.Info', - 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', - ], - [ - 'errorCode' => 'Sls.Logstore.Name.Invalid', - 'errorMessage' => 'The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".', - ], - [ - 'errorCode' => 'Sls.Logstore.User.Defined.Not.Exist', - 'errorMessage' => 'The user defined Logstore does not exist.', - ], - [ - 'errorCode' => 'Sls.Project.Name.Invalid', - 'errorMessage' => 'The specified project name is invalid. The project name must not contain the prefix "sae-".', - ], - [ - 'errorCode' => 'Sls.Project.User.Defined.Not.Exist', - 'errorMessage' => 'The user defined project does not exist.', - ], - [ - 'errorCode' => 'Sae.Errorcode.Ahas.Create.Error.Message', - 'errorMessage' => 'Failed to create AHAS.', - ], - [ - 'errorCode' => 'InvalidImageUrl.AcrInstanceId.Domain.NotMatch', - 'errorMessage' => 'The specified domain of ImageUrl does not match AcrInstanceId domains.', - ], - [ - 'errorCode' => 'PhpApplication.MissingPhpRuntime', - 'errorMessage' => 'A PHP application must contain PHP Runtime.', - ], - [ - 'errorCode' => 'InvalidParameter.FileName', - 'errorMessage' => 'The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file.', - ], - [ - 'errorCode' => 'Sls.Logtail.Name.Invalid', - 'errorMessage' => 'The specified name of Logtail is invalid. The Logtail name must not contain the prefix sae-.', - ], - [ - 'errorCode' => 'InvalidImageUrl.MissingAcrInstanceId', - 'errorMessage' => 'The specified domain of ImageUrl is from ACREE, but you are not specified AcrInstanceId.', - ], - [ - 'errorCode' => 'EnvFromSecretIdConflict.AlreadyExist', - 'errorMessage' => 'The specified SecretId [%s] already exist in the specified Envs.', - ], - [ - 'errorCode' => 'MountConflict.Secret', - 'errorMessage' => 'Conflict detected for Secret path %s.', - ], + ['errorCode' => 'Application.MissingJdk', 'errorMessage' => 'Your application must at least contain a JDK component.', 'description' => ''], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidComponent.NotFound', 'errorMessage' => 'The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.', 'description' => ''], + ['errorCode' => 'InvalidHostnameIp.Invalid', 'errorMessage' => 'The hostname and/or IP is invalid: Hostname [%s], IP [%s].', 'description' => ''], + ['errorCode' => 'InvalidInstanceSpecification.Unsupported', 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', 'description' => ''], + ['errorCode' => 'InvalidPackageType.NotFound', 'errorMessage' => 'The package type must be War, FatJar, or Image.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'JarApplication.MissingJdk', 'errorMessage' => 'A FatJar application must contain JDK.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'PandoraApplication.MissingJdk', 'errorMessage' => 'The Pandora application is missing a JDK component.', 'description' => ''], + ['errorCode' => 'PandoraApplication.OnlyJdk', 'errorMessage' => 'A Pandora application only requires JDK component.', 'description' => ''], + ['errorCode' => 'WarApplication.MissingJdkWebcontainer', 'errorMessage' => 'A War application must contain JDK and Tomcat.', 'description' => ''], + ['errorCode' => 'LogService.ConfigQuotaExceed', 'errorMessage' => 'The maximum number of Log Service configs is exceeded.', 'description' => 'The maximum number of Log Service configs is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'LogService.InternalError', 'errorMessage' => 'An exception occurred while calling Log Service. Please submit a ticket to solve the problem.', 'description' => 'An exception occurred while calling log service. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'LogService.LogDirInvalid', 'errorMessage' => 'The log collection path is invalid.', 'description' => 'The log collection path is invalid.'], + ['errorCode' => 'LogService.NotAvailable', 'errorMessage' => 'Log Service is unavailable. Please activate Log Service first.', 'description' => 'The log service is not available. Please open the log service first.'], + ['errorCode' => 'LogService.ProjectNumQuotaExceed', 'errorMessage' => 'The maximum number of Log Service projects is exceeded.', 'description' => 'The maximum number of Log Service projects is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'VolumnPath.Conflict', 'errorMessage' => 'Conflict between log collection directory and persistent storage directory.', 'description' => 'Conflict between log collection directory and persistent storage directory.'], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'MountConflict.ConfigMap', 'errorMessage' => 'Conflict detected for ConfigMap path %s.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMap', 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMapKey', 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'Package.Version.Too.Long', 'errorMessage' => 'The maximum length of package version is exceeded.', 'description' => 'This package version is too long.'], + ['errorCode' => 'App.Package.Version.Exists', 'errorMessage' => 'The package version of application already exists.', 'description' => 'The package version of application already exists.'], + ['errorCode' => 'Slb.Occupied', 'errorMessage' => 'The SLB instance is occupied.', 'description' => 'This SLB is occupied.'], + ['errorCode' => 'Slb.Tag.Not.Qualified', 'errorMessage' => 'The current SLB instance cannot be reused because it may have been occupied by %s.', 'description' => 'The current SLB instance cannot be reused because it may have been occupied by %s.'], + ['errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', 'description' => 'The minimum number of available instances must be less than the number of application instances.'], + ['errorCode' => 'MinReadyInstanceRatio.Invalid', 'errorMessage' => 'The ratio of minimum available instances must be between 0 and 100.', 'description' => ''], + ['errorCode' => 'BatchWaitTime.Not.Smaller.Zero', 'errorMessage' => 'BatchWaitTime must not be smaller than zero.', 'description' => 'BatchWaitTime must not be smaller than zero.'], + ['errorCode' => 'Sls.Config.Mixed.Multi.Project', 'errorMessage' => 'The specified Config contains multiple projects.', 'description' => ''], + ['errorCode' => 'Sls.Config.User.Defined.Missing.Logstore.Info', 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', 'description' => ''], + ['errorCode' => 'Sls.Config.User.Defined.Missing.Project.Info', 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', 'description' => ''], + ['errorCode' => 'Sls.Logstore.Name.Invalid', 'errorMessage' => 'The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".', 'description' => ''], + ['errorCode' => 'Sls.Logstore.User.Defined.Not.Exist', 'errorMessage' => 'The user defined Logstore does not exist.', 'description' => ''], + ['errorCode' => 'Sls.Project.Name.Invalid', 'errorMessage' => 'The specified project name is invalid. The project name must not contain the prefix "sae-".', 'description' => ''], + ['errorCode' => 'Sls.Project.User.Defined.Not.Exist', 'errorMessage' => 'The user defined project does not exist.', 'description' => ''], + ['errorCode' => 'Sae.Errorcode.Ahas.Create.Error.Message', 'errorMessage' => 'Failed to create AHAS.', 'description' => ''], + ['errorCode' => 'InvalidImageUrl.AcrInstanceId.Domain.NotMatch', 'errorMessage' => 'The specified domain of ImageUrl does not match AcrInstanceId domains.', 'description' => ''], + ['errorCode' => 'PhpApplication.MissingPhpRuntime', 'errorMessage' => 'A PHP application must contain PHP Runtime.', 'description' => ''], + ['errorCode' => 'InvalidParameter.FileName', 'errorMessage' => 'The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file.', 'description' => ''], + ['errorCode' => 'Sls.Logtail.Name.Invalid', 'errorMessage' => 'The specified name of Logtail is invalid. The Logtail name must not contain the prefix sae-.', 'description' => ''], + ['errorCode' => 'InvalidImageUrl.MissingAcrInstanceId', 'errorMessage' => 'The specified domain of ImageUrl is from ACREE, but you are not specified AcrInstanceId.', 'description' => ''], + ['errorCode' => 'EnvFromSecretIdConflict.AlreadyExist', 'errorMessage' => 'The specified SecretId [%s] already exist in the specified Envs.', 'description' => ''], + ['errorCode' => 'MountConflict.Secret', 'errorMessage' => 'Conflict detected for Secret path %s.', 'description' => 'Secret mount path% s has conflict.'], ], 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', - ], - [ - 'errorCode' => 'InvalidAcrInstanceId.NotFound', - 'errorMessage' => 'The specified AcrInstanceId does not exist.', - ], - [ - 'errorCode' => 'Associate.Eip.Not.Enough', - 'errorMessage' => 'No sufficient EIPs are available.', - ], + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], + ['errorCode' => 'InvalidAcrInstanceId.NotFound', 'errorMessage' => 'The specified AcrInstanceId does not exist.', 'description' => ''], + ['errorCode' => 'Associate.Eip.Not.Enough', 'errorMessage' => 'No sufficient EIPs are available.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3***\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\",\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"IsNeedApproval\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeployApplicationResponse>\\n <RequestId>01CF26C7-00A3-4AA6-BA76-7E95F2A3***</RequestId>\\n <Message>success</Message>\\n <TraceId>ac1a0b2215622246421415014e****</TraceId>\\n <Data>\\n <ChangeOrderId>01db03d3-3ee9-48b3-b3d0-dfce2d88****</ChangeOrderId>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <IsNeedApproval>true</IsNeedApproval>\\n </Data>\\n <ErrorCode>空</ErrorCode>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DeployApplicationResponse>","errorExample":""}]', - 'title' => 'DeployApplication', + 'title' => 'Deploy an application', 'summary' => 'Deploys an application.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'RescaleApplicationVertically' => [ - 'path' => '/pop/v1/sam/app/rescaleApplicationVertically', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'changeSet' => [ + ['createdAt' => '2026-03-04T05:50:19.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-03-04T03:39:36.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-03-04T03:39:22.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-25T06:15:36.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2026-02-25T06:10:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-25T01:45:40.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-25T01:42:15.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T12:42:16.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T12:38:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:44:48.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:14:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:09:18.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:05:14.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:00:07.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T10:52:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-04T02:09:06.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-03T03:18:29.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-03T02:36:32.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-30T08:18:01.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-30T02:56:42.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-15T02:33:54.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T13:03:43.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T12:45:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T12:31:59.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T09:00:01.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T08:52:39.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:02:51.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-22T05:47:30.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-11-27T05:52:40.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-11-04T03:34:35.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-10-24T09:36:12.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-10-13T09:40:49.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-09-18T11:30:36.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-07-29T05:33:46.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-07-04T06:12:37.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-05-26T08:50:05.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-05-22T02:32:04.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-04-25T11:26:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-03-13T11:48:39.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-01-20T11:42:06.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-12-26T08:38:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-12-17T11:33:09.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-12-10T09:29:00.000Z', 'description' => 'Error codes changed, Request parameters changed'], + ['createdAt' => '2024-11-08T03:11:30.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-10-11T03:29:13.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-12T03:24:21.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-08-28T07:04:48.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-05-21T02:16:45.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-07T08:48:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2023-06-05T02:22:27.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-26T09:19:38.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-12-02T02:42:53.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-11-22T13:03:50.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-08-02T05:52:24.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-03-03T12:42:21.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-03-03T12:42:21.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-03-03T12:42:21.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-01-18T04:01:16.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-11-17T11:35:05.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-11-17T02:28:51.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeployApplication'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:DeployApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3***\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\",\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"IsNeedApproval\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'DescribeAppServiceDetail' => [ + 'summary' => 'Describes the metadata details of an application service.', + 'path' => '/pop/v1/sam/service/describeAppServiceDetail', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '6386', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '101579', + 'abilityTreeNodes' => ['FEATUREsaeUDWJ2L'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The app ID.', - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'title' => '', 'example' => '6dcc8c9e-d3da-478a-a066-86dcf820****'], ], [ - 'name' => 'Cpu', + 'name' => 'ServiceType', 'in' => 'query', - 'schema' => [ - 'description' => 'Target CPU specification. Unit: millicore.', - 'type' => 'string', - 'required' => true, - 'example' => '1000', - ], + 'schema' => ['description' => 'The service type. Valid values:'."\n" + ."\n" + .'- **dubbo**'."\n" + ."\n" + .'- **springCloud**', 'type' => 'string', 'required' => false, 'example' => 'springCloud', 'title' => ''], ], [ - 'name' => 'Memory', + 'name' => 'ServiceGroup', 'in' => 'query', - 'schema' => [ - 'description' => 'Target memory specification. Unit: MB.', - 'type' => 'string', - 'required' => true, - 'example' => '2048', - ], + 'schema' => ['description' => 'The service group. This is a custom parameter.', 'type' => 'string', 'required' => false, 'example' => 'springCloud', 'title' => ''], ], [ - 'name' => 'minReadyInstances', + 'name' => 'ServiceVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'Minimum ready instances.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The service version. This is a custom parameter.', 'type' => 'string', 'required' => false, 'example' => '1.0.0', 'title' => ''], ], [ - 'name' => 'minReadyInstanceRatio', + 'name' => 'ServiceName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ratio of minimum ready instances.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], + 'schema' => ['description' => 'The service name.', 'type' => 'string', 'required' => false, 'example' => 'edas.service.provider', 'title' => ''], ], [ - 'name' => 'autoEnableApplicationScalingRule', + 'name' => 'NacosInstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'Enable application scale rules automatically.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The ID of the MSE Nacos instance.', 'type' => 'string', 'required' => false, 'example' => 'mse-cn-sco3r0u****', 'title' => ''], ], [ - 'name' => 'DiskSize', + 'name' => 'NacosNamespaceId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the MSE Nacos namespace.', 'type' => 'string', 'required' => false, 'example' => 'public', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The disk size. Unit: GB.', - 'type' => 'string', - 'required' => false, - 'example' => '20', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B2C7874F-F109-5B34-8618-2C10BBA2****', 'title' => ''], + 'Message' => ['description' => 'The additional information returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The call chain ID. Use this ID for a term query of call details.', 'type' => 'string', 'example' => '0b16399316402420740034918e****', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'Group' => ['description' => 'The service group. This is a custom parameter.', 'type' => 'string', 'example' => 'springCloud', 'title' => ''], + 'ServiceName' => ['description' => 'The service name.', 'type' => 'string', 'example' => 'service-provider', 'title' => ''], + 'Version' => ['description' => 'The service version. This is a custom parameter.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'ServiceType' => ['description' => 'The service type. Valid values:'."\n" + ."\n" + .'- **dubbo**'."\n" + ."\n" + .'- **springCloud**', 'type' => 'string', 'example' => 'springCloud', 'title' => ''], + 'ServiceProtocol' => ['description' => 'The protocol used by the service.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'ServicePorts' => [ + 'description' => 'The ports used by the service.', + 'type' => 'array', + 'items' => ['description' => 'The port number.', 'type' => 'integer', 'format' => 'int64', 'example' => '8000', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ServiceTags' => [ + 'description' => 'The tags of the service.', + 'type' => 'array', + 'items' => ['description' => 'The tag of the service.', 'type' => 'string', 'example' => 'tag1', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'EdasAppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'cn-zhangjiakou-micro-service-******', 'title' => ''], + 'Metadata' => ['description' => 'The metadata. Example: `{side: "provider", port: "18081", preserved: {register: {source: "SPRING_CLOUD"}},…}`', 'type' => 'object', 'example' => '{side: "provider", port: "18081", preserved: {register: {source: "SPRING_CLOUD"}},…}', 'title' => ''], + 'SpringApplicationName' => ['description' => 'The name of the Spring Cloud application.', 'type' => 'string', 'example' => 'service-provider', 'title' => ''], + 'DubboApplicationName' => ['description' => 'The name of the Dubbo application.', 'type' => 'string', 'example' => 'service-consumer', 'title' => ''], + 'Methods' => [ + 'description' => 'The list of methods.', + 'type' => 'array', + 'items' => [ + 'description' => 'The list of methods.', + 'type' => 'object', + 'properties' => [ + 'MethodController' => ['description' => 'The class to which the method belongs.', 'type' => 'string', 'example' => 'com.serverless.sae.controller.EchoController', 'title' => ''], + 'ReturnType' => ['description' => 'The return type.', 'type' => 'string', 'example' => 'java.lang.String', 'title' => ''], + 'ReturnDetails' => ['description' => 'The details of the returned data.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Name' => ['description' => 'The method name.', 'type' => 'string', 'example' => 'echo', 'title' => ''], + 'NameDetail' => ['description' => 'The details of the method.', 'type' => 'string', 'example' => 'description', 'title' => ''], + 'ParameterDetails' => [ + 'description' => 'The details of the parameters.', + 'type' => 'array', + 'items' => ['description' => 'The details of the parameter.', 'type' => 'string', 'example' => 'description', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'RequestMethods' => [ + 'description' => 'The request methods.', + 'type' => 'array', + 'items' => ['description' => 'The request method. Valid values:'."\n" + ."\n" + .'- **GET**'."\n" + ."\n" + .'- **ALL**', 'type' => 'string', 'example' => 'ALL', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParameterTypes' => [ + 'description' => 'The parameter types.', + 'type' => 'array', + 'items' => ['description' => 'The parameter type.', 'type' => 'string', 'example' => '["java.lang.String"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Paths' => [ + 'description' => 'The request paths.', + 'type' => 'array', + 'items' => ['description' => 'The request path. The format is as follows:'."\n" + ."\n" + .'`/path`', 'type' => 'string', 'example' => '["/echo/{str}"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ParameterDefinitions' => [ + 'description' => 'The parameter definitions.', + 'type' => 'array', + 'items' => [ + 'description' => 'The parameter definition.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The parameter type.', 'type' => 'string', 'example' => 'java.lang.String', 'title' => ''], + 'Description' => ['description' => 'The description of the parameter.', 'type' => 'string', 'example' => 'description', 'title' => ''], + 'Name' => ['description' => 'The parameter name.', 'type' => 'string', 'example' => 'arg0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** field is not returned.'."\n" + ."\n" + .'- If the request fails, the **ErrorCode** field is returned. For more information, see the list of **error codes** in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The status of the API call or a POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: success.'."\n" + ."\n" + .'- **3xx**: redirection.'."\n" + ."\n" + .'- **4xx**: client error.'."\n" + ."\n" + .'- **5xx**: server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the metadata was obtained. Valid values:'."\n" + ."\n" + .'- **true**: The metadata was obtained.'."\n" + ."\n" + .'- **false**: The metadata failed to be obtained.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Micro.Service.MetaData.NotFound', 'errorMessage' => 'The micro service metadata not found {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B2C7874F-F109-5B34-8618-2C10BBA2****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0b16399316402420740034918e****\\",\\n \\"Data\\": {\\n \\"Group\\": \\"springCloud\\",\\n \\"ServiceName\\": \\"service-provider\\",\\n \\"Version\\": \\"1.0.0\\",\\n \\"ServiceType\\": \\"springCloud\\",\\n \\"ServiceProtocol\\": \\"HTTP\\",\\n \\"ServicePorts\\": [\\n 8000\\n ],\\n \\"ServiceTags\\": [\\n \\"tag1\\"\\n ],\\n \\"EdasAppName\\": \\"cn-zhangjiakou-micro-service-******\\",\\n \\"Metadata\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"SpringApplicationName\\": \\"service-provider\\",\\n \\"DubboApplicationName\\": \\"service-consumer\\",\\n \\"Methods\\": [\\n {\\n \\"MethodController\\": \\"com.serverless.sae.controller.EchoController\\",\\n \\"ReturnType\\": \\"java.lang.String\\",\\n \\"ReturnDetails\\": \\"test\\",\\n \\"Name\\": \\"echo\\",\\n \\"NameDetail\\": \\"description\\",\\n \\"ParameterDetails\\": [\\n \\"description\\"\\n ],\\n \\"RequestMethods\\": [\\n \\"ALL\\"\\n ],\\n \\"ParameterTypes\\": [\\n \\"[\\\\\\"java.lang.String\\\\\\"]\\"\\n ],\\n \\"Paths\\": [\\n \\"[\\\\\\"/echo/{str}\\\\\\"]\\"\\n ],\\n \\"ParameterDefinitions\\": [\\n {\\n \\"Type\\": \\"java.lang.String\\",\\n \\"Description\\": \\"description\\",\\n \\"Name\\": \\"arg0\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeAppServiceDetail', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:29.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-05-20T11:58:32.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-11-22T13:03:50.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-11-17T02:28:51.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '350', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAppServiceDetail'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:DescribeAppServiceDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DescribeApplicationConfig' => [ + 'path' => '/pop/v1/sam/app/describeApplicationConfig', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'VSwitchId', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '6317', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], + ], + 'parameters' => [ + [ + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], [ - 'name' => 'Deploy', + 'name' => 'VersionId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The version ID.', 'type' => 'string', 'required' => false, 'example' => '0026ff7f-2b57-4127-bdd0-9bf202bb****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => 'AB521DBB-FA78-42E6-803F-A862EA4F****', - ], - 'Message' => [ - 'description' => 'Messages returned for additional information.', - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'Trace ID for request information.', - 'type' => 'string', - 'example' => '0bc3b6f315637273629117900d****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****', 'title' => ''], + 'Message' => ['description' => 'The additional information about the call result.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID, which is used to query the details of a call.', 'type' => 'string', 'example' => 'ac1a0b2215622246421415014e****', 'title' => ''], 'Data' => [ - 'description' => 'Data returned.', + 'description' => 'The application information.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ticked ID of updates.', - 'type' => 'string', - 'example' => 'ffd8cd45-2b5f-415d-b4d0-1003e80b****', + 'VpcId' => ['description' => 'VPC ID。', 'type' => 'string', 'example' => 'vpc-2ze0i263cnn311nvj****', 'title' => ''], + 'Readiness' => ['description' => 'The application startup status check. Containers that fail multiple health checks are shut down and restarted. Containers that do not pass the health check do not receive SLB traffic. The **exec**, **httpGet**, and **tcpSocket** methods are supported. For specific examples, see the **Liveness** parameter.'."\n" + ."\n" + .'> You can select only one method for health checks.', 'type' => 'string', 'example' => '{"exec":{"command":["curl http://localhost:8080"]},"initialDelaySeconds":20,"timeoutSeconds":5}', 'title' => ''], + 'ConfigMapMountDesc' => [ + 'description' => 'The ConfigMap information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The ConfigMap information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The ConfigMap key-value pair.', 'type' => 'string', 'example' => 'k1', 'title' => ''], + 'ConfigMapName' => ['description' => 'The ConfigMap name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'MountPath' => ['description' => 'The container mount path.', 'type' => 'string', 'example' => '/tmp', 'title' => ''], + 'ConfigMapId' => ['description' => 'ConfigMap ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SecurityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-wz969ngg2e49q5i4****', 'title' => ''], + 'BatchWaitTime' => ['description' => 'The wait time between batches during a phased release, in seconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Jdk' => ['description' => 'The JDK version on which the deployment package depends. Valid values:'."\n" + ."\n" + .'- **Open JDK 8**'."\n" + .'- **Open JDK 7**'."\n" + .'- **Dragonwell 11**'."\n" + .'- **Dragonwell 8**'."\n" + .'- **openjdk-8u191-jdk-alpine3.9**'."\n" + .'- **openjdk-7u201-jdk-alpine3.9**'."\n" + ."\n" + .'This parameter is not supported when **Package Type** is set to **Image**.', 'type' => 'string', 'example' => 'Open JDK 8', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL. This parameter is required when **Package Type** is set to **Image**.', 'type' => 'string', 'example' => 'docker.io/library/nginx:1.14.2', 'title' => ''], + 'SlsConfigs' => ['description' => 'The settings for log collection to Simple Log Service (SLS).'."\n" + ."\n" + .'- To use SLS resources that are automatically created by Serverless App Engine (SAE): `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" + .'- To use custom SLS resources: `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" + ."\n" + .'Parameter descriptions:'."\n" + ."\n" + .'- **projectName**: The name of the project in SLS. '."\n" + .'- **logDir**: The log path.'."\n" + .'- **logType**: The log type. **stdout** indicates container standard output logs. You can set only one stdout entry. If this parameter is not set, file logs are collected.'."\n" + .'- **logstoreName**: The name of the Logstore in SLS.'."\n" + .'- **logtailName**: The name of the Logtail in SLS. If this parameter is not specified, a new Logtail is created through automatic creation.'."\n" + ."\n" + .'If the SLS collection configuration has not changed during multiple deployments, you do not need to set this parameter (that is, the **SlsConfigs** field does not need to be included in the request). If you no longer need the SLS collection feature, set the value of this field to an empty string in the request (that is, set the value of the **SlsConfigs** field to "").', 'type' => 'string', 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', 'title' => ''], + 'Liveness' => ['description' => 'The container health check settings. Containers that fail the health check are shut down and recovered. The following methods are supported:'."\n" + ."\n" + .'- **exec**: For example, `{"exec":{"command":\\["sh","-c","cat/home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}`'."\n" + .'- **httpGet**: For example, `{"httpGet":{"path":"/","port":18091,"scheme":"HTTP","isContainKeyWord":true,"keyWord":"SAE"},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" + .'- **tcpSocket**: For example, `{"tcpSocket":{"port":18091},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" + ."\n" + .'> You can select only one method for health checks.'."\n" + ."\n" + .'Parameter descriptions:'."\n" + ."\n" + .'- **exec.command**: The health check command.'."\n" + .'- **httpGet.path**: The access path.'."\n" + .'- **httpGet.scheme**: **HTTP** or **HTTPS**.'."\n" + .'- **httpGet.isContainKeyWord**: **true** indicates that the keyword is included. **false** indicates that the keyword is not included. If this field is missing, the advanced feature is not used.'."\n" + .'- **httpGet.keyWord**: The custom keyword. The **isContainKeyWord** field must be present when this parameter is used.'."\n" + .'- **tcpSocket.port**: The port for TCP connection detection.'."\n" + .'- **initialDelaySeconds**: The initial delay for the health check. Default value: 10. Unit: seconds.'."\n" + .'- **periodSeconds**: The health check period. Default value: 30. Unit: seconds.'."\n" + .'- **timeoutSeconds**: The health check timeout period. Default value: 1. Unit: seconds. If this parameter is set to 0 or is not set, the default timeout period is 1 second.', 'type' => 'string', 'example' => '{"exec":{"command":["curl http://localhost:8080"]},"initialDelaySeconds":20,"timeoutSeconds":3}', 'title' => ''], + 'Tags' => [ + 'description' => 'The tag information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'k1', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PackageUrl' => ['description' => 'The deployment package URL. If your deployment package is uploaded through SAE, note the following:'."\n" + ."\n" + .'- This URL cannot be used for direct download. Use the GetPackageVersionAccessableUrl operation to obtain a downloadable URL (valid for 10 minutes).'."\n" + .'- SAE retains the package for a maximum of 90 days. After 90 days, the URL is no longer returned and the package is no longer available for download.', 'type' => 'string', 'example' => 'https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war', 'title' => ''], + 'PackageType' => ['description' => 'The application package type. Valid values:'."\n" + ."\n" + .'- When you deploy with Java, **FatJar**, **War**, and **Image** are supported.'."\n" + .'- When you deploy with PHP, the following types are supported:'."\n" + .' - **PhpZip**'."\n" + .' - **IMAGE\\_PHP\\_5\\_4**'."\n" + .' - **IMAGE\\_PHP\\_5\\_4\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_5\\_5**'."\n" + .' - **IMAGE\\_PHP\\_5\\_5\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_5\\_6**'."\n" + .' - **IMAGE\\_PHP\\_5\\_6\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_0**'."\n" + .' - **IMAGE\\_PHP\\_7\\_0\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_1**'."\n" + .' - **IMAGE\\_PHP\\_7\\_1\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_2**'."\n" + .' - **IMAGE\\_PHP\\_7\\_2\\_ALPINE**'."\n" + .' - **IMAGE\\_PHP\\_7\\_3**'."\n" + .' - **IMAGE\\_PHP\\_7\\_3\\_ALPINE**', 'type' => 'string', 'example' => 'War', 'title' => ''], + 'PreStop' => ['description' => 'The script that is run before the container stops. A script is triggered before the container is deleted. Format: `{"exec":{"command":\\["cat","/etc/group"\\]}}`', 'type' => 'string', 'example' => '{"exec":{"command":["cat","/etc/group"]}}', 'title' => ''], + 'PackageVersion' => ['description' => 'The version of the deployment package. This parameter is required when **Package Type** is set to **FatJar** or **War**.', 'type' => 'string', 'example' => '1.0', 'title' => ''], + 'JarStartArgs' => ['description' => 'The arguments for starting the JAR package application. The default startup command for the application: `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`', 'type' => 'string', 'example' => 'start', 'title' => ''], + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'demo-app', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'JarStartOptions' => ['description' => 'The options for starting the JAR package application. The default startup command for the application: `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`', 'type' => 'string', 'example' => '-Dtest=true', 'title' => ''], + 'Replicas' => ['description' => 'The number of application instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'UpdateStrategy' => ['description' => 'The deployment policy. When the minimum number of available instances is 1, the value of the **UpdateStrategy** field is "". When the minimum number of available instances is greater than 1, examples are as follows:'."\n" + ."\n" + .'- Canary release of 1 instance + 2 subsequent batches + automatic batching + 1-minute batch interval: `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}`'."\n" + .' '."\n" + .'- Canary release of 1 instance + 2 subsequent batches + manual batching: `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}`'."\n" + ."\n" + .'- 2 batches + automatic batching + 0-minute batch interval: `{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}`'."\n" + ."\n" + .'Parameter descriptions:'."\n" + ."\n" + .'- **type**: The release policy type. Valid values: **GrayBatchUpdate** (grayscale batch release) and **BatchUpdate** (batch release).'."\n" + .'- **batchUpdate**: The batch release policy.'."\n" + .' - **batch**: The number of release batches.'."\n" + .' - **releaseType**: The processing method between batches. Valid values: **auto** (automatic) and **manual** (manual).'."\n" + .' - **batchWaitTime**: The interval between deployments within a batch, in seconds.'."\n" + .'- **grayUpdate**: The remaining batches after grayscale release. This parameter is required when **type** is set to **GrayBatchUpdate**.', 'type' => 'string', 'example' => '{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}', 'title' => ''], + 'MinReadyInstances' => ['description' => 'The minimum number of available instances. Valid values:'."\n" + ."\n" + .'- If set to **0**, the application interrupts services during the upgrade process.'."\n" + .'- If set to **-1**, the system-recommended value is used, which is 25% of the current number of instances. If the current number of instances is 5, 5 × 25% = 1.25, which is rounded up to 2.'."\n" + ."\n" + .'> Set the minimum number of available instances to ≥ 1 for each rolling deployment to avoid service interruptions.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MinReadyInstanceRatio' => ['description' => 'The minimum percentage of available instances. Valid values:'."\n" + ."\n" + .'- **-1**: The default value, which indicates that the percentage is not used. If this parameter is not specified, the system uses **-1** by default.'."\n" + .'- **0~100**: The unit is percentage, rounded up. For example, if set to **50**%, and the current number of instances is 5, the minimum number of available instances is 3.'."\n" + ."\n" + .'> When both **MinReadyInstance** and **MinReadyInstanceRatio** are specified and the value of **MinReadyInstanceRatio** is not **-1**, the **MinReadyInstanceRatio** parameter takes precedence. For example, if **MinReadyInstances** is set to **5** and **MinReadyInstanceRatio** is set to **50**, the system uses **MinReadyInstanceRatio** to calculate the minimum number of available instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '-1', 'title' => ''], + 'Memory' => ['description' => 'The memory size required by each instance, in MB. This value cannot be 0. The memory size has a one-to-one mapping with CPU. Only the following defined specifications are supported:'."\n" + .'- **1024**: Corresponds to 500 millicores and 1000 millicores of CPU.'."\n" + .'- **2048**: Corresponds to 500, 1000, and 2000 millicores of CPU.'."\n" + .'- **4096**: Corresponds to 1000, 2000, and 4000 millicores of CPU.'."\n" + .'- **8192**: Corresponds to 2000, 4000, and 8000 millicores of CPU.'."\n" + .'- **12288**: Corresponds to 12000 millicores of CPU.'."\n" + .'- **16384**: Corresponds to 4000, 8000, and 16000 millicores of CPU.'."\n" + .'- **24576**: Corresponds to 12000 millicores of CPU.'."\n" + .'- **32768**: Corresponds to 16000 millicores of CPU.'."\n" + .'- **65536**: Corresponds to 8000, 16000, and 32000 millicores of CPU.'."\n" + .'- **131072**: Corresponds to 32000 millicores of CPU.', 'type' => 'integer', 'format' => 'int32', 'example' => '2048', 'title' => ''], + 'Php' => ['description' => 'The PHP version on which the PHP deployment package depends. Images are not supported.', 'type' => 'string', 'example' => 'PHP-FPM 7.0', 'title' => ''], + 'PhpConfig' => ['description' => 'The content of the PHP configuration file.', 'type' => 'string', 'example' => 'k1=v1', 'title' => ''], + 'PhpConfigLocation' => ['description' => 'The mount path of the PHP application startup configuration. Make sure that the PHP server uses this configuration file for startup.', 'type' => 'string', 'example' => '/usr/local/etc/php/php.ini', 'title' => ''], + 'PostStart' => ['description' => 'The script that is run after the container starts. A script is triggered immediately after the container is created. Format: `{"exec":{"command":\\["cat","/etc/group"\\]}}`', 'type' => 'string', 'example' => '{"exec":{"command":["cat","/etc/group"]}}', 'title' => ''], + 'TerminationGracePeriodSeconds' => ['description' => 'The graceful shutdown timeout period. Default value: 30. Unit: seconds. Valid values: 1 to 300.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'CommandArgs' => ['description' => 'The arguments for the image startup command. These are the arguments required by the startup command **Command**. Format:'."\n" + ."\n" + .'`["a","b"]`'."\n" + ."\n" + .'In the example for the **Command** parameter, `CommandArgs=["abc", ">", "file0"]`, where `["abc", ">", "file0"]` must be converted to the String type and the internal format is a JSON array. If this parameter is not required, leave it empty.', 'type' => 'string', 'example' => '["a","b"]', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'MountHost' => ['description' => 'The mount point of NAS within the application VPC. If the configuration has not changed during deployment, you do not need to set this parameter (that is, the **MountHost** field does not need to be included in the request). To clear the NAS configuration, set the value of this field to an empty string in the request (that is, set the value of the **MountHost** field to "").', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'TomcatConfig' => ['description' => 'The Tomcat configuration. Set this parameter to "" or "{}" to delete the configuration:'."\n" + ."\n" + .'- **port**: The port number. Valid values: 1024 to 65535. Ports smaller than 1024 require root permissions. Because the container is configured with admin permissions, specify a port greater than 1024. Default value: 8080.'."\n" + .'- **contextPath**: The access path. Default value: root directory "/".'."\n" + .'- **maxThreads**: The maximum number of connections in the connection pool. Default value: 400.'."\n" + .'- **uriEncoding**: The encoding format of Tomcat. Valid values: **UTF-8**, **ISO-8859-1**, **GBK**, and **GB2312**. Default value: **ISO-8859-1**.'."\n" + .'- **useBodyEncoding**: Specifies whether to use **BodyEncoding for URL**. Default value: **true**.', 'type' => 'string', 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'VSwitchId' => ['description' => 'vSwitch ID。', 'type' => 'string', 'example' => 'vsw-2ze559r1z1bpwqxwp****', 'title' => ''], + 'Cpu' => ['description' => 'The CPU required by each instance, in millicores. This value cannot be 0. Only the following defined specifications are supported:'."\n" + ."\n" + .'- **500**'."\n" + .'- **1000**'."\n" + .'- **2000**'."\n" + .'- **4000**'."\n" + .'- **8000**'."\n" + .'- **16000**'."\n" + .'- **32000**', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], + 'Envs' => ['description' => 'The container environment variable parameters. Custom values or references to configuration items are supported. To reference a configuration item, create a ConfigMap instance first. For more information, see [CreateConfigMap](~~176914~~). Valid values:'."\n" + .'- Custom configuration'."\n" + .' - **name**: The environment variable name.'."\n" + .' - **value**: The environment variable value.'."\n" + .'- Reference to a configuration item'."\n" + .' - **name**: The environment variable name. You can reference a single key or all keys. To reference all keys, enter `sae-sys-configmap-all-<ConfigMap name>`, such as `sae-sys-configmap-all-test1`.'."\n" + .' - **valueFrom**: The environment variable reference. Set the value to `configMapRef`.'."\n" + .' - **configMapId**: The ConfigMap ID.'."\n" + .' - **key**: The key. If all keys are referenced, do not set this field.', 'type' => 'string', 'example' => '[{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}]', 'title' => ''], + 'MountDesc' => [ + 'description' => 'The mount description information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The mount description information.', + 'type' => 'object', + 'properties' => [ + 'MountPath' => ['description' => 'The container mount path.', 'type' => 'string', 'example' => '/tmp', 'title' => ''], + 'NasPath' => ['description' => 'The NAS relative file directory.', 'type' => 'string', 'example' => '/', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EnableAhas' => ['description' => 'Specifies whether to connect to Application High Availability Service (AHAS). Valid values:'."\n" + ."\n" + .'- **true**: Connected to AHAS.'."\n" + .'- **false**: Not connected to AHAS.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'CustomHostAlias' => ['description' => 'The custom host mapping in the container. Valid values:'."\n" + ."\n" + .'- **hostName**: The domain name or hostname.'."\n" + .'- **ip**: The IP address.', 'type' => 'string', 'example' => '[{"hostName":"test.host.name","ip":"0.0.0.0"}]', 'title' => ''], + 'WebContainer' => ['description' => 'The Tomcat version on which the deployment package depends. Valid values:'."\n" + ."\n" + .'- **apache-tomcat-7.0.91**'."\n" + .'- **apache-tomcat-8.5.42**'."\n" + ."\n" + .'This parameter is not supported when **Package Type** is set to **Image**.', 'type' => 'string', 'example' => 'apache-tomcat-7.0.91', 'title' => ''], + 'Command' => ['description' => 'The image startup command. This command must be an executable object that exists in the container. Example:'."\n" + ."\n" + .'```'."\n" + .'command:'."\n" + .' - echo'."\n" + .' - abc'."\n" + .' - >'."\n" + .' - file0'."\n" + .'```'."\n" + .'Based on the preceding example, `Command="echo", CommandArgs=["abc", ">", "file0"]`.', 'type' => 'string', 'example' => 'echo', 'title' => ''], + 'WarStartOptions' => ['description' => 'The startup options for the WAR package application. The default startup command for the application: `java $JAVA_OPTS $CATALINA_OPTS -Options org.apache.catalina.startup.Bootstrap "$@" start`.', 'type' => 'string', 'example' => 'custom-option', 'title' => ''], + 'PhpArmsConfigLocation' => ['description' => 'The mount path for PHP application monitoring. Make sure that the PHP server loads the configuration file from this path.'."\n" + ."\n" + .'You do not need to manage the configuration content. SAE automatically renders the correct configuration file.', 'type' => 'string', 'example' => '/usr/local/etc/php/conf.d/arms.ini', 'title' => ''], + 'NasId' => ['description' => 'NAS ID。', 'type' => 'string', 'example' => 'AKSN****', 'title' => ''], + 'OssAkId' => ['title' => '', 'description' => 'The AccessKey ID for OSS read/write operations.', 'type' => 'string', 'example' => 'xxxxxx'], + 'OssAkSecret' => ['title' => '', 'description' => 'The AccessKey Secret for OSS read/write operations.', 'type' => 'string', 'example' => 'xxxxxx'], + 'OssMountDescs' => [ + 'title' => '', + 'description' => 'The OSS mount description.', + 'type' => 'array', + 'items' => [ + 'description' => 'The OSS mount description.', + 'type' => 'object', + 'properties' => [ + 'bucketName' => ['title' => '', 'description' => 'The bucket name.', 'type' => 'string', 'example' => 'oss-bucket'], + 'bucketPath' => ['title' => '', 'description' => 'The directory or OSS object that you created in OSS. If the OSS mount directory does not exist, an exception is triggered.', 'type' => 'string', 'example' => 'data/user.data'], + 'mountPath' => ['title' => '', 'description' => 'The container path in SAE. If the path already exists, it is overwritten. If the path does not exist, it is created.', 'type' => 'string', 'example' => '/usr/data/user.data'], + 'readOnly' => ['title' => '', 'description' => 'Indicates whether the container path has read-only permission to the mounted directory resources. Valid values:'."\n" + ."\n" + .'- **true**: Read-only permission.'."\n" + .'- **false**: Read and write permission.', 'type' => 'boolean', 'example' => 'true'], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '', + ], + 'EdasContainerVersion' => ['description' => 'The version of the application runtime environment in the HSF framework, such as the Ali-Tomcat container.', 'type' => 'string', 'example' => '3.5.3', 'title' => ''], + 'Timezone' => ['description' => 'The time zone. Default value: **Asia/Shanghai**.', 'type' => 'string', 'example' => 'Asia/Shanghai', 'title' => ''], + 'AppDescription' => ['description' => 'The application description.', 'type' => 'string', 'example' => 'Sample application', 'title' => ''], + 'EnableGreyTagRoute' => ['title' => '', 'description' => 'Specifies whether to enable the traffic canary release rule. This rule applies only to applications that use the Spring Cloud and Dubbo frameworks. Valid values:'."\n" + ."\n" + .'- **true**: Enabled.'."\n" + .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'false'], + 'MseApplicationId' => ['title' => '', 'description' => 'The application ID on the Microservices Engine (MSE) side.', 'type' => 'string', 'example' => 'xxxxxxx@xxxxx'], + 'AcrInstanceId' => ['title' => '', 'description' => 'The ACR Enterprise instance ID.', 'type' => 'string', 'example' => 'cri-xxxxxx'], + 'AcrAssumeRoleArn' => ['description' => 'The ARN of the RAM role required for pulling images across accounts. For more information, see [Pull Alibaba Cloud images across accounts](~~190675~~) and [Grant cross-account permissions by using RAM roles](~~223585~~).', 'type' => 'string', 'example' => 'acs:ram::123456789012****:role/adminrole', 'title' => ''], + 'ImagePullSecrets' => ['description' => 'The corresponding secret ID.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'AssociateEip' => ['title' => '', 'description' => 'Specifies whether to associate an EIP. Valid values:'."\n" + ."\n" + .'- **true**: Associated.'."\n" + .'- **false**: Not associated.', 'type' => 'boolean', 'example' => 'true'], + 'KafkaConfigs' => ['description' => 'The summary of log collection configurations for Kafka. Valid values:'."\n" + ."\n" + .'- **kafkaEndpoint**: The endpoint of the Kafka API.'."\n" + .'- **kafkaInstanceId**: The Kafka instance ID.'."\n" + .'- **kafkaConfigs**: The configuration summary for one or more log entries. For example values and parameter descriptions, see the **kafkaConfigs** request parameter in this topic.', 'type' => 'string', 'example' => '{"kafkaEndpoint":"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX","kafkaInstanceId":"alikafka_pre-cn-7pp2l8kr****","kafkaConfigs":[{"logType":"file_log","logDir":"/tmp/a.log","kafkaTopic":"test2"},{"logType":"stdout","logDir":"","kafkaTopic":"test"}]}', 'title' => ''], + 'ProgrammingLanguage' => ['description' => 'The programming language of the technology stack used to create the application. Valid values:'."\n" + ."\n" + .'- **java**: Java.'."\n" + .'- **php**: PHP.'."\n" + .'- **other**: Other languages, such as Python, C++, Go, .NET, and Node.js.', 'type' => 'string', 'example' => 'java', 'title' => ''], + 'PvtzDiscovery' => ['description' => 'Enables K8s Service-based service registration and discovery.', 'type' => 'string', 'example' => '{ "serviceName": "bwm-poc-sc-gateway-cn-beijing-front", "namespaceId": "cn-beijing:front", "portAndProtocol": { "18012": "TCP" }, "portProtocols": [ { "port": "18012", "protocol": "TCP" } ], "enable": true }', 'title' => ''], + 'SwimlanePvtzDiscovery' => ['description' => 'Configures K8s Service-based service registration and discovery with end-to-end canary release.', 'type' => 'string', 'example' => '{\\"enable\\":\\"false\\",\\"namespaceId\\":\\"cn-beijing:test\\",\\"portAndProtocol\\":{\\"2000:TCP\\":\\"18081\\"},\\"portProtocols\\":[{\\"port\\":2000,\\"protocol\\":\\"TCP\\",\\"targetPort\\":18081}],\\"pvtzDiscoveryName\\":\\"cn-beijing-1421801774382676\\",\\"serviceId\\":\\"3513\\",\\"serviceName\\":\\"demo-gray.test\\"}', 'title' => ''], + 'MicroRegistration' => ['description' => 'The Nacos registry. Valid values:'."\n" + .'- **0**: SAE built-in Nacos.'."\n" + .'- **1**: Self-managed Nacos.'."\n" + .'- **2**: MSE commercial edition Nacos.', 'type' => 'string', 'example' => '"0"', 'title' => ''], + 'NasConfigs' => ['description' => 'The NAS mount configurations.', 'type' => 'string', 'example' => '[{"mountPath":"/test1","readOnly":false,"nasId":"nasId1","mountDomain":"nasId1.cn-shenzhen.nas.aliyuncs.com","nasPath":"/test1"},{"nasId":"nasId2","mountDomain":"nasId2.cn-shenzhen.nas.aliyuncs.com","readOnly":false,"nasPath":"/test2","mountPath":"/test2"}]', 'title' => ''], + 'Python' => ['description' => 'The Python environment. PYTHON 3.9.15 is supported.', 'type' => 'string', 'example' => 'PYTHON 3.9.15', 'title' => ''], + 'PythonModules' => ['description' => 'The custom installation module dependencies. By default, the dependencies defined in the requirements.txt file in the root directory are installed. If no dependencies are configured or custom packages are needed, you can specify the dependencies to install.', 'type' => 'string', 'example' => 'Flask==2.0', 'title' => ''], + 'MseApplicationName' => ['description' => 'The application name after the SAE service is registered with MSE.', 'type' => 'string', 'example' => 'cn-shenzhen-alb-demo-5c****', 'title' => ''], + 'AppSource' => ['description' => 'The SAE application type.'."\n" + ."\n" + .'- micro_service'."\n" + ."\n" + .'- web'."\n" + ."\n" + .'- job', 'type' => 'string', 'example' => 'micro_service', 'title' => ''], + 'ServiceTags' => [ + 'description' => 'The canary release tags configured for the application.', + 'type' => 'object', + 'additionalProperties' => ['description' => 'The canary release tag value.', 'type' => 'string', 'example' => 'tag1', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Dotnet' => ['description' => 'The .NET framework version:'."\n" + ."\n" + .'- .NET 3.1'."\n" + .'- .NET 5.0'."\n" + .'- .NET 6.0'."\n" + .'- .NET 7.0'."\n" + .'- .NET 8.0', 'type' => 'string', 'example' => '.NET 8.0', 'title' => ''], + 'MicroRegistrationConfig' => ['description' => 'The registry configuration. This parameter takes effect only when the registry type is MSE Nacos Enterprise Edition.', 'type' => 'string', 'example' => '{\\"instanceId\\":\\"mse-cn-1ls43******\\",\\"namespace\\":\\"62ee12fb-c279-4da4-be96-21**********\\"}', 'title' => ''], + 'EnableIdle' => ['description' => 'Specifies whether to enable idle mode. Valid values:'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'EnableNewArms' => ['description' => 'Specifies whether to enable the new ARMS feature. Valid values:'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'EnableCpuBurst' => ['description' => 'Specifies whether to enable the CPU Burst feature. Valid values:'."\n" + ."\n" + .'- true: Enabled.'."\n" + .'- false: Not enabled.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'OidcRoleName' => ['description' => 'The RAM role for identity authentication.'."\n" + .'> Create an OIDC identity provider and an identity provider role in the same region in advance. For more information, see [Create an OIDC identity provider](~~2331022~~) and [Create a role for SSO identity provider](~~2331016~~).', 'type' => 'string', 'example' => 'sae-test', 'title' => ''], + 'SecretMountDesc' => [ + 'description' => 'The Secret mount description.', + 'type' => 'array', + 'items' => [ + 'description' => 'The Secret mount description.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key with Base64-encoded data value.', 'type' => 'string', 'example' => 'task-center', 'title' => ''], + 'SecretName' => ['description' => 'The Secret instance name.', 'type' => 'string', 'example' => 'dummy-name-opaque-894', 'title' => ''], + 'MountPath' => ['description' => 'The mount path.', 'type' => 'string', 'example' => '/opt/www/runtime/logs', 'title' => ''], + 'SecretId' => ['description' => 'The queried Secret instance ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '520', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SidecarContainersConfig' => [ + 'description' => 'The sidecar container configuration.', + 'type' => 'array', + 'items' => [ + 'description' => 'The sidecar container configuration.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The container name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Cpu' => ['description' => 'The maximum CPU resources of the primary container that the sidecar container can use.', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'Memory' => ['description' => 'The maximum memory resources of the primary container that the sidecar container can use.', 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL.', 'type' => 'string', 'example' => 'registry.cn-beijing.aliyuncs.com/sae-dev-test/nginx:stable', 'title' => ''], + 'AcrInstanceId' => ['description' => 'The ACR Enterprise instance ID. This parameter is required when **ImageUrl** is from ACR Enterprise Edition.', 'type' => 'string', 'example' => 'cri-fhzlneorxala66ip', 'title' => ''], + 'Command' => ['description' => 'The image startup command. This command must be an executable object that exists in the container. Example:'."\n" + ."\n" + .'```'."\n" + .'command:'."\n" + .' - echo'."\n" + .' - abc'."\n" + .' - >'."\n" + .' - file0'."\n" + .'```'."\n" + .'Based on the preceding example, `Command="echo", CommandArgs=["abc", ">", "file0"]`.', 'type' => 'string', 'example' => '/bin/sh', 'title' => ''], + 'CommandArgs' => ['description' => 'The arguments for the image startup command. These are the arguments required by the startup command **Command**. Format:'."\n" + ."\n" + .'`["a","b"]`'."\n" + ."\n" + .'In the preceding example, `CommandArgs=["abc", ">", "file0"]`, where `["abc", ">", "file0"]` must be converted to the String type and the internal format is a JSON array. If this parameter is not required, leave it empty.', 'type' => 'string', 'example' => '[\\"-c\\",\\"echo \\\\\\"test\\\\\\" > /home/nas/test.log && sleep 10000000s\\"]', 'title' => ''], + 'Envs' => ['description' => 'The container environment variable parameters. Custom values or references to configuration items are supported. To reference a configuration item, create a ConfigMap instance first. For more information, see [CreateConfigMap](~~176914~~). Valid values:'."\n" + .'- Custom configuration'."\n" + .' - **name**: The environment variable name.'."\n" + .' - **value**: The environment variable value. This value takes precedence over valueFrom.'."\n" + .'- Reference to a configuration item (valueFrom)'."\n" + .' - **name**: The environment variable name. You can reference a single key or all keys. To reference all keys, enter `sae-sys-configmap-all-<ConfigMap name>`, such as `sae-sys-configmap-all-test1`.'."\n" + .' - **valueFrom**: The environment variable reference. Set the value to `configMapRef`.'."\n" + .' - **configMapId**: The ConfigMap ID.'."\n" + .' - **key**: The key. If all keys are referenced, do not set this field.', 'type' => 'string', 'example' => '[{\\"name\\":\\"k1\\",\\"value\\":\\"c8e3a815-e5d3-4adf-abb3-98b106a607c4\\"}]', 'title' => ''], + 'ConfigMapMountDesc' => [ + 'description' => 'The ConfigMap mount description. Use the configuration items created on the namespace configuration page to inject configuration information into the container. Parameter descriptions:'."\n" + .'- **configMapId**: The ConfigMap instance ID. You can obtain this ID by calling the [ListNamespacedConfigMaps](~~176917~~) operation.'."\n" + .'- **key**: The key-value pair.'."\n" + .'> You can mount all keys by passing the `sae-sys-configmap-all` parameter.'."\n" + .'- **mountPath**: The mount path.'."\n" + .'- **ConfigMapName**: The ConfigMap name.', + 'type' => 'array', + 'items' => [ + 'description' => 'The ConfigMap mount description.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The ConfigMap key.', 'type' => 'string', 'example' => 'key', 'title' => ''], + 'ConfigMapName' => ['description' => 'The ConfigMap name.', 'type' => 'string', 'example' => 'ConfigMap-test', 'title' => ''], + 'MountPath' => ['description' => 'The container mount path.', 'type' => 'string', 'example' => '/mnt/test', 'title' => ''], + 'ConfigMapId' => ['description' => 'The ConfigMap instance ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '7361', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EmptyDirDesc' => [ + 'description' => 'The shared temporary storage. Sets a temporary storage directory and mounts it to the primary container and sidecar container.', + 'type' => 'array', + 'items' => [ + 'description' => 'The shared temporary storage.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The temporary storage name.', 'type' => 'string', 'example' => 'sidecar-container', 'title' => ''], + 'MountPath' => ['description' => 'The mount path of the data volume in the container.', 'type' => 'string', 'example' => '/mnt/cache', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SecretMountDesc' => [ + 'description' => 'The Secret mount description.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key with Base64-encoded data value.', 'type' => 'string', 'title' => '', 'example' => ''], + 'SecretName' => ['description' => 'The Secret instance name.', 'type' => 'string', 'title' => '', 'example' => ''], + 'MountPath' => ['description' => 'The mount path.', 'type' => 'string', 'title' => '', 'example' => ''], + 'SecretId' => ['description' => 'The Secret instance ID.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Liveness' => ['description' => 'The container health check.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Readiness' => ['description' => 'The application startup status check.', 'type' => 'string', 'title' => '', 'example' => ''], + 'PreStop' => ['description' => 'The script that is run before the container stops.', 'type' => 'string', 'title' => '', 'example' => ''], + 'PostStart' => ['description' => 'The script that is run after the container starts.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'InitContainersConfig' => [ + 'description' => 'The init container configuration.', + 'type' => 'array', + 'items' => [ + 'description' => 'The init container configuration.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The init container name.', 'type' => 'string', 'example' => 'init-container', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL used by the init container.'."\n" + .'[_single.resp.200.props.Data.InitContainersConfig.items.Env', 'type' => 'string', 'example' => 'registry.cn-shenzhen.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0', 'title' => ''], + 'Command' => ['description' => 'The image startup command. This command must be an executable object that exists in the container. Example:'."\n" + ."\n" + .'```'."\n" + .'command:'."\n" + .' - echo'."\n" + .' - abc'."\n" + .' - >'."\n" + .' - file0'."\n" + .'```'."\n" + .'Based on the preceding example, `Command="echo", CommandArgs=["abc", ">", "file0"]`.', 'type' => 'string', 'example' => '/bin/sh', 'title' => ''], + 'CommandArgs' => ['description' => 'The arguments for the image startup command. These are the arguments required by the startup command **Command**. Format:'."\n" + ."\n" + .'`["a","b"]`'."\n" + ."\n" + .'In the preceding example, `CommandArgs=["abc", ">", "file0"]`, where `["abc", ">", "file0"]` must be converted to the String type and the internal format is a JSON array. If this parameter is not required, leave it empty.', 'type' => 'string', 'example' => '["a","b"]'."\n", 'title' => ''], + 'Envs' => ['description' => 'The container environment variable parameters. You can customize environment variables or reference ConfigMap instances. To reference a ConfigMap instance, create a ConfigMap instance first. For more information, see [CreateConfigMap](~~176914~~). Valid values:'."\n" + .'- Custom configuration'."\n" + .' - **name**: the name of the environment variable.'."\n" + .' - **value**: the value of the environment variable. This takes priority over valueFrom.'."\n" + .'- Reference a ConfigMap instance (valueFrom)'."\n" + .' - **name**: the name of the environment variable. You can reference a single key or all keys. To reference all keys, enter `sae-sys-configmap-all-<ConfigMap name>`, such as `sae-sys-configmap-all-test1`.'."\n" + .' - **valueFrom**: the reference of the environment variable. Set the value to `configMapRef`.'."\n" + .' - **configMapId**: the ID of the ConfigMap instance.'."\n" + .' - **key**: the key. Do not set this field if you want to reference all keys.'."\n" + .'- Reference a secret (valueFrom)'."\n" + .' - **name**: the name of the environment variable. You can reference a single key or all keys. To reference all keys, enter `sae-sys-secret-all-<secret name>`, such as `sae-sys-secret-all-test1`.'."\n" + .' - **valueFrom**: the reference of the environment variable. Set the value to `secretRef`.'."\n" + .' - **secretId**: the ID of the secret.'."\n" + .' - **key**: the key. Do not set this field if you want to reference all keys.', 'type' => 'string', 'example' => '[{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}]'."\n", 'title' => ''], + 'ConfigMapMountDesc' => [ + 'description' => 'The ConfigMap information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The ConfigMap key-value pair.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The ConfigMap key-value pair.', 'type' => 'string', 'example' => 'k1'."\n", 'title' => ''], + 'ConfigMapName' => ['description' => 'The ConfigMap name.', 'type' => 'string', 'example' => 'test'."\n", 'title' => ''], + 'MountPath' => ['description' => 'The container mount path.', 'type' => 'string', 'example' => '/tmp'."\n", 'title' => ''], + 'ConfigMapId' => ['description' => 'ConfigMap ID。', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'EmptyDirDesc' => [ + 'description' => 'The shared temporary storage.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The temporary storage name.', 'type' => 'string', 'title' => '', 'example' => ''], + 'MountPath' => ['description' => 'The mount path of the data volume in the container.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SecretMountDesc' => [ + 'description' => 'The Secret mount description.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key.', 'type' => 'string', 'title' => '', 'example' => ''], + 'SecretName' => ['description' => 'The Secret instance name.', 'type' => 'string', 'title' => '', 'example' => ''], + 'MountPath' => ['description' => 'The mount path.', 'type' => 'string', 'title' => '', 'example' => ''], + 'SecretId' => ['description' => 'The Secret instance ID.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'CustomImageNetworkType' => ['description' => 'The type of the custom image. If the image is not a custom image, set this parameter to an empty string. Valid values:'."\n" + ."\n" + .'- internet: public image'."\n" + .'- intranet: internal image', 'type' => 'string', 'example' => 'internet', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type. Only `application` is supported.', 'type' => 'string', 'example' => 'application', 'title' => ''], + 'BaseAppId' => ['description' => 'The ID of the baseline application.', 'type' => 'string', 'example' => '8c573618-8d72-4407-baf4-f7b64b******', 'title' => ''], + 'MicroserviceEngineConfig' => ['description' => 'The microservice governance configuration.'."\n" + ."\n" + .'- Specifies whether to enable microservice governance (enable):'."\n" + ."\n" + .' - true: enabled'."\n" + ."\n" + .' - false: disabled'."\n" + ."\n" + .'- Lossless rolling update configuration (mseLosslessRule):'."\n" + ."\n" + .' - delayTime: the delay time.'."\n" + ."\n" + .' - enable: specifies whether to enable the lossless online feature. true indicates enabled. false indicates disabled.'."\n" + ."\n" + .' - notice: specifies whether to enable the notification feature. true indicates enabled. false indicates disabled.'."\n" + ."\n" + .' - warmupTime: the warm-up duration for traffic ramping, in seconds.', 'type' => 'string', 'example' => '{\\"Enable\\":true,\\"MseLosslessRule\\":{\\"enable\\":true,\\"notice\\":true,\\"delayTime\\":10,\\"warmupTime\\":120,\\"funcType\\":2,\\"aligned\\":false,\\"related\\":false,\\"lossLessDetail\\":false}}', 'title' => ''], + 'NewSaeVersion' => ['description' => 'The application version. Valid values:'."\n" + ."\n" + .'- lite: Lite Edition'."\n" + .'- std: Standard Edition'."\n" + .'- pro: Professional Edition', 'type' => 'string', 'example' => 'pro', 'title' => ''], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'example' => '495fc79c-ae61-4600-866d-a09d68******', 'title' => ''], + 'DiskSize' => ['description' => 'The disk storage size, in GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'StartupProbe' => ['description' => 'The startup probe of the application.', 'type' => 'string', 'example' => '{\\"exec\\":{\\"command\\":[\\"/bin/sh\\",\\"-c\\",\\"#!Note: If microservice config is enabled, the application will be automatically injected with the prestop configuration for lossless offline. If you delete this prestop configuration, lossless offline will not be effective.\\\\n echo stop > /tmp/prestop; /home/admin/.tools/curl http://127.0.0.1:54199/offline; sleep 30\\"]}}', 'title' => ''], + 'GpuCount' => ['description' => 'The number of GPUs.', 'type' => 'string', 'title' => '', 'example' => ''], + 'GpuType' => ['description' => 'The GPU type.', 'type' => 'string', 'title' => '', 'example' => ''], + 'EnablePrometheus' => ['description' => 'Indicates whether Prometheus custom metric collection is enabled.', 'type' => 'boolean', 'title' => '', 'example' => ''], + 'IsStateful' => ['description' => 'Indicates whether the application is stateful.', 'type' => 'boolean', 'title' => '', 'example' => ''], + 'CmsServiceId' => ['description' => 'The CloudMonitor service ID.', 'type' => 'string', 'title' => '', 'example' => ''], + 'HeadlessPvtzDiscovery' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Html' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'EmptyDirDesc' => [ + 'description' => 'The shared temporary storage.', + 'type' => 'array', + 'items' => [ + 'description' => 'The shared ephemeral storage configuration.', + 'type' => 'object', + 'properties' => [ + 'Name' => ['description' => 'The temporary storage name.', 'type' => 'string', 'title' => '', 'example' => ''], + 'MountPath' => ['description' => 'The mount path.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DeploymentName' => ['description' => 'The instance name of the application in the ASI cluster.', 'type' => 'string', 'example' => 'demo-b0cdce9b-3d1f-4168-b206-b59f348f1a8a', 'title' => ''], + 'AlbIngressReadinessGate' => ['description' => 'The ALB gateway ReadinessGate configuration.', 'type' => 'string', 'title' => '', 'example' => ''], + 'MaxSurgeInstances' => ['description' => 'The Peak Volume of instances.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], + 'MaxSurgeInstanceRatio' => ['description' => 'The Peak Volume instance ratio.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], + 'AgentVersion' => ['description' => 'The agent version.', 'type' => 'string', 'title' => '', 'example' => ''], + 'EnableNamespaceAgentVersion' => ['description' => 'Indicates whether the namespace agent version configuration is reused.', 'type' => 'boolean', 'title' => '', 'example' => ''], + 'SlsLogEnvTags' => ['title' => '', 'description' => 'sls log env tags', 'type' => 'string', 'example' => ''], + 'LokiConfigs' => ['description' => 'LokiConfigs', 'type' => 'string', 'title' => '', 'example' => ''], + 'IdleHour' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'Labels' => [ + 'description' => 'The labels.', + 'type' => 'object', + 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'title' => '', + 'example' => '', + ], + 'RaspConfig' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'EnableRasp' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], + 'RaspAppName' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'RaspAppKey' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the update of instance specifications was successful. Valid values:'."\n" - ."\n" - .'* **true**: Updated.'."\n" - .'* **false**: Failed to update.', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** field is not returned.'."\n" + .'- If the request fails, the **ErrorCode** field is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The API status or POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: success.'."\n" + .'- **3xx**: redirection.'."\n" + .'- **4xx**: request error.'."\n" + .'- **5xx**: server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application configuration information is retrieved. Valid values:'."\n" + ."\n" + .'- **true**: Retrieved.'."\n" + .'- **false**: Failed to retrieve.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidInstanceSpecification.Unsupported', - 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'Application.NotDeployYet', - 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], + ], + ], + 'title' => 'Retrieve application configuration information', + 'summary' => 'Retrieves the configuration information of an application.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2026-03-05T03:34:48.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2026-03-05T03:21:32.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-03-04T11:14:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-03-04T09:53:18.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-03-04T05:50:17.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-03-04T03:40:09.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-03-04T03:39:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-25T06:15:54.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2026-02-25T06:10:12.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-25T01:45:56.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-25T01:42:47.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T12:42:31.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T12:38:26.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:44:52.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:14:30.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:09:20.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:05:44.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:00:11.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T10:52:40.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-04T02:09:07.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-03T03:18:30.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-03T02:36:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-30T08:18:03.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-30T02:56:58.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-15T02:33:07.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T13:03:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T12:45:37.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T12:32:29.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T09:00:03.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T08:52:09.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-30T11:59:49.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-22T05:47:45.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-11-27T05:52:40.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-11-04T03:34:36.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-10-24T09:36:12.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-10-13T09:40:49.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-09-29T09:27:19.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-09-18T11:30:37.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-07-30T06:59:49.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-07-29T05:33:47.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-07-04T06:12:37.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-05-29T01:54:35.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-05-26T08:50:05.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-04-25T11:26:57.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-04-07T03:09:05.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-02-26T08:53:44.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-02-13T01:45:50.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-01-20T11:42:19.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-01-13T06:07:31.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-01-02T06:58:16.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-12-26T08:38:34.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-12-17T11:33:09.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-12-10T09:29:00.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-11-08T03:11:29.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-10-11T03:29:12.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-09-12T03:24:21.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-08-28T07:04:48.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-08-12T10:24:04.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-05-21T02:16:45.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-01-22T11:44:40.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-10-24T12:02:07.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-09-25T08:34:30.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-06-07T08:56:24.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-11-22T13:03:50.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-03-03T12:42:21.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-11-17T02:29:04.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '800', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationConfig'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"AB521DBB-FA78-42E6-803F-A862EA4F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3b6f315637273629117900d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"ffd8cd45-2b5f-415d-b4d0-1003e80b****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<RescaleApplicationVerticallyResponse>\\n <RequestId>AB521DBB-FA78-42E6-803F-A862EA4F****</RequestId>\\n <Message>success</Message>\\n <TraceId>0bc3b6f315637273629117900d****</TraceId>\\n <Data>\\n <ChangeOrderId>ffd8cd45-2b5f-415d-b4d0-1003e80b****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</RescaleApplicationVerticallyResponse>","errorExample":""}]', - 'title' => 'RescaleApplicationVertically', - 'summary' => 'Changes the instance specifications of an application.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": {\\n \\"VpcId\\": \\"vpc-2ze0i263cnn311nvj****\\",\\n \\"Readiness\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"curl http://localhost:8080\\\\\\"]},\\\\\\"initialDelaySeconds\\\\\\":20,\\\\\\"timeoutSeconds\\\\\\":5}\\",\\n \\"ConfigMapMountDesc\\": [\\n {\\n \\"Key\\": \\"k1\\",\\n \\"ConfigMapName\\": \\"test\\",\\n \\"MountPath\\": \\"/tmp\\",\\n \\"ConfigMapId\\": 1\\n }\\n ],\\n \\"SecurityGroupId\\": \\"sg-wz969ngg2e49q5i4****\\",\\n \\"BatchWaitTime\\": 10,\\n \\"Jdk\\": \\"Open JDK 8\\",\\n \\"ImageUrl\\": \\"docker.io/library/nginx:1.14.2\\",\\n \\"SlsConfigs\\": \\"[{\\\\\\"logDir\\\\\\":\\\\\\"\\\\\\",\\\\\\"logType\\\\\\":\\\\\\"stdout\\\\\\"},{\\\\\\"logDir\\\\\\":\\\\\\"/tmp/a.log\\\\\\"}]\\",\\n \\"Liveness\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"curl http://localhost:8080\\\\\\"]},\\\\\\"initialDelaySeconds\\\\\\":20,\\\\\\"timeoutSeconds\\\\\\":3}\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"k1\\",\\n \\"Value\\": \\"v1\\"\\n }\\n ],\\n \\"PackageUrl\\": \\"https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war\\",\\n \\"PackageType\\": \\"War\\",\\n \\"PreStop\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"cat\\\\\\",\\\\\\"/etc/group\\\\\\"]}}\\",\\n \\"PackageVersion\\": \\"1.0\\",\\n \\"JarStartArgs\\": \\"start\\",\\n \\"AppName\\": \\"demo-app\\",\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"JarStartOptions\\": \\"-Dtest=true\\",\\n \\"Replicas\\": 2,\\n \\"UpdateStrategy\\": \\"{\\\\\\"type\\\\\\":\\\\\\"GrayBatchUpdate\\\\\\",\\\\\\"batchUpdate\\\\\\":{\\\\\\"batch\\\\\\":2,\\\\\\"releaseType\\\\\\":\\\\\\"auto\\\\\\",\\\\\\"batchWaitTime\\\\\\":1},\\\\\\"grayUpdate\\\\\\":{\\\\\\"gray\\\\\\":1}}\\",\\n \\"MinReadyInstances\\": 1,\\n \\"MinReadyInstanceRatio\\": -1,\\n \\"Memory\\": 2048,\\n \\"Php\\": \\"PHP-FPM 7.0\\",\\n \\"PhpConfig\\": \\"k1=v1\\",\\n \\"PhpConfigLocation\\": \\"/usr/local/etc/php/php.ini\\",\\n \\"PostStart\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"cat\\\\\\",\\\\\\"/etc/group\\\\\\"]}}\\",\\n \\"TerminationGracePeriodSeconds\\": 10,\\n \\"CommandArgs\\": \\"[\\\\\\"a\\\\\\",\\\\\\"b\\\\\\"]\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"MountHost\\": \\"example.com\\",\\n \\"TomcatConfig\\": \\"{\\\\\\"port\\\\\\":8080,\\\\\\"contextPath\\\\\\":\\\\\\"/\\\\\\",\\\\\\"maxThreads\\\\\\":400,\\\\\\"uriEncoding\\\\\\":\\\\\\"ISO-8859-1\\\\\\",\\\\\\"useBodyEncodingForUri\\\\\\":true}\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"VSwitchId\\": \\"vsw-2ze559r1z1bpwqxwp****\\",\\n \\"Cpu\\": 1000,\\n \\"Envs\\": \\"[{\\\\\\"name\\\\\\":\\\\\\"TEST_ENV_KEY\\\\\\",\\\\\\"value\\\\\\":\\\\\\"TEST_ENV_VAR\\\\\\"}]\\",\\n \\"MountDesc\\": [\\n {\\n \\"MountPath\\": \\"/tmp\\",\\n \\"NasPath\\": \\"/\\"\\n }\\n ],\\n \\"EnableAhas\\": \\"true\\",\\n \\"CustomHostAlias\\": \\"[{\\\\\\"hostName\\\\\\":\\\\\\"test.host.name\\\\\\",\\\\\\"ip\\\\\\":\\\\\\"0.0.0.0\\\\\\"}]\\",\\n \\"WebContainer\\": \\"apache-tomcat-7.0.91\\",\\n \\"Command\\": \\"echo\\",\\n \\"WarStartOptions\\": \\"custom-option\\",\\n \\"PhpArmsConfigLocation\\": \\"/usr/local/etc/php/conf.d/arms.ini\\",\\n \\"NasId\\": \\"AKSN****\\",\\n \\"OssAkId\\": \\"xxxxxx\\",\\n \\"OssAkSecret\\": \\"xxxxxx\\",\\n \\"OssMountDescs\\": [\\n {\\n \\"bucketName\\": \\"oss-bucket\\",\\n \\"bucketPath\\": \\"data/user.data\\",\\n \\"mountPath\\": \\"/usr/data/user.data\\",\\n \\"readOnly\\": true\\n }\\n ],\\n \\"EdasContainerVersion\\": \\"3.5.3\\",\\n \\"Timezone\\": \\"Asia/Shanghai\\",\\n \\"AppDescription\\": \\"Sample application\\",\\n \\"EnableGreyTagRoute\\": false,\\n \\"MseApplicationId\\": \\"xxxxxxx@xxxxx\\",\\n \\"AcrInstanceId\\": \\"cri-xxxxxx\\",\\n \\"AcrAssumeRoleArn\\": \\"acs:ram::123456789012****:role/adminrole\\",\\n \\"ImagePullSecrets\\": \\"10\\",\\n \\"AssociateEip\\": true,\\n \\"KafkaConfigs\\": \\"{\\\\\\"kafkaEndpoint\\\\\\":\\\\\\"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX\\\\\\",\\\\\\"kafkaInstanceId\\\\\\":\\\\\\"alikafka_pre-cn-7pp2l8kr****\\\\\\",\\\\\\"kafkaConfigs\\\\\\":[{\\\\\\"logType\\\\\\":\\\\\\"file_log\\\\\\",\\\\\\"logDir\\\\\\":\\\\\\"/tmp/a.log\\\\\\",\\\\\\"kafkaTopic\\\\\\":\\\\\\"test2\\\\\\"},{\\\\\\"logType\\\\\\":\\\\\\"stdout\\\\\\",\\\\\\"logDir\\\\\\":\\\\\\"\\\\\\",\\\\\\"kafkaTopic\\\\\\":\\\\\\"test\\\\\\"}]}\\",\\n \\"ProgrammingLanguage\\": \\"java\\",\\n \\"PvtzDiscovery\\": \\"{ \\\\\\"serviceName\\\\\\": \\\\\\"bwm-poc-sc-gateway-cn-beijing-front\\\\\\", \\\\\\"namespaceId\\\\\\": \\\\\\"cn-beijing:front\\\\\\", \\\\\\"portAndProtocol\\\\\\": { \\\\\\"18012\\\\\\": \\\\\\"TCP\\\\\\" }, \\\\\\"portProtocols\\\\\\": [ { \\\\\\"port\\\\\\": \\\\\\"18012\\\\\\", \\\\\\"protocol\\\\\\": \\\\\\"TCP\\\\\\" } ], \\\\\\"enable\\\\\\": true }\\",\\n \\"SwimlanePvtzDiscovery\\": \\"{\\\\\\\\\\\\\\"enable\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"false\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"namespaceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-beijing:test\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"portAndProtocol\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"2000:TCP\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"18081\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"portProtocols\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":2000,\\\\\\\\\\\\\\"protocol\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TCP\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"targetPort\\\\\\\\\\\\\\":18081}],\\\\\\\\\\\\\\"pvtzDiscoveryName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-beijing-1421801774382676\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"serviceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"3513\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"serviceName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"demo-gray.test\\\\\\\\\\\\\\"}\\",\\n \\"MicroRegistration\\": \\"\\\\\\"0\\\\\\"\\",\\n \\"NasConfigs\\": \\"[{\\\\\\"mountPath\\\\\\":\\\\\\"/test1\\\\\\",\\\\\\"readOnly\\\\\\":false,\\\\\\"nasId\\\\\\":\\\\\\"nasId1\\\\\\",\\\\\\"mountDomain\\\\\\":\\\\\\"nasId1.cn-shenzhen.nas.aliyuncs.com\\\\\\",\\\\\\"nasPath\\\\\\":\\\\\\"/test1\\\\\\"},{\\\\\\"nasId\\\\\\":\\\\\\"nasId2\\\\\\",\\\\\\"mountDomain\\\\\\":\\\\\\"nasId2.cn-shenzhen.nas.aliyuncs.com\\\\\\",\\\\\\"readOnly\\\\\\":false,\\\\\\"nasPath\\\\\\":\\\\\\"/test2\\\\\\",\\\\\\"mountPath\\\\\\":\\\\\\"/test2\\\\\\"}]\\",\\n \\"Python\\": \\"PYTHON 3.9.15\\",\\n \\"PythonModules\\": \\"Flask==2.0\\",\\n \\"MseApplicationName\\": \\"cn-shenzhen-alb-demo-5c****\\",\\n \\"AppSource\\": \\"micro_service\\",\\n \\"ServiceTags\\": {\\n \\"key\\": \\"tag1\\"\\n },\\n \\"Dotnet\\": \\".NET 8.0\\",\\n \\"MicroRegistrationConfig\\": \\"{\\\\\\\\\\\\\\"instanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"mse-cn-1ls43******\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"namespace\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"62ee12fb-c279-4da4-be96-21**********\\\\\\\\\\\\\\"}\\",\\n \\"EnableIdle\\": false,\\n \\"EnableNewArms\\": false,\\n \\"EnableCpuBurst\\": \\"true\\",\\n \\"OidcRoleName\\": \\"sae-test\\",\\n \\"SecretMountDesc\\": [\\n {\\n \\"Key\\": \\"task-center\\",\\n \\"SecretName\\": \\"dummy-name-opaque-894\\",\\n \\"MountPath\\": \\"/opt/www/runtime/logs\\",\\n \\"SecretId\\": 520\\n }\\n ],\\n \\"SidecarContainersConfig\\": [\\n {\\n \\"Name\\": \\"test\\",\\n \\"Cpu\\": 500,\\n \\"Memory\\": 1024,\\n \\"ImageUrl\\": \\"registry.cn-beijing.aliyuncs.com/sae-dev-test/nginx:stable\\",\\n \\"AcrInstanceId\\": \\"cri-fhzlneorxala66ip\\",\\n \\"Command\\": \\"/bin/sh\\",\\n \\"CommandArgs\\": \\"[\\\\\\\\\\\\\\"-c\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"test\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" > /home/nas/test.log && sleep 10000000s\\\\\\\\\\\\\\"]\\",\\n \\"Envs\\": \\"[{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"k1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"c8e3a815-e5d3-4adf-abb3-98b106a607c4\\\\\\\\\\\\\\"}]\\",\\n \\"ConfigMapMountDesc\\": [\\n {\\n \\"Key\\": \\"key\\",\\n \\"ConfigMapName\\": \\"ConfigMap-test\\",\\n \\"MountPath\\": \\"/mnt/test\\",\\n \\"ConfigMapId\\": 7361\\n }\\n ],\\n \\"EmptyDirDesc\\": [\\n {\\n \\"Name\\": \\"sidecar-container\\",\\n \\"MountPath\\": \\"/mnt/cache\\"\\n }\\n ],\\n \\"SecretMountDesc\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"SecretName\\": \\"\\",\\n \\"MountPath\\": \\"\\",\\n \\"SecretId\\": 0\\n }\\n ],\\n \\"Liveness\\": \\"\\",\\n \\"Readiness\\": \\"\\",\\n \\"PreStop\\": \\"\\",\\n \\"PostStart\\": \\"\\"\\n }\\n ],\\n \\"InitContainersConfig\\": [\\n {\\n \\"Name\\": \\"init-container\\",\\n \\"ImageUrl\\": \\"registry.cn-shenzhen.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0\\",\\n \\"Command\\": \\"/bin/sh\\",\\n \\"CommandArgs\\": \\"[\\\\\\"a\\\\\\",\\\\\\"b\\\\\\"]\\\\n\\",\\n \\"Envs\\": \\"[{\\\\\\"name\\\\\\":\\\\\\"TEST_ENV_KEY\\\\\\",\\\\\\"value\\\\\\":\\\\\\"TEST_ENV_VAR\\\\\\"}]\\\\n\\",\\n \\"ConfigMapMountDesc\\": [\\n {\\n \\"Key\\": \\"k1\\\\n\\",\\n \\"ConfigMapName\\": \\"test\\\\n\\",\\n \\"MountPath\\": \\"/tmp\\\\n\\",\\n \\"ConfigMapId\\": 1\\n }\\n ],\\n \\"EmptyDirDesc\\": [\\n {\\n \\"Name\\": \\"\\",\\n \\"MountPath\\": \\"\\"\\n }\\n ],\\n \\"SecretMountDesc\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"SecretName\\": \\"\\",\\n \\"MountPath\\": \\"\\",\\n \\"SecretId\\": 0\\n }\\n ]\\n }\\n ],\\n \\"CustomImageNetworkType\\": \\"internet\\",\\n \\"ResourceType\\": \\"application\\",\\n \\"BaseAppId\\": \\"8c573618-8d72-4407-baf4-f7b64b******\\",\\n \\"MicroserviceEngineConfig\\": \\"{\\\\\\\\\\\\\\"Enable\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"MseLosslessRule\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"enable\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"notice\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"delayTime\\\\\\\\\\\\\\":10,\\\\\\\\\\\\\\"warmupTime\\\\\\\\\\\\\\":120,\\\\\\\\\\\\\\"funcType\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\"aligned\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"related\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"lossLessDetail\\\\\\\\\\\\\\":false}}\\",\\n \\"NewSaeVersion\\": \\"pro\\",\\n \\"ClusterId\\": \\"495fc79c-ae61-4600-866d-a09d68******\\",\\n \\"DiskSize\\": 20,\\n \\"StartupProbe\\": \\"{\\\\\\\\\\\\\\"exec\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"command\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"/bin/sh\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"-c\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"#!Note: If microservice config is enabled, the application will be automatically injected with the prestop configuration for lossless offline. If you delete this prestop configuration, lossless offline will not be effective.\\\\\\\\\\\\\\\\n echo stop > /tmp/prestop; /home/admin/.tools/curl http://127.0.0.1:54199/offline; sleep 30\\\\\\\\\\\\\\"]}}\\",\\n \\"GpuCount\\": \\"\\",\\n \\"GpuType\\": \\"\\",\\n \\"EnablePrometheus\\": false,\\n \\"IsStateful\\": false,\\n \\"CmsServiceId\\": \\"\\",\\n \\"HeadlessPvtzDiscovery\\": \\"\\",\\n \\"Html\\": \\"\\",\\n \\"EmptyDirDesc\\": [\\n {\\n \\"Name\\": \\"\\",\\n \\"MountPath\\": \\"\\"\\n }\\n ],\\n \\"DeploymentName\\": \\"demo-b0cdce9b-3d1f-4168-b206-b59f348f1a8a\\",\\n \\"AlbIngressReadinessGate\\": \\"\\",\\n \\"MaxSurgeInstances\\": 0,\\n \\"MaxSurgeInstanceRatio\\": 0,\\n \\"AgentVersion\\": \\"\\",\\n \\"EnableNamespaceAgentVersion\\": false,\\n \\"SlsLogEnvTags\\": \\"\\",\\n \\"LokiConfigs\\": \\"\\",\\n \\"IdleHour\\": \\"\\",\\n \\"Labels\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"RaspConfig\\": [\\n {\\n \\"EnableRasp\\": false,\\n \\"RaspAppName\\": \\"\\",\\n \\"RaspAppKey\\": \\"\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', ], - 'ConfirmPipelineBatch' => [ - 'path' => '/pop/v1/sam/changeorder/ConfirmPipelineBatch', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeApplicationGroups' => [ + 'path' => '/pop/v1/sam/app/describeApplicationGroups', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '6302', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6318', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'PipelineId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the batch. You can call the [DescribeChangeOrder](https://www.alibabacloud.com/help/zh/sae/serverless-app-engine-classic/developer-reference/api-sae-2019-05-06-describechangeorder-old?spm=a2c63.p38356.help-menu-search-118957.d\\_0) operation to obtain the ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e2e-vds-feh-***', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****', 'title' => ''], ], [ - 'name' => 'Confirm', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'true'."\n", - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + 'schema' => ['description' => 'The page number to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. It is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The batch information.'."\n", - 'type' => 'object', - 'properties' => [ - 'PipelineId' => [ - 'description' => 'The ID of the batch.'."\n", - 'type' => 'string', - 'example' => 'e2e-vds-feh-***', + 'description' => 'A list of application groups.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Jdk' => ['description' => 'The JDK version required by the deployment package. This parameter is not supported when **package type** is set to **Image**.', 'type' => 'string', 'example' => 'Open JDK 8', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL. This parameter is required when **package type** is set to **Image**.', 'type' => 'string', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest', 'title' => ''], + 'PackageUrl' => ['description' => 'The URL of the deployment package. This parameter is required when **package type** is set to **FatJar**, **War**, or **PhpZip**.', 'type' => 'string', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest', 'title' => ''], + 'PackageType' => ['description' => 'The type of the deployment package. Valid values:'."\n" + ."\n" + .'- For Java applications, the supported types are **FatJar**, **War**, and **Image**.'."\n" + ."\n" + .'- For PHP applications, the supported types are:'."\n" + ."\n" + .' - **PhpZip**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_4**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_4\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_5**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_5\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_6**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_6\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_0**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_0\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_1**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_1\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_2**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_2\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_3**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_3\\_ALPINE**', 'type' => 'string', 'example' => 'Image', 'title' => ''], + 'PackageVersion' => ['description' => 'The deployment package version. This parameter is required when **package type** is set to **FatJar**, **War**, or **PhpZip**. This parameter is automatically generated if you deploy the application by using an **image**.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'PackageVersionId' => ['description' => 'The ID of the deployment package version.', 'type' => 'string', 'title' => '', 'example' => ''], + 'GroupName' => ['description' => 'The name of the application group.', 'type' => 'string', 'example' => '_DEFAULT_GROUP', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the application group.', 'type' => 'string', 'example' => 'b2a8a925-477a-eswa-b823-d5e22500****', 'title' => ''], + 'WebContainer' => ['description' => 'The Tomcat container version required by the deployment package. This parameter is not supported when **package type** is set to **Image**.', 'type' => 'string', 'example' => 'Apache Tomcat 7', 'title' => ''], + 'Replicas' => ['description' => 'The total number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'EdasContainerVersion' => ['description' => 'The version of the application runtime environment in the High-Speed Service Framework (HSF), such as an Ali-Tomcat container.', 'type' => 'string', 'example' => '3.5.3', 'title' => ''], + 'RunningInstances' => ['description' => 'The number of running instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'GroupType' => ['description' => 'The type of the application group.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], - ], - 'ErrorCode' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the processing of the next batch started as required. Valid values:'."\n" - ."\n" - .'* **true**: The processing started.'."\n" - .'* **false**: The processing could not start.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **error codes** section.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or the POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: The request is invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurs.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application groups were successfully retrieved. Valid values:'."\n" + ."\n" + .'- **true**: The application groups were retrieved.'."\n" + ."\n" + .'- **false**: The application groups were not retrieved.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'Pipeline.Can.Not.Start.Next.Batch', - 'errorMessage' => 'You cannot start the next batch under the current status.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Jdk\\": \\"Open JDK 8\\",\\n \\"ImageUrl\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest\\",\\n \\"PackageUrl\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest\\",\\n \\"PackageType\\": \\"Image\\",\\n \\"PackageVersion\\": \\"1.0.0\\",\\n \\"PackageVersionId\\": \\"\\",\\n \\"GroupName\\": \\"_DEFAULT_GROUP\\",\\n \\"GroupId\\": \\"b2a8a925-477a-eswa-b823-d5e22500****\\",\\n \\"WebContainer\\": \\"Apache Tomcat 7\\",\\n \\"Replicas\\": 10,\\n \\"EdasContainerVersion\\": \\"3.5.3\\",\\n \\"RunningInstances\\": 1,\\n \\"GroupType\\": 0\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeApplicationGroups', + 'summary' => 'Use `DescribeApplicationGroups` to retrieve application instance groups.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-05-13T11:33:58.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-03-09T08:12:31.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationGroups'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"PipelineId\\": \\"e2e-vds-feh-***\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ConfirmPipelineBatchResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <PipelineId>e2e-vds-feh-***</PipelineId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ConfirmPipelineBatchResponse>","errorExample":""}]', - 'title' => 'ConfirmPipelineBatch', - 'summary' => 'Confirms whether to start the next batch.', ], - 'AbortAndRollbackChangeOrder' => [ - 'path' => '/pop/v1/sam/changeorder/AbortAndRollbackChangeOrder', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeApplicationImage' => [ + 'path' => '/pop/v1/sam/container/describeApplicationImage', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13354,345 +9227,373 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '6291', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6319', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'ChangeOrderId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ba386059-69b1-4e65-b1e5-0682d9fa****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****', 'title' => ''], + ], + [ + 'name' => 'ImageUrl', + 'in' => 'query', + 'schema' => ['description' => 'The image URL.', 'type' => 'string', 'required' => true, 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/demo/demo:latest', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- **success** is returned if the request is successful.'."\n" + ."\n" + .'- An error code is returned if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The details of the change order.'."\n", + 'description' => 'The application image information.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'example' => 'ba386059-69b1-4e65-b1e5-0682d9fa****', - ], + 'Logo' => ['description' => 'This parameter is reserved.', 'type' => 'string', 'title' => '', 'example' => ''], + 'RepoOriginType' => ['description' => 'The image repository type. Currently, only Container Registry is supported.', 'type' => 'string', 'example' => 'ALI_HUB', 'title' => ''], + 'CrUrl' => ['description' => 'This parameter is reserved.', 'type' => 'string', 'title' => '', 'example' => ''], + 'RepoTag' => ['description' => 'The image tag.', 'type' => 'string', 'example' => 'latest', 'title' => ''], + 'RepoType' => ['description' => 'A reserved field.', 'type' => 'string', 'title' => '', 'example' => ''], + 'RepoName' => ['description' => 'The image repository name.', 'type' => 'string', 'example' => 'demo', 'title' => ''], + 'RepoNamespace' => ['description' => 'The image namespace.', 'type' => 'string', 'example' => 'demo', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the change order was terminated. Valid values:'."\n" - ."\n" - .'* **true**: The change order was terminated.'."\n" - .'* **false**: The change order failed to be terminated.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is left empty if the request is successful.'."\n" + ."\n" + .'- This parameter returns an error code if the request fails. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client-side error occurred.'."\n" + ."\n" + .'- **5xx**: A server-side error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Resouce.no.permission', - 'errorMessage' => 'You are not authorized to operate on the specified resources.', - ], - [ - 'errorCode' => 'InvalidChangeOrder.NotFound', - 'errorMessage' => 'The current change order does not exist.', - ], - [ - 'errorCode' => 'Application.ChangerOrder.Not.Running', - 'errorMessage' => 'The change order is not running and cannot be terminated.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Logo\\": \\"\\",\\n \\"RepoOriginType\\": \\"ALI_HUB\\",\\n \\"CrUrl\\": \\"\\",\\n \\"RepoTag\\": \\"latest\\",\\n \\"RepoType\\": \\"\\",\\n \\"RepoName\\": \\"demo\\",\\n \\"RepoNamespace\\": \\"demo\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeApplicationImage', + 'summary' => 'Retrieves information about an application image.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-03-08T10:14:56.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"ba386059-69b1-4e65-b1e5-0682d9fa****\\"\\n },\\n \\"ErrorCode\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<AbortAndRollbackChangeOrderResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>ba386059-69b1-4e65-b1e5-0682d9fa****</ChangeOrderId>\\n </Data>\\n <ErrorCode>success</ErrorCode>\\n <Code>200</Code>\\n <Success>true</Success>\\n</AbortAndRollbackChangeOrderResponse>","errorExample":""}]', - 'title' => 'AbortAndRollbackChangeOrder', - 'summary' => 'Terminates a change order and rolls back the corresponding application.', - 'translator' => 'machine', ], - 'RescaleApplication' => [ - 'path' => '/pop/v1/sam/app/rescaleApplication', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeApplicationInstances' => [ + 'path' => '/pop/v1/sam/app/describeApplicationInstances', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6385', - 'abilityTreeNodes' => [ - 'FEATUREsae5HLO11', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '8972', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****', 'title' => ''], ], [ - 'name' => 'Replicas', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The expected number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '5', - ], + 'schema' => ['description' => 'The ID of the application group. Call the [DescribeApplicationGroups](~~126249~~) operation to get the ID.', 'type' => 'string', 'required' => true, 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', 'title' => ''], ], [ - 'name' => 'MinReadyInstances', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of available instances. Special values:'."\n" - ."\n" - .'* If you set the value to **0**, business interruptions occur when the application is updated.'."\n" - .'* If you set the value to \\*\\*-1\\*\\*, the minimum number of available instances is automatically set to a system-recommended value. The value is the nearest integer to which the calculated result of the following formula is rounded up: Current number of instances × 25%. For example, if five instances are available, the minimum number of available instances is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.'."\n" - ."\n" - .'> Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The number of the page to return.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'MinReadyInstanceRatio', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of the minimum number of available instances. Take note of the following rules:'."\n" - ."\n" - .'* If you set the value to **-1**, the minimum number of available instances is not determined based on this parameter. Default value: -1.'."\n" - .'* If you set the value to a number **from 0 to 100**, the minimum number of available instances is calculated by using the following formula: Current number of instances × (Value of MinReadyInstanceRatio × 100%). The value is the nearest integer rounded up from the calculated result. For example, if the percentage is set to **50**% and five instances are available, the minimum number of available instances is 3.'."\n" - ."\n" - .'> When **MinReadyInstance** and **MinReadyInstanceRatio** are specified and **MinReadyInstanceRatio** is set to a number from 0 to 100, the value of MinReadyInstanceRatio** takes precedence.**** For example, if **MinReadyInstances** is set to **5, and **MinReadyInstanceRatio** is set to **50**, the minimum number of available instances is set to the nearest integer rounded up from the calculated result of the following formula: Current number of instances × **50%**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '-1', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Default value: **10**. The value must be in the range (0, 1000000000).', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'AutoEnableApplicationScalingRule', + 'name' => 'Reverse', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically enable an auto scaling policy for the application. Take note of the following rules:'."\n" - ."\n" - .'* **true**: turns on Logon-free Sharing'."\n" - .'* **false**: turns off Logon-free Sharing'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies the sort order of the application instances. Instances are sorted first by running status, and then by instance ID. Valid values:'."\n" + ."\n" + .'- **true**: The instances are sorted in descending order.'."\n" + ."\n" + .'- **false**: The instances are sorted in ascending order.'."\n" + ."\n" + .'Instance statuses in ascending order:'."\n" + ."\n" + .'1. **Error**: An error occurred during instance startup.'."\n" + ."\n" + .'2. **CrashLoopBackOff**: The container fails to start and enters a crash-restart loop.'."\n" + ."\n" + .'3. **ErrImagePull**: An error occurred while pulling the container image for the instance.'."\n" + ."\n" + .'4. **ImagePullBackOff**: The system is repeatedly trying and failing to pull the container image.'."\n" + ."\n" + .'5. **Pending**: The instance is waiting to be scheduled.'."\n" + ."\n" + .'6. **Unknown**: An unknown exception occurred.'."\n" + ."\n" + .'7. **Terminating**: The instance is being terminated.'."\n" + ."\n" + .'8. **NotFound**: The instance cannot be found.'."\n" + ."\n" + .'9. **PodInitializing**: The instance is being initialized.'."\n" + ."\n" + .'10. **Init:0/1**: The instance is being initialized.'."\n" + ."\n" + .'11. **Running**: The instance is running.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'InstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The application instance ID.', 'type' => 'string', 'required' => false, 'example' => 'demo-faaca66c-5959-45cc-b3bf-d26093b2e9c0******', 'title' => ''], + ], + [ + 'name' => 'PipelineId', + 'in' => 'query', + 'schema' => ['description' => 'The batch ID. Call the [DescribeChangeOrder](~~126617~~) operation to get the ID.', 'type' => 'string', 'required' => false, 'example' => '85750d48-6cfc-4dbf-8ea0-840397******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The message returned for the operation.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The message returned for the request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query request details.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The response.'."\n", + 'description' => 'The information about the application instances.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'example' => '0e09829f-4914-4612-bc88-6f52fd81****', + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Instances' => [ + 'description' => 'The list of application instances.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of an application instance.', + 'type' => 'object', + 'properties' => [ + 'CreateTimeStamp' => ['description' => 'The time when instance creation began. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1558442609000', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch where the instance is deployed.', 'type' => 'string', 'example' => 'vsw-***', 'title' => ''], + 'InstanceContainerStatus' => ['description' => 'The status of the instance container. Valid values:'."\n" + ."\n" + .'- **Error**: An error occurred during instance startup.'."\n" + ."\n" + .'- **CrashLoopBackOff**: The container failed to start, encountered an error during startup, and then failed again after a restart.'."\n" + ."\n" + .'- **ErrImagePull**: Failed to pull the instance\'s container image.'."\n" + ."\n" + .'- **ImagePullBackOff**: The container image could not be pulled.'."\n" + ."\n" + .'- **Pending**: The instance is waiting to be scheduled.'."\n" + ."\n" + .'- **Unknown**: An unknown exception occurred.'."\n" + ."\n" + .'- **Terminating**: The instance is being stopped.'."\n" + ."\n" + .'- **NotFound**: The instance cannot be found.'."\n" + ."\n" + .'- **PodInitializing**: The instance is being initialized.'."\n" + ."\n" + .'- **Init:0/1**: The instance is being initialized.'."\n" + ."\n" + .'- **Running**: The instance is running.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'InstanceHealthStatus' => ['description' => 'The health check status of the instance. Valid values:'."\n" + ."\n" + .'- **WithoutHealthCheckConfig**: liveness and readiness health checks are not configured.'."\n" + ."\n" + .'- **WithoutLivenessConfig**: The liveness health check is not configured.'."\n" + ."\n" + .'- **WithoutReadinessConfig**: The readiness health check is not configured.'."\n" + ."\n" + .'- **NotCheckedYet**: The instance is undergoing or waiting for a health check.'."\n" + ."\n" + .'- **LivenessUnhealthy**: The liveness health check failed. The instance is unhealthy.'."\n" + ."\n" + .'- **ReadinessUnhealthy**: The readiness health check failed. The instance is unhealthy.'."\n" + ."\n" + .'- **Unhealthy**: Both the liveness and readiness health checks failed. The instance is unhealthy.'."\n" + ."\n" + .'- **Healthy**: The health check passed. The instance is healthy.', 'type' => 'string', 'example' => 'WithoutHealthCheckConfig', 'title' => ''], + 'InstanceContainerRestarts' => ['description' => 'The number of times the instance\'s container has restarted.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'GroupId' => ['description' => 'The ID of the group to which the instance belongs.', 'type' => 'string', 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', 'title' => ''], + 'InstanceContainerIp' => ['description' => 'The internal IP address of the instance.', 'type' => 'string', 'example' => '192.168.X.X', 'title' => ''], + 'InstanceId' => ['description' => 'The instance ID.', 'type' => 'string', 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', 'title' => ''], + 'ImageUrl' => ['description' => 'The URL of the container image.'."\n" + ."\n" + .'> If you deploy an application using a JAR or WAR package, the container image generated by SAE is not available for download.', 'type' => 'string', 'example' => 'registry-vpc.cn-beijing.aliyuncs.com/sae-demo-image/cartservice:1.0', 'title' => ''], + 'PackageVersion' => ['description' => 'The version of the deployment package.', 'type' => 'string', 'example' => '1609939496200', 'title' => ''], + 'Timestamp' => ['description' => 'The timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1750061980000', 'title' => ''], + 'Eip' => ['description' => 'The elastic IP address (EIP).', 'type' => 'string', 'example' => '8.129.XX.XXX', 'title' => ''], + 'FinishTimeStamp' => ['description' => 'The time when instance creation was completed. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1642757283000', 'title' => ''], + 'DebugStatus' => ['description' => 'Whether the instance is being debugged. Valid values:'."\n" + ."\n" + .'- **true**: The instance is being debugged.'."\n" + ."\n" + .'- **false**: The instance is not being debugged.', 'type' => 'boolean', 'example' => 'False', 'title' => ''], + 'SidecarContainersStatus' => [ + 'description' => 'The status of the sidecar containers.', + 'type' => 'array', + 'items' => [ + 'description' => 'The status of a sidecar container.', + 'type' => 'object', + 'properties' => [ + 'ContainerId' => ['description' => 'The ID of the sidecar container.', 'type' => 'string', 'example' => 'sidecar-test-01', 'title' => ''], + 'ContainerStatus' => ['description' => 'The status of the container.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'ImageUrl' => ['description' => 'The URL of the container image.', 'type' => 'string', 'example' => 'registry.cn-beijing.aliyuncs.com/sae-dev-test/******', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'MainContainerStatus' => ['description' => 'The status of the main container.', 'type' => 'string', 'example' => 'Running', 'title' => ''], + 'UnhealthyMessage' => ['description' => 'The error message for a failed health check on the application instance. This field is empty if the check is successful.', 'type' => 'string', 'title' => '', 'example' => ''], + 'TrafficStatus' => ['description' => 'The traffic status of the instance.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Tags' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'The tags attached to the instance.', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Take note of the following rules:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application is successfully scaled. Take note of the following rules:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- This parameter is not returned for successful requests.'."\n" + ."\n" + .'- This parameter is returned for failed requests. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'Application.NotDeployYet', - 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', - ], - [ - 'errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', - 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', - ], - [ - 'errorCode' => 'MinReadyInstanceRatio.Invalid', - 'errorMessage' => 'The ratio of minimum available instances must be between 0 and 100.', - ], - ], - 404 => [ - [ - 'errorCode' => 'Associate.Eip.Not.Enough', - 'errorMessage' => 'No sufficient EIPs are available.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 10,\\n \\"PageSize\\": 10,\\n \\"Instances\\": [\\n {\\n \\"CreateTimeStamp\\": 1558442609000,\\n \\"VSwitchId\\": \\"vsw-***\\",\\n \\"InstanceContainerStatus\\": \\"Running\\",\\n \\"InstanceHealthStatus\\": \\"WithoutHealthCheckConfig\\",\\n \\"InstanceContainerRestarts\\": 0,\\n \\"GroupId\\": \\"b2a8a925-477a-4ed7-b825-d5e22500****\\",\\n \\"InstanceContainerIp\\": \\"192.168.X.X\\",\\n \\"InstanceId\\": \\"b2a8a925-477a-4ed7-b825-d5e22500****\\",\\n \\"ImageUrl\\": \\"registry-vpc.cn-beijing.aliyuncs.com/sae-demo-image/cartservice:1.0\\",\\n \\"PackageVersion\\": \\"1609939496200\\",\\n \\"Timestamp\\": 1750061980000,\\n \\"Eip\\": \\"8.129.XX.XXX\\",\\n \\"FinishTimeStamp\\": 1642757283000,\\n \\"DebugStatus\\": true,\\n \\"SidecarContainersStatus\\": [\\n {\\n \\"ContainerId\\": \\"sidecar-test-01\\",\\n \\"ContainerStatus\\": \\"Running\\",\\n \\"ImageUrl\\": \\"registry.cn-beijing.aliyuncs.com/sae-dev-test/******\\"\\n }\\n ],\\n \\"MainContainerStatus\\": \\"Running\\",\\n \\"UnhealthyMessage\\": \\"\\",\\n \\"TrafficStatus\\": \\"\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeApplicationInstances', + 'summary' => 'Retrieves a list of application instances.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-12-29T08:08:56.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-12-29T07:14:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-01T01:43:29.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-04-01T07:12:32.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-04-01T06:37:04.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-12-26T11:34:40.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2024-12-20T14:02:21.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '5000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationInstances'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"0e09829f-4914-4612-bc88-6f52fd81****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<RescaleApplicationResponse>\\n <Message>success</Message>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Data>\\n <ChangeOrderId>0e09829f-4914-4612-bc88-6f52fd81****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</RescaleApplicationResponse>","errorExample":""}]', - 'title' => 'RescaleApplication', - 'summary' => 'Rescale an application.', ], - 'RestartApplication' => [ - 'path' => '/pop/v1/sam/app/restartApplication', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeApplicationMseService' => [ + 'path' => '/pop/v1/sam/app/applicationMseService', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -13701,205 +9602,107 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '6387', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'abilityTreeCode' => '198094', + 'abilityTreeNodes' => ['FEATUREsaeY046YN'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], - ], - [ - 'name' => 'MinReadyInstances', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of available instances. Special values:'."\n" - ."\n" - .'* If you set the value to **0**, business interruptions occur when the application is updated.'."\n" - .'* If you set the value to \\*\\*-1\\*\\*, the minimum number of available instances is automatically set to a system-recommended value. The value is the nearest integer to which the calculated result of the following formula is rounded up: Current number of instances × 25%. For example, if five instances are available, the minimum number of available instances is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.'."\n" - ."\n" - .'> Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => 'f7730764-d88f-4b9a-8d8e-cd8efbfe****', 'title' => ''], ], [ - 'name' => 'MinReadyInstanceRatio', + 'name' => 'EnableAhas', 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of the minimum number of available instances. Take note of the following rules:'."\n" - ."\n" - .'* If you set the value to **-1**, the minimum number of available instances is not determined based on this parameter. Default value: -1.'."\n" - .'* If you set the value to a number **from 0 to 100**, the minimum number of available instances is calculated by using the following formula: Current number of instances × (Value of MinReadyInstanceRatio × 100%). The value is the nearest integer rounded up from the calculated result. For example, if the percentage is set to **50**% and five instances are available, the minimum number of available instances is 3.'."\n" - ."\n" - .'> When **MinReadyInstance** and **MinReadyInstanceRatio** are specified and **MinReadyInstanceRatio** is set to a number from 0 to 100, the value of \\*\\*MinReadyInstanceRatio** takes precedence.**** For example, if **MinReadyInstances** is set to **5\\*\\*, and **MinReadyInstanceRatio** is set to **50**, the minimum number of available instances is set to the nearest integer rounded up from the calculated result of the following formula: Current number of instances × **50%**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '-1', - ], - ], - [ - 'name' => 'AutoEnableApplicationScalingRule', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically enable an auto scaling policy for the application. Valid values:'."\n" - ."\n" - .'* **true**: enabled.'."\n" - .'* **false**: disabled'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'Specifies whether to enable traffic limiting and degradation. Set to true to check traffic limiting and degradation permissions when accessing related APIs; set to false otherwise.', 'type' => 'boolean', 'required' => true, 'title' => '', 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Take note of the following rules:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****', 'title' => ''], + 'Message' => ['description' => 'The additional information. Value description:'."\n" + ."\n" + .'- If the request was successful, **success** is returned.'."\n" + ."\n" + .'- If the request failed, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the trace, which is used to query the exact call information.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The response.'."\n", + 'description' => 'The application information.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '4a815998-b468-4bea-b7d8-59f52a44****', - ], + 'MseAppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'mse-cn-hvm47******', 'title' => ''], + 'MseAppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'MseAppNameSpace' => ['description' => 'The namespace.', 'type' => 'string', 'example' => 'sae-ent', 'title' => ''], + 'Status' => ['description' => 'The application status. Valid values:'."\n" + ."\n" + .'- EXPIRED'."\n" + ."\n" + .'- REBOOTING'."\n" + ."\n" + .'- WAITING'."\n" + ."\n" + .'- FAIL'."\n" + ."\n" + .'- NULL/SUCCESS', 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Take note of the following rules:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the instance is successfully restarted. Take note of the following rules:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. Value description:'."\n" + ."\n" + .'- If the request succeeds, this field is not returned.'."\n" + ."\n" + .'- For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The API status or POP error code. Valid values: 2xx: The request was successful. 3xx: The request was redirected. 4xx: The request was invalid. 5xx: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application instance groups were obtained successfully. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'Application.NotDeployYet', - 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', - ], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], ], - 404 => [ - [ - 'errorCode' => 'Associate.Eip.Not.Enough', - 'errorMessage' => 'No sufficient EIPs are available.', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"MseAppId\\": \\"mse-cn-hvm47******\\",\\n \\"MseAppName\\": \\"test\\",\\n \\"MseAppNameSpace\\": \\"sae-ent\\",\\n \\"Status\\": \\"SUCCESS\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeApplicationMseService', + 'summary' => 'Queries the information of the associated MSE microservice governance application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationMseService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4a815998-b468-4bea-b7d8-59f52a44****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<RestartApplicationResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>4a815998-b468-4bea-b7d8-59f52a44****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</RestartApplicationResponse>","errorExample":""}]', - 'title' => 'RestartApplication', - 'summary' => 'Restarts an application.', ], - 'AbortChangeOrder' => [ - 'path' => '/pop/v1/sam/changeorder/AbortChangeOrder', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeApplicationNlbs' => [ + 'summary' => 'View the NLB configuration for the application.', + 'path' => '/pop/v1/sam/app/nlb', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -13908,806 +9711,1133 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6292', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '261358', + 'abilityTreeNodes' => ['FEATUREsaeBRTWZ3'], ], 'parameters' => [ [ - 'name' => 'ChangeOrderId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'be2e1c76-682b-4897-98d3-1d8d6478****', - ], - ], - [ - 'name' => 'Rollback', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => false, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned for the operation.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message. A value of `success` indicates a successful request; otherwise, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query the details of the request.', 'type' => 'string', 'example' => 'ac1a0b2215622246421415014e****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is returned only if the request fails.'."\n" + ."\n" + .'- For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'string', 'example' => 'true', 'title' => ''], 'Data' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The data returned in the response.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'example' => 'be2e1c76-682b-4897-98d3-1d8d6478****', + 'Instances' => [ + 'description' => 'A collection of instance details.', + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'DnsName' => ['description' => 'The DNS name.', 'type' => 'string', 'example' => 'nlb-wb7r6dlwetvt5j****.cn-hangzhou.nlb.aliyuncs.com', 'title' => ''], + 'Listeners' => [ + 'type' => 'object', + 'additionalProperties' => [ + 'type' => 'object', + 'properties' => [ + 'Protocol' => ['description' => 'The listener protocol.', 'type' => 'string', 'example' => 'TCPSSL', 'title' => ''], + 'Port' => ['description' => 'The listener port.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'Status' => ['description' => 'The state of the NLB listener. Valid values:'."\n" + ."\n" + .'- **Creating**: The listener is being created.'."\n" + ."\n" + .'- **Configuring**: The listener is being configured.'."\n" + ."\n" + .'- **Bounded**: The listener is running as expected.'."\n" + ."\n" + .'- **Unbinding**: The listener is being deleted.'."\n" + ."\n" + .'- **Failed**: The listener is unavailable.', 'type' => 'string', 'example' => 'Bounded', 'title' => ''], + 'TargetPort' => ['description' => 'The target port.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'CertIds' => ['description' => 'The server certificate ID.', 'type' => 'string', 'example' => '123157******', 'title' => ''], + ], + 'description' => 'The details of a listener.', + 'title' => '', + 'example' => '', + ], + 'description' => 'A collection of listener details.', + 'title' => '', + 'example' => '', + ], + 'CreatedBySae' => ['description' => 'Indicates whether SAE created the instance. Valid values:'."\n" + ."\n" + .'- **true**: SAE created the instance.'."\n" + ."\n" + .'- **false**: SAE reused an existing instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'description' => 'The details of an instance.', + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Value values:'."\n" - ."\n" - .'* **ErrorCode** is not returned if a request is successful.'."\n" - .'* **ErrorCode** is returned if a request failed. For more information, see **Error code** section of this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the change order was terminated. Valid values:'."\n" - ."\n" - .'* **true**: The change order was terminated.'."\n" - .'* **false**: The change order failed to be terminated.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], ], + 'description' => 'The response body.', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'Resouce.no.permission', - 'errorMessage' => 'You are not authorized to operate on the specified resources.', - ], - [ - 'errorCode' => 'Application.ChangerOrder.Not.Running', - 'errorMessage' => 'The change order is not running and cannot be terminated.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"be2e1c76-682b-4897-98d3-1d8d6478****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<AbortChangeOrderResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>be2e1c76-682b-4897-98d3-1d8d6478****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</AbortChangeOrderResponse>","errorExample":""}]', - 'title' => 'AbortChangeOrder', - 'summary' => 'Terminate a change order.', - ], - 'RollbackApplication' => [ - 'path' => '/pop/v1/sam/app/rollbackApplication', - 'methods' => [ - 'put', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": \\"true\\",\\n \\"Data\\": {\\n \\"Instances\\": {\\n \\"key\\": {\\n \\"DnsName\\": \\"nlb-wb7r6dlwetvt5j****.cn-hangzhou.nlb.aliyuncs.com\\",\\n \\"Listeners\\": {\\n \\"key\\": {\\n \\"Protocol\\": \\"TCPSSL\\",\\n \\"Port\\": 80,\\n \\"Status\\": \\"Bounded\\",\\n \\"TargetPort\\": 8080,\\n \\"CertIds\\": \\"123157******\\"\\n }\\n },\\n \\"CreatedBySae\\": true\\n }\\n }\\n }\\n}","type":"json"}]', + 'title' => 'DescribeApplicationNlbs', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:29.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationNlbs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeApplicationScalingRule' => [ + 'path' => '/pop/v1/sam/scale/applicationScalingRule', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6389', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6320', + 'abilityTreeNodes' => ['FEATUREsaeX1L0GL', 'FEATUREsaeAINYGA'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => 'a0d2e04c-159d-40a8-b240-d2f2c263****', 'title' => ''], ], [ - 'name' => 'VersionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application version. Call the [ListAppVersions](~~162054~~) operation to obtain the version ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0026ff7f-2b57-4127-bdd0-9bf202bb9****', - ], - ], - [ - 'name' => 'BatchWaitTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The wait time between batches. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'MinReadyInstances', - 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of available instances. Take note of the following rules:'."\n" - ."\n" - .'* If you set the value to **0**, business interruptions occur when the application is updated.'."\n" - .'* If you set the value to \\*\\*-1\\*\\*, the minimum number of available instances is automatically set to a system-recommended value. The value is the nearest integer to which the calculated result of the following formula is rounded up: Current number of instances × 25%. For example, if five instances are available, the minimum number of available instances is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.'."\n" - ."\n" - .'> Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'MinReadyInstanceRatio', - 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of the minimum number of available instances. Take note of the following rules:'."\n" - ."\n" - .'* If you set the value to **-1**, the minimum number of available instances is not determined based on this parameter. Default value: -1.'."\n" - .'* If you set the value to a number **from 0 to 100**, the minimum number of available instances is calculated by using the following formula: Current number of instances × (Value of MinReadyInstanceRatio × 100%). The value is the nearest integer rounded up from the calculated result. For example, if the percentage is set to **50**% and five instances are available, the minimum number of available instances is 3.'."\n" - ."\n" - .'> When both **MinReadyInstance** and **MinReadyInstanceRatio** are specified and **MinReadyInstanceRatio** is set to a number from 0 to 100, the value of **MinReadyInstanceRatio** takes precedence.** For example, if **MinReadyInstances** is set to **5, and **MinReadyInstanceRatio** is set to **50**, the minimum number of available instances is set to the nearest integer rounded up from the calculated result of the following formula: Current number of instances × **50%**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '-1', - ], - ], - [ - 'name' => 'UpdateStrategy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The deployment policy. If the minimum number of available instances is 1, the value of the **UpdateStrategy** parameter is an empty string (""). If the minimum number of available instances is larger than 1, specify this parameter based on your requirements. Examples:'."\n" - ."\n" - .'* Perform canary release for one instance and release the remaining instances in two batches automatically with a one-minute interval between the deployment of each instance:'."\n" - ."\n" - .' `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}`'."\n" - ."\n" - .'* Perform canary release for one instance and release the remaining instances in two batches manually:'."\n" - ."\n" - .' `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}`'."\n" - ."\n" - .'* Release the instances in two batches automatically with no interval between the deployment of each instance:'."\n" - ."\n" - .' `{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}`'."\n" - ."\n" - .'The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **type**: the type of the release policy. Valid values: **GrayBatchUpdate** and **BatchUpdate**.'."\n" - ."\n" - .'* **batchUpdate**: the phased release policy.'."\n" - ."\n" - .' * **batch**: the number of release batches.'."\n" - .' * **releaseType**: the processing method for the batches. Valid values: **auto** and **manual**.'."\n" - .' * **batchWaitTime**: the interval between release batches. Unit: seconds.'."\n" - ."\n" - .'* **grayUpdate**: the number of release batches in the phased release after a canary release. This parameter is returned only if the **type** parameter is set to **GrayBatchUpdate**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}', - ], - ], - [ - 'name' => 'AutoEnableApplicationScalingRule', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically enable an auto scaling policy for the application. Take note of the following rules:'."\n" - ."\n" - .'* **true**: turns on Logon-free Sharing'."\n" - .'* **false**: turns off Logon-free Sharing'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The name of the auto scaling policy.', 'type' => 'string', 'required' => true, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned information.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned for the operation.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '73404D3D-EE4F-4CB2-B197-5C46F6A1****', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. Use this ID to query the details of a request.', 'type' => 'string', 'example' => '0b57ff7e16243300839193068e****', 'title' => ''], 'Data' => [ - 'description' => 'The response.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', + 'Timer' => [ + 'description' => 'The scheduled scaling policy.', + 'type' => 'object', + 'properties' => [ + 'EndDate' => ['description' => 'The end date of a short-term scheduled scaling policy. The following list describes the valid values:'."\n" + ."\n" + .'- If you leave both **BeginDate** and **EndDate** empty, the policy is a long-term policy. This is the default value.'."\n" + ."\n" + .'- If you specify a date, for example, you set **BeginDate** to **2021-03-25** and **EndDate** to **2021-04-25**, the policy is effective for one month.', 'type' => 'string', 'example' => '2021-04-25', 'title' => ''], + 'BeginDate' => ['description' => 'The start date of a short-term scheduled scaling policy. The following list describes the valid values:'."\n" + ."\n" + .'- If you leave both **BeginDate** and **EndDate** empty, the policy is a long-term policy. This is the default value.'."\n" + ."\n" + .'- If you specify a date, for example, you set **BeginDate** to **2021-03-25** and **EndDate** to **2021-04-25**, the policy is effective for one month.', 'type' => 'string', 'example' => '2021-03-25', 'title' => ''], + 'Schedules' => [ + 'description' => 'The points in time when the auto scaling policy is triggered within a day.', + 'type' => 'array', + 'items' => [ + 'description' => 'The data of a point in time.', + 'type' => 'object', + 'properties' => [ + 'AtTime' => ['description' => 'The point in time. Format: **HH:mm**.', 'type' => 'string', 'example' => '08:00', 'title' => ''], + 'TargetReplicas' => ['description' => 'The target number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'MinReplicas' => ['description' => 'The minimum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxReplicas' => ['description' => 'The maximum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Period' => ['description' => 'The period in which the scheduled scaling policy is executed. Valid values:'."\n" + ."\n" + .'- **\\* \\* \\***: The policy is executed at a specified time every day.'."\n" + ."\n" + .'- **\\* \\* Fri,Mon**: The policy is executed at a specified time on one or more days of a week. You can select multiple days. The time is in GMT+8. Valid values:'."\n" + ."\n" + .' - **Sun**: Sunday'."\n" + ."\n" + .' - **Mon**: Monday'."\n" + ."\n" + .' - **Tue**: Tuesday'."\n" + ."\n" + .' - **Wed**: Wednesday'."\n" + ."\n" + .' - **Thu**: Thursday'."\n" + ."\n" + .' - **Fri**: Friday'."\n" + ."\n" + .' - **Sat**: Saturday'."\n" + ."\n" + .'- **1,2,3,28,31 \\* \\***: The policy is executed at a specified time on one or more days of a month. You can select multiple days. The value can be an integer from 1 to 31. If a month does not have a 31st day, the policy is not executed on that day.', 'type' => 'string', 'example' => '* * *', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'IsNeedApproval' => [ - 'description' => 'Specifies whether approval is required when a RAM user performs release. Take note of the following rules:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'UpdateTime' => ['description' => 'The time when the auto scaling policy was updated. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1624330075827', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'a0d2e04c-159d-40a8-b240-d2f2c263****', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the auto scaling policy was created. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1624329843790', 'title' => ''], + 'LastDisableTime' => ['description' => 'The time when the auto scaling policy was last disabled.', 'type' => 'integer', 'format' => 'int64', 'example' => '1641882854484', 'title' => ''], + 'ScaleRuleEnabled' => ['description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" + ."\n" + .'- **true**: The policy is enabled.'."\n" + ."\n" + .'- **false**: The policy is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScaleRuleType' => ['description' => 'The type of the auto scaling policy. Valid values:'."\n" + ."\n" + .'- **timing**: scheduled scaling.'."\n" + ."\n" + .'- **metric**: metric-based scaling.'."\n" + ."\n" + .'- **mix**: hybrid scaling.', 'type' => 'string', 'example' => 'timing', 'title' => ''], + 'Metric' => [ + 'description' => 'The metric-based scaling policy.', + 'type' => 'object', + 'properties' => [ + 'Metrics' => [ + 'description' => 'The list of metric-based scaling policies.', + 'type' => 'array', + 'items' => [ + 'description' => 'The metric data.', + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => 'The target value of the metric.'."\n" + ."\n" + .'- The target CPU utilization. Unit: percent.'."\n" + ."\n" + .'- The target memory usage. Unit: percent.'."\n" + ."\n" + .'- The number of queries per second (QPS).'."\n" + ."\n" + .'- The response time. Unit: milliseconds.'."\n" + ."\n" + .'- The average number of active TCP connections per second.'."\n" + ."\n" + .'- The QPS of a public-facing SLB instance.'."\n" + ."\n" + .'- The response time of a public-facing SLB instance. Unit: milliseconds.'."\n" + ."\n" + .'- The QPS of a private SLB instance.'."\n" + ."\n" + .'- The response time of a private SLB instance. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'MetricType' => ['description' => 'The metric that is used to trigger the auto scaling policy. Valid values:'."\n" + ."\n" + .'- **CPU**: CPU utilization.'."\n" + ."\n" + .'- **MEMORY**: memory usage.'."\n" + ."\n" + .'- **QPS**: the average QPS of a single instance of a Java application in one minute.'."\n" + ."\n" + .'- **RT**: the average response time (RT) of all service interfaces of a Java application in one minute.'."\n" + ."\n" + .'- **tcpActiveConn**: the average number of active TCP connections of a single instance in 30 seconds.'."\n" + ."\n" + .'- **SLB\\_QPS**: the average QPS of a single instance for a public-facing SLB instance in 15 seconds.'."\n" + ."\n" + .'- **SLB\\_RT**: the average RT of a public-facing SLB instance in 15 seconds.'."\n" + ."\n" + .'- **INTRANET\\_SLB\\_QPS**: the average QPS of a single instance for a private SLB instance in 15 seconds.'."\n" + ."\n" + .'- **INTRANET\\_SLB\\_RT**: the average RT of a private SLB instance in 15 seconds.', 'type' => 'string', 'example' => 'CPU', 'title' => ''], + 'SlbProject' => ['description' => 'The SLB access log Project.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'SlbLogstore' => ['description' => 'The SLB access log Logstore.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Vport' => ['description' => 'The port of the SLB instance.', 'type' => 'string', 'example' => '80', 'title' => ''], + 'SlbId' => ['description' => 'The ID of the SLB instance.', 'type' => 'string', 'example' => 'lb-xxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'MetricsStatus' => [ + 'description' => 'The status of the metric-based scaling policy.', + 'type' => 'object', + 'properties' => [ + 'DesiredReplicas' => ['description' => 'The target number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'NextScaleTimePeriod' => ['description' => 'The period of the next metric-based scaling.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'CurrentReplicas' => ['description' => 'The current number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'LastScaleTime' => ['description' => 'The time of the last scaling activity.', 'type' => 'string', 'example' => '2022-01-11T08:14:32Z', 'title' => ''], + 'CurrentMetrics' => [ + 'description' => 'The data of the current metric-based scaling.', + 'type' => 'array', + 'items' => [ + 'description' => 'The metric data.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the metric. This parameter is associated with the monitoring metric.'."\n" + ."\n" + .'- **Resource**: the metric value of **cpu** or **memory**.'."\n" + ."\n" + .'- **Pods**: the metric value of **tcpActiveConn**.'."\n" + ."\n" + .'- **External**: the metric value of **arms** or **slb**.', 'type' => 'string', 'example' => 'Resource', 'title' => ''], + 'CurrentValue' => ['description' => 'The current value.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'Name' => ['description' => 'The name of the metric.'."\n" + ."\n" + .'- **cpu**: CPU utilization.'."\n" + ."\n" + .'- **memory**: memory usage.'."\n" + ."\n" + .'- **arms\\_incall\\_qps**: the average QPS of a single instance of a Java application in one minute.'."\n" + ."\n" + .'- **arms\\_incall\\_rt**: the average RT of all service interfaces of a Java application in one minute.'."\n" + ."\n" + .'- **tcpActiveConn**: the number of active TCP connections.'."\n" + ."\n" + .'- **slb\\_incall\\_qps**: the QPS of a public-facing SLB instance.'."\n" + ."\n" + .'- **slb\\_incall\\_rt**: the RT of a public-facing SLB instance.'."\n" + ."\n" + .'- **intranet\\_slb\\_incall\\_qps**: the QPS of a private SLB instance.'."\n" + ."\n" + .'- **intranet\\_slb\\_incall\\_rt**: the RT of a private SLB instance.', 'type' => 'string', 'example' => 'cpu', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'NextScaleMetrics' => [ + 'description' => 'The list of metrics for the next scaling activity.', + 'type' => 'array', + 'items' => [ + 'description' => 'The metric data.', + 'type' => 'object', + 'properties' => [ + 'NextScaleOutAverageUtilization' => ['description' => 'The metric threshold for the next scale-out. The value is a percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '21', 'title' => ''], + 'NextScaleInAverageUtilization' => ['description' => 'The metric threshold for the next scale-in. The value is a percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Name' => ['description' => 'The name of the metric.'."\n" + ."\n" + .'- **cpu**: CPU utilization.'."\n" + ."\n" + .'- **memory**: memory usage.'."\n" + ."\n" + .'- **arms\\_incall\\_qps**: the average QPS of a single instance of a Java application in one minute.'."\n" + ."\n" + .'- **arms\\_incall\\_rt**: the average RT of all service interfaces of a Java application in one minute.'."\n" + ."\n" + .'- **tcpActiveConn**: the number of active TCP connections.'."\n" + ."\n" + .'- **slb\\_incall\\_qps**: the QPS of a public-facing SLB instance.'."\n" + ."\n" + .'- **slb\\_incall\\_rt**: the RT of a public-facing SLB instance.'."\n" + ."\n" + .'- **intranet\\_slb\\_incall\\_qps**: the QPS of a private SLB instance.'."\n" + ."\n" + .'- **intranet\\_slb\\_incall\\_rt**: the RT of a private SLB instance.', 'type' => 'string', 'example' => 'cpu', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'MaxReplicas' => ['description' => 'The maximum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'MinReplicas' => ['description' => 'The minimum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleUpRules' => [ + 'description' => 'The scale-out rules.', + 'type' => 'object', + 'properties' => [ + 'Step' => ['description' => 'The scaling step size for scale-outs. The maximum number of instances that can be added at a time.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'StabilizationWindowSeconds' => ['description' => 'The cooldown period for scale-outs. The value can be an integer from 0 to 3600. Unit: seconds. Default value: 0.', 'type' => 'integer', 'format' => 'int64', 'example' => '300', 'title' => ''], + 'Disabled' => ['description' => 'Indicates whether scale-in is disabled. Valid values:'."\n" + ."\n" + .'- **true**: enabled.'."\n" + ."\n" + .'- **false**: disabled.'."\n" + ."\n" + .'> If you enable this feature, the application is never scaled in. This prevents business risks that are caused by scale-ins during peak hours. By default, this feature is disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ScaleDownRules' => [ + 'description' => 'The scale-in rules.', + 'type' => 'object', + 'properties' => [ + 'Step' => ['description' => 'The scaling step size for scale-ins. The maximum number of instances that can be removed at a time.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'StabilizationWindowSeconds' => ['description' => 'The cooldown period for scale-ins. The value can be an integer from 0 to 3600. Unit: seconds. Default value: 0.', 'type' => 'integer', 'format' => 'int64', 'example' => '300', 'title' => ''], + 'Disabled' => ['description' => 'Indicates whether scale-in is disabled. Valid values:'."\n" + ."\n" + .'- **true**: enabled.'."\n" + ."\n" + .'- **false**: disabled.'."\n" + ."\n" + .'> If you enable this feature, the application is never scaled in. This prevents business risks that are caused by scale-ins during peak hours. By default, this feature is disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], + 'ScaleRuleName' => ['description' => 'The name of the auto scaling policy.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'MinReadyInstances' => ['description' => 'The minimum number of ready instances. Valid values:'."\n" + ."\n" + .'- If you set this parameter to **0**, the application is interrupted during an upgrade.'."\n" + ."\n" + .'- If you set this parameter to -1, the system uses a recommended value for the minimum number of ready instances. The value is 25% of the current number of instances. For example, if the current number of instances is 5, the minimum number of ready instances is 2 after 5 × 25% = 1.25 is rounded up.'."\n" + ."\n" + .'> Set the minimum number of ready instances to a value greater than or equal to 1 for each rolling deployment to ensure business continuity.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MinReadyInstanceRatio' => ['description' => 'The percentage of the minimum number of ready instances. Valid values:'."\n" + ."\n" + .'- **-1**: an initial value, which indicates that a percentage is not used.'."\n" + ."\n" + .'- **0 to 100**: a percentage that is rounded up. For example, if you set this parameter to 50% and the current number of instances is 5, the minimum number of ready instances is 3.'."\n" + ."\n" + .'> If you specify both MinReadyInstances and MinReadyInstanceRatio, and the value of **MinReadyInstanceRatio** is not **-1**, the value of **MinReadyInstanceRatio** prevails. For example, if **MinReadyInstances** is set to **5** and **MinReadyInstanceRatio** is set to **50**, the value **50** is used to calculate the minimum number of ready instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '-1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Take note of the following rules:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application is successfully rolled back. Take note of the following rules:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'Message' => ['description' => 'The additional information. Valid values:'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, a specific error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** field is not returned.'."\n" + ."\n" + .'- If the request fails, the **ErrorCode** field is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or a POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The operation is successful.'."\n" + ."\n" + .'- **3xx**: A redirection is required.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application instance was successfully restarted.'."\n" + ."\n" + .'- **true**: The restart succeeded.'."\n" + ."\n" + .'- **false**: The restart failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'Application.NotDeployYet', - 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', - ], - [ - 'errorCode' => 'rollback.error', - 'errorMessage' => 'Failed to roll back.', - ], - [ - 'errorCode' => 'Application.MissingJdk', - 'errorMessage' => 'Your application must at least contain a JDK component.', - ], - [ - 'errorCode' => 'JarApplication.MissingJdk', - 'errorMessage' => 'A FatJar application must contain JDK.', - ], - [ - 'errorCode' => 'PandoraApplication.MissingJdk', - 'errorMessage' => 'The Pandora application is missing a JDK component.', - ], - [ - 'errorCode' => 'WarApplication.MissingJdkWebcontainer', - 'errorMessage' => 'A War application must contain JDK and Tomcat.', - ], - [ - 'errorCode' => 'InvalidComponent.NotFound', - 'errorMessage' => 'The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.', - ], - [ - 'errorCode' => 'InvalidHostnameIp.Invalid', - 'errorMessage' => 'The hostname and/or IP is invalid: Hostname [%s], IP [%s].', - ], - [ - 'errorCode' => 'InvalidInstanceSpecification.Unsupported', - 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', - ], - [ - 'errorCode' => 'InvalidPackageType.NotFound', - 'errorMessage' => 'The package type must be War, FatJar, or Image.', - ], - [ - 'errorCode' => 'LogService.ConfigQuotaExceed', - 'errorMessage' => 'The maximum number of Log Service configs is exceeded.', - ], - [ - 'errorCode' => 'LogService.InternalError', - 'errorMessage' => 'An exception occurred while calling Log Service. Please submit a ticket to solve the problem.', - ], - [ - 'errorCode' => 'LogService.LogDirInvalid', - 'errorMessage' => 'The log collection path is invalid.', - ], - [ - 'errorCode' => 'LogService.NotAvailable', - 'errorMessage' => 'Log Service is unavailable. Please activate Log Service first.', - ], - [ - 'errorCode' => 'LogService.ProjectNumQuotaExceed', - 'errorMessage' => 'The maximum number of Log Service projects is exceeded.', - ], - [ - 'errorCode' => 'VolumnPath.Conflict', - 'errorMessage' => 'Conflict between log collection directory and persistent storage directory.', - ], - [ - 'errorCode' => 'MountConflict.ConfigMap', - 'errorMessage' => 'Conflict detected for ConfigMap path %s.', - ], - [ - 'errorCode' => 'NotFound.ConfigMap', - 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'NotFound.ConfigMapKey', - 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', - 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', - ], - [ - 'errorCode' => 'MinReadyInstanceRatio.Invalid', - 'errorMessage' => 'The ratio of minimum available instances must be between 0 and 100.', - ], - [ - 'errorCode' => 'Package.Version.Too.Long', - 'errorMessage' => 'The maximum length of package version is exceeded.', - ], - [ - 'errorCode' => 'App.Package.Version.Exists', - 'errorMessage' => 'The package version of application already exists.', - ], - [ - 'errorCode' => 'Slb.Occupied', - 'errorMessage' => 'The SLB instance is occupied.', - ], - [ - 'errorCode' => 'Slb.Tag.Not.Qualified', - 'errorMessage' => 'The current SLB instance cannot be reused because it may have been occupied by %s.', - ], - [ - 'errorCode' => 'InvalidParameter.FileName', - 'errorMessage' => 'The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file.', - ], - [ - 'errorCode' => 'vswitch.not.exist', - 'errorMessage' => 'The specified vSwitch does not exist.', - ], - ], - 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"73404D3D-EE4F-4CB2-B197-5C46F6A1****\\",\\n \\"TraceId\\": \\"0b57ff7e16243300839193068e****\\",\\n \\"Data\\": {\\n \\"Timer\\": {\\n \\"EndDate\\": \\"2021-04-25\\",\\n \\"BeginDate\\": \\"2021-03-25\\",\\n \\"Schedules\\": [\\n {\\n \\"AtTime\\": \\"08:00\\",\\n \\"TargetReplicas\\": 2,\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 10\\n }\\n ],\\n \\"Period\\": \\"* * *\\"\\n },\\n \\"UpdateTime\\": 1624330075827,\\n \\"AppId\\": \\"a0d2e04c-159d-40a8-b240-d2f2c263****\\",\\n \\"CreateTime\\": 1624329843790,\\n \\"LastDisableTime\\": 1641882854484,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"Metric\\": {\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 20,\\n \\"MetricType\\": \\"CPU\\",\\n \\"SlbProject\\": \\"test\\",\\n \\"SlbLogstore\\": \\"test\\",\\n \\"Vport\\": \\"80\\",\\n \\"SlbId\\": \\"lb-xxx\\"\\n }\\n ],\\n \\"MetricsStatus\\": {\\n \\"DesiredReplicas\\": 2,\\n \\"NextScaleTimePeriod\\": 3,\\n \\"CurrentReplicas\\": 2,\\n \\"LastScaleTime\\": \\"2022-01-11T08:14:32Z\\",\\n \\"CurrentMetrics\\": [\\n {\\n \\"Type\\": \\"Resource\\",\\n \\"CurrentValue\\": 0,\\n \\"Name\\": \\"cpu\\"\\n }\\n ],\\n \\"NextScaleMetrics\\": [\\n {\\n \\"NextScaleOutAverageUtilization\\": 21,\\n \\"NextScaleInAverageUtilization\\": 10,\\n \\"Name\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"MaxReplicas\\": 3,\\n \\"MinReplicas\\": 1,\\n \\"ScaleUpRules\\": {\\n \\"Step\\": 100,\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"Disabled\\": false\\n },\\n \\"ScaleDownRules\\": {\\n \\"Step\\": 100,\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"Disabled\\": false\\n }\\n },\\n \\"ScaleRuleName\\": \\"test\\",\\n \\"MinReadyInstances\\": 1,\\n \\"MinReadyInstanceRatio\\": -1\\n },\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeApplicationScalingRule', + 'summary' => 'Describes a single auto scaling policy for an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-03-14T02:08:52.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-08-30T09:16:23.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-05-31T11:10:44.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-05-24T09:14:46.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-19T02:15:03.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationScalingRule'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\",\\n \\"IsNeedApproval\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<RollbackApplicationResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>01db03d3-3ee9-48b3-b3d0-dfce2d88****</ChangeOrderId>\\n <IsNeedApproval>true</IsNeedApproval>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</RollbackApplicationResponse>","errorExample":""}]', - 'title' => 'RollbackApplication', - 'summary' => 'Rolls back an application.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'BatchStopApplications' => [ - 'path' => '/pop/v1/sam/app/batchStopApplications', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeApplicationScalingRules' => [ + 'path' => '/pop/v1/sam/scale/applicationScalingRules', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '6295', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6321', + 'abilityTreeNodes' => ['FEATUREsaeX1L0GL', 'FEATUREsaeAINYGA'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'ebf491f0-c1a5-45e2-b2c4-710dbe2a\\*\\*\\*\\*,ebf491f0-c1a5-45e2-b2c4-71025e2a\\*\\*\\*\\*'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], - ], - [ - 'name' => 'AppIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application that you want to stop.'."\n" - ."\n" - .'> If you want to stop multiple applications at the same time, separate the IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ebf491f0-c1a5-45e2-b2c4-710dbe2a****', - ], - ], - [ - 'name' => 'Version', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The application version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The returned information.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The returned message.'."\n" - ."\n" - .'* **success** is returned when the request succeeds.'."\n" - .'* An error code is returned when the request fails.'."\n", - 'type' => 'string', - 'example' => '7BD8F4C7-D84C-4D46-9885-8212997E****', - ], - 'Message' => [ - 'description' => 'The ID of the trace. It can be used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'string', - 'example' => '0bc3b6e215637275918588187d****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The ID of the change order.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* If the request is successful, this parameter is not returned.****'."\n" - .'* This parameter is returned only if the request failed.**** For more information, see the "**Error codes**" section in this topic.'."\n", - 'type' => 'string', - 'example' => '4a815998-b468-4bea-b7d8-59f52a44****', + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of auto scaling policies for the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'ApplicationScalingRules' => [ + 'description' => 'A list of auto scaling policies for the application.', + 'type' => 'array', + 'items' => [ + 'description' => 'An auto scaling policy.', + 'type' => 'object', + 'properties' => [ + 'Timer' => [ + 'description' => 'The scheduled scaling policy.', + 'type' => 'object', + 'properties' => [ + 'EndDate' => ['description' => 'The end date of the short-term scheduled scaling policy. The following rules apply:'."\n" + ."\n" + .'- If **BeginDate** and **EndDate** are not specified, the policy is long-term by default.'."\n" + ."\n" + .'- If you specify a `BeginDate` and an `EndDate`, the policy is short-term and applies only within that date range.', 'type' => 'string', 'example' => '2021-04-25', 'title' => ''], + 'BeginDate' => ['description' => 'The start date of the short-term scheduled scaling policy. The following rules apply:'."\n" + ."\n" + .'- If **BeginDate** and **EndDate** are not specified, the policy is long-term by default.'."\n" + ."\n" + .'- If you specify a `BeginDate` and an `EndDate`, the policy is short-term and applies only within that date range.', 'type' => 'string', 'example' => '2021-03-25', 'title' => ''], + 'Schedules' => [ + 'description' => 'The daily trigger schedule for the policy.', + 'type' => 'array', + 'items' => [ + 'description' => 'A specific trigger time and its target number of instances.', + 'type' => 'object', + 'properties' => [ + 'AtTime' => ['description' => 'The trigger time in `HH:mm` format.', 'type' => 'string', 'example' => '08:00', 'title' => ''], + 'TargetReplicas' => ['description' => 'The target number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'MaxReplicas' => ['description' => 'The maximum number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '50', 'title' => ''], + 'MinReplicas' => ['description' => 'The minimum number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Period' => ['description' => 'The days on which the scheduled scaling policy runs. Valid values:'."\n" + ."\n" + .'- **\\* \\* \\***: The policy is executed at a specified time every day.'."\n" + ."\n" + .'- **\\* \\* Fri,Mon**: Executes the policy on specified days of the week. The time zone is GMT+8. Valid days are listed below:'."\n" + ."\n" + .' - **Sun**: Sunday'."\n" + ."\n" + .' - **Mon**: Monday'."\n" + ."\n" + .' - **Tue**: Tuesday'."\n" + ."\n" + .' - **Wed**: Wednesday'."\n" + ."\n" + .' - **Thu**: Thursday'."\n" + ."\n" + .' - **Fri**: Friday'."\n" + ."\n" + .' - **Sat**: Saturday'."\n" + ."\n" + .'- **1,2,3,28,31 \\* \\***: Executes the policy on specified days of the month (1-31). If a specified day does not exist in a given month (e.g., the 31st), the policy does not run on that day.', 'type' => 'string', 'example' => '* * *', 'title' => ''], + 'TimeZone' => ['description' => 'The time zone.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'UpdateTime' => ['description' => 'The timestamp of the last policy update, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1616642248938', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'CreateTime' => ['description' => 'The timestamp of the policy\'s creation, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1616642248938', 'title' => ''], + 'LastDisableTime' => ['description' => 'The timestamp of when the policy was last disabled.', 'type' => 'integer', 'format' => 'int64', 'example' => '1641882854484', 'title' => ''], + 'ScaleRuleEnabled' => ['description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" + ."\n" + .'- **true**: The policy is enabled.'."\n" + ."\n" + .'- **false**: The policy is disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScaleRuleType' => ['description' => 'The type of the auto scaling policy. Valid values:'."\n" + ."\n" + .'- **timing**: A scheduled scaling policy.'."\n" + ."\n" + .'- **metric**: A metric-based scaling policy.'."\n" + ."\n" + .'- **mix**: A hybrid scaling policy.', 'type' => 'string', 'example' => 'timing', 'title' => ''], + 'Metric' => [ + 'description' => 'The metric-based scaling policy.', + 'type' => 'object', + 'properties' => [ + 'Metrics' => [ + 'description' => 'The metric-based conditions that trigger scaling.', + 'type' => 'array', + 'items' => [ + 'description' => 'A metric condition that can trigger a scaling event.', + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => 'The target value for the metric. The unit varies based on the value of `MetricType`.'."\n" + ."\n" + .'- Target CPU usage, in percent.'."\n" + ."\n" + .'- Target memory usage, in percent.'."\n" + ."\n" + .'- Target QPS, in queries per second.'."\n" + ."\n" + .'- Target response time, in milliseconds.'."\n" + ."\n" + .'- Target number of active TCP connections.'."\n" + ."\n" + .'- Target QPS of a public-facing SLB instance, in queries per second.'."\n" + ."\n" + .'- Target response time of a public-facing SLB instance, in milliseconds.'."\n" + ."\n" + .'- Target QPS of a private SLB instance, in queries per second.'."\n" + ."\n" + .'- Target response time of a private SLB instance, in milliseconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'MetricType' => ['description' => 'The metric used to trigger the auto scaling policy. Valid values:'."\n" + ."\n" + .'- **CPU**: CPU usage.'."\n" + ."\n" + .'- **MEMORY**: memory usage.'."\n" + ."\n" + .'- **QPS**: Average queries per second (QPS) per instance over a 1-minute period. This metric applies to Java applications only.'."\n" + ."\n" + .'- **RT**: Average response time of all service interfaces in a Java application over a 1-minute period.'."\n" + ."\n" + .'- **tcpActiveConn**: Average number of active TCP connections per instance over a 30-second period.'."\n" + ."\n" + .'- **SLB\\_QPS**: Average QPS per instance for a public-facing SLB instance over a 15-second period.'."\n" + ."\n" + .'- **SLB\\_RT**: Average response time of a public-facing SLB instance over a 15-second period.'."\n" + ."\n" + .'- **INTRANET\\_SLB\\_QPS**: Average QPS per instance for a private SLB instance over a 15-second period.'."\n" + ."\n" + .'- **INTRANET\\_SLB\\_RT**: Average response time of a private SLB instance over a 15-second period.', 'type' => 'string', 'example' => 'CPU', 'title' => ''], + 'SlbProject' => ['description' => 'The project in Log Service that stores SLB access logs.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'SlbLogstore' => ['description' => 'The Logstore in Log Service that stores SLB access logs.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Vport' => ['description' => 'The monitored port of the SLB instance.', 'type' => 'string', 'example' => '80', 'title' => ''], + 'SlbId' => ['description' => 'The ID of the SLB instance.', 'type' => 'string', 'example' => 'lb-xxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PrometheusMetrics' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'PrometheusQuery' => ['description' => 'The Prometheus query.', 'type' => 'string', 'title' => '', 'example' => ''], + 'TargetMetricValue' => ['description' => 'The target value for the Prometheus query that triggers a scaling event.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'The Prometheus metrics.', + 'title' => '', + 'example' => '', + ], + 'MetricsStatus' => [ + 'description' => 'The status of the metric-based scaling policy.', + 'type' => 'object', + 'properties' => [ + 'DesiredReplicas' => ['description' => 'The target number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'NextScaleTimePeriod' => ['description' => 'The next period for metric-based scaling.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'CurrentReplicas' => ['description' => 'The current number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '2', 'title' => ''], + 'LastScaleTime' => ['description' => 'The time of the last scaling activity.', 'type' => 'string', 'example' => '2022-01-11T08:14:32Z', 'title' => ''], + 'CurrentMetrics' => [ + 'description' => 'A list of the current metrics for scaling.', + 'type' => 'array', + 'items' => [ + 'description' => 'The metric data.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The data type. This parameter is associated with the specified metric.'."\n" + ."\n" + .'- **Resource**: The metric value for **cpu** or **memory**.'."\n" + ."\n" + .'- **Pods**: The metric value for **tcpActiveConn**.'."\n" + ."\n" + .'- **External**: The metric value for **arms** or **slb**.', 'type' => 'string', 'example' => 'Resource', 'title' => ''], + 'CurrentValue' => ['description' => 'The current value.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'Name' => ['description' => 'The name of the trigger condition.'."\n" + ."\n" + .'- **cpu**: CPU usage.'."\n" + ."\n" + .'- **memory**: memory usage.'."\n" + ."\n" + .'- **arms\\_incall\\_qps\\_v2**: QPS of a Java application.'."\n" + ."\n" + .'- **arms\\_incall\\_rt**: Response time of a Java application.'."\n" + ."\n" + .'- **tcpActiveConn**: The number of active TCP connections.'."\n" + ."\n" + .'- **slb\\_incall\\_qps**: QPS of a public-facing SLB instance.'."\n" + ."\n" + .'- **slb\\_incall\\_rt**: Response time of a public-facing SLB instance.'."\n" + ."\n" + .'- **intranet\\_slb\\_incall\\_qps**: QPS of a private SLB instance.'."\n" + ."\n" + .'- **intranet\\_slb\\_incall\\_rt**: Response time of a private SLB instance.', 'type' => 'string', 'example' => 'cpu', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'NextScaleMetrics' => [ + 'description' => 'A list of metrics for the next scaling activity.', + 'type' => 'array', + 'items' => [ + 'description' => 'The metric data.', + 'type' => 'object', + 'properties' => [ + 'NextScaleOutAverageUtilization' => ['description' => 'The metric value that triggers the next scale-out event. The value is a percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '21', 'title' => ''], + 'NextScaleInAverageUtilization' => ['description' => 'The metric value that triggers the next scale-in event. The value is a percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Name' => ['description' => 'The name of the trigger condition.'."\n" + ."\n" + .'- **cpu**: CPU usage.'."\n" + ."\n" + .'- **memory**: memory usage.'."\n" + ."\n" + .'- **arms\\_incall\\_qps\\_v2**: QPS of a Java application.'."\n" + ."\n" + .'- **arms\\_incall\\_rt**: Response time of a Java application.'."\n" + ."\n" + .'- **tcpActiveConn**: The number of active TCP connections.'."\n" + ."\n" + .'- **slb\\_incall\\_qps**: QPS of a public-facing SLB instance.'."\n" + ."\n" + .'- **slb\\_incall\\_rt**: Response time of a public-facing SLB instance.'."\n" + ."\n" + .'- **intranet\\_slb\\_incall\\_qps**: QPS of a private SLB instance.'."\n" + ."\n" + .'- **intranet\\_slb\\_incall\\_rt**: Response time of a private SLB instance.', 'type' => 'string', 'example' => 'cpu', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'MaxReplicas' => ['description' => 'The maximum number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + 'MinReplicas' => ['description' => 'The minimum number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'MaxReplicas' => ['description' => 'The maximum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'MinReplicas' => ['description' => 'The minimum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ScaleUpRules' => [ + 'description' => 'Configuration for scale-out events.', + 'type' => 'object', + 'properties' => [ + 'Step' => ['description' => 'The number of instances to add in a single scale-out event.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'StabilizationWindowSeconds' => ['description' => 'The cooldown time for scale-out events, in seconds. During this period, no further scaling events are triggered. The value must be an integer from 0 to 3,600. The default value is 0.', 'type' => 'integer', 'format' => 'int64', 'example' => '300', 'title' => ''], + 'Disabled' => ['description' => 'Specifies whether to disable scale-out. Valid values:'."\n" + ."\n" + .'- **true**: Disables scale-out.'."\n" + ."\n" + .'- **false**: Enables scale-out.'."\n" + ."\n" + .'> If this parameter is set to `true`, application instances are never scaled out. This can be useful to freeze the application capacity during specific events. By default, this parameter is set to `false`.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ScaleDownRules' => [ + 'description' => 'Configuration for scale-in events.', + 'type' => 'object', + 'properties' => [ + 'Step' => ['description' => 'The number of instances to remove in a single scale-in event.', 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'StabilizationWindowSeconds' => ['description' => 'The cooldown time for scale-in events, in seconds. During this period, no further scaling events are triggered. The value must be an integer from 0 to 3,600. The default value is 0.', 'type' => 'integer', 'format' => 'int64', 'example' => '300', 'title' => ''], + 'Disabled' => ['description' => 'Specifies whether to disable scale-in. Valid values:'."\n" + ."\n" + .'- **true**: Disables scale-in.'."\n" + ."\n" + .'- **false**: Enables scale-in.'."\n" + ."\n" + .'> Setting this to `true` prevents the application from scaling in, which can be useful to avoid service disruptions from unexpected capacity reduction during peak hours. Default: `false`.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'MetricSource' => ['description' => 'The source of the metrics.', 'type' => 'string', 'title' => '', 'example' => ''], + 'PrometheusUrl' => ['description' => 'The endpoint of the Prometheus service.', 'type' => 'string', 'title' => '', 'example' => ''], + 'PrometheusToken' => ['description' => 'The Prometheus token.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ScaleRuleName' => ['description' => 'The name of the auto scaling policy.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'MinReadyInstances' => ['description' => 'The minimum number of available instances. Valid values:'."\n" + ."\n" + .'- If you set this parameter to **0**, the application may be interrupted during an upgrade.'."\n" + ."\n" + .'- If you set this parameter to **-1**, a recommended value is used, which is 25% of the current number of instances, rounded up to the nearest integer. For example, if an application has five instances, the minimum number of available instances is 2 (5 \\* 25% = 1.25, rounded up).'."\n" + ."\n" + .'> To ensure business continuity during a rolling deployment, we recommend that you set this parameter to a value greater than or equal to 1.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MinReadyInstanceRatio' => ['description' => 'The minimum number of available instances, specified as a percentage. Valid values:'."\n" + ."\n" + .'- **-1**: Indicates that this parameter is not used.'."\n" + ."\n" + .'- **0 to 100**: a percentage that is rounded up to the nearest integer. For example, if you set this parameter to 50% and you have five instances, the minimum number of available instances is 3.'."\n" + ."\n" + .'> If you specify both **MinReadyInstances** and **MinReadyInstanceRatio**, the value of **MinReadyInstanceRatio** takes precedence, unless it is set to **-1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '-1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" - ."\n" - .'- The ErrorCode parameter is not returned if the request succeeds.'."\n" - .'- If the call fails, the ErrorCode parameter is returned. For more information, see the "Error codes" section of this topic.', - 'type' => 'string', - 'example' => 'Null', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Take note of the following rules:'."\n" - ."\n" - .'- **2xx**: The call was successful.'."\n" - .'- **3xx**: The call was redirected.'."\n" - .'- **4xx**: The call failed.'."\n" - .'- **5xx**: A server error occurred.', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application is created. Valid values'."\n" - ."\n" - .'- **true**'."\n" - .'- **false**', - 'type' => 'boolean', - 'example' => 'true', - ], + 'Message' => ['description' => 'The response message. Valid values:'."\n" + ."\n" + .'- Returns **success** if the request is successful.'."\n" + ."\n" + .'- Returns an error message if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code. This parameter is returned only when the request fails.'."\n" + ."\n" + .'-'."\n" + ."\n" + .'- For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: The request was invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The call was successful.'."\n" + ."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'Invalid.App.List.Not.Same.Namespace', - 'errorMessage' => 'The selected applications do not belong to the same namespace.', - ], - [ - 'errorCode' => 'Mamespace.Have.No.Applications', - 'errorMessage' => 'There are no applications in this namespace.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 3,\\n \\"PageSize\\": 10,\\n \\"ApplicationScalingRules\\": [\\n {\\n \\"Timer\\": {\\n \\"EndDate\\": \\"2021-04-25\\",\\n \\"BeginDate\\": \\"2021-03-25\\",\\n \\"Schedules\\": [\\n {\\n \\"AtTime\\": \\"08:00\\",\\n \\"TargetReplicas\\": 3,\\n \\"MaxReplicas\\": 50,\\n \\"MinReplicas\\": 1\\n }\\n ],\\n \\"Period\\": \\"* * *\\",\\n \\"TimeZone\\": \\"\\"\\n },\\n \\"UpdateTime\\": 1616642248938,\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"CreateTime\\": 1616642248938,\\n \\"LastDisableTime\\": 1641882854484,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"Metric\\": {\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 20,\\n \\"MetricType\\": \\"CPU\\",\\n \\"SlbProject\\": \\"test\\",\\n \\"SlbLogstore\\": \\"test\\",\\n \\"Vport\\": \\"80\\",\\n \\"SlbId\\": \\"lb-xxx\\"\\n }\\n ],\\n \\"PrometheusMetrics\\": [\\n {\\n \\"PrometheusQuery\\": \\"\\",\\n \\"TargetMetricValue\\": \\"\\"\\n }\\n ],\\n \\"MetricsStatus\\": {\\n \\"DesiredReplicas\\": 2,\\n \\"NextScaleTimePeriod\\": 3,\\n \\"CurrentReplicas\\": 2,\\n \\"LastScaleTime\\": \\"2022-01-11T08:14:32Z\\",\\n \\"CurrentMetrics\\": [\\n {\\n \\"Type\\": \\"Resource\\",\\n \\"CurrentValue\\": 0,\\n \\"Name\\": \\"cpu\\"\\n }\\n ],\\n \\"NextScaleMetrics\\": [\\n {\\n \\"NextScaleOutAverageUtilization\\": 21,\\n \\"NextScaleInAverageUtilization\\": 10,\\n \\"Name\\": \\"cpu\\"\\n }\\n ],\\n \\"MaxReplicas\\": 3,\\n \\"MinReplicas\\": 1\\n },\\n \\"MaxReplicas\\": 3,\\n \\"MinReplicas\\": 1,\\n \\"ScaleUpRules\\": {\\n \\"Step\\": 100,\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"Disabled\\": false\\n },\\n \\"ScaleDownRules\\": {\\n \\"Step\\": 100,\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"Disabled\\": false\\n },\\n \\"MetricSource\\": \\"\\",\\n \\"PrometheusUrl\\": \\"\\",\\n \\"PrometheusToken\\": \\"\\"\\n },\\n \\"ScaleRuleName\\": \\"test\\",\\n \\"MinReadyInstances\\": 1,\\n \\"MinReadyInstanceRatio\\": -1\\n }\\n ]\\n },\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeApplicationScalingRules', + 'summary' => 'Describes the Auto Scaling policies for an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-27T03:14:33.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-06-09T08:44:24.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-14T02:08:52.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-08-30T09:16:22.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-05-31T11:10:44.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-05-24T09:14:46.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-19T02:15:03.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '350', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationScalingRules'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationScalingRules', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7BD8F4C7-D84C-4D46-9885-8212997E****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3b6e215637275918588187d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4a815998-b468-4bea-b7d8-59f52a44****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchStopApplicationsResponse>\\n <RequestId>7BD8F4C7-D84C-4D46-9885-8212997E****</RequestId>\\n <Message>success</Message>\\n <TraceId>0bc3b6e215637275918588187d****</TraceId>\\n <Data>\\n <ChangeOrderId>4a815998-b468-4bea-b7d8-59f52a44****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</BatchStopApplicationsResponse>","errorExample":""}]', - 'title' => 'BatchStopApplications', - 'summary' => 'Stop applications in batches.', ], - 'BatchStartApplications' => [ - 'path' => '/pop/v1/sam/app/batchStartApplications', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeApplicationSlbs' => [ + 'path' => '/pop/v1/sam/app/slb', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '6294', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6323', + 'abilityTreeNodes' => ['FEATUREsaeBRTWZ3'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], - ], - [ - 'name' => 'AppIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of the applications that you want to start. Separate multiple IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ebf491f0-c1a5-45e2-b2c4-710dbe2a****', - ], - ], - [ - 'name' => 'Version', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The application version.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the trace. It is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, `success` is returned.'."\n" + ."\n" + .'- If the request fails, a specific error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* If the request is successful, this parameter is not returned.****'."\n" - .'* This parameter is returned only if the request failed.**** For more information, see **Error codes** in this topic.'."\n", + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', + 'Intranet' => [ + 'description' => 'The configurations of the internal-facing SLB instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the configuration of the internal-facing SLB instance.', + 'type' => 'object', + 'properties' => [ + 'HttpsCertId' => ['description' => 'The ID of the certificate for the HTTPS protocol.', 'type' => 'string', 'example' => '1513561019707729_16f37aae5f3_-375882821_-169099****', 'title' => ''], + 'Protocol' => ['description' => 'The supported protocol.', 'type' => 'string', 'example' => 'TCP', 'title' => ''], + 'TargetPort' => ['description' => 'The container port.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'Port' => ['description' => 'The listening port of the SLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'HttpsCaCertId' => ['description' => 'The ID of the CA certificate for the HTTPS protocol.', 'type' => 'string', 'example' => '1513561019707729_16f37aae5f3_-375882821_-169099****', 'title' => ''], + 'StickySession' => ['description' => 'Indicates whether session persistence is enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'StickySessionType' => ['description' => 'The cookie handling method. Valid values:'."\n" + ."\n" + .'- `insert`: inserts a cookie. When a client makes the first request, the SLB instance inserts a cookie into the response. The next request from the client contains the cookie, and the SLB instance forwards the request to the same backend server.'."\n" + ."\n" + .'- `server`: rewrites a cookie. When the SLB instance detects a user-defined cookie, it rewrites the cookie. The next request from the client contains the new cookie, and the SLB instance forwards the request to the same backend server.'."\n" + ."\n" + .'> This parameter is required when `StickySession` is set to `true`.', 'type' => 'string', 'example' => 'insert', 'title' => ''], + 'CookieTimeout' => ['description' => 'The cookie timeout period. Unit: seconds. Valid values: `1` to `86400`.'."\n" + ."\n" + .'> This parameter is required when `StickySession` is set to `true` and `StickySessionType` is set to `insert`.', 'type' => 'integer', 'format' => 'int32', 'example' => '56', 'title' => ''], + 'Cookie' => ['description' => 'The cookie that is configured on the server.'."\n" + ."\n" + .'The cookie must be 1 to 200 characters in length and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), or spaces. It cannot start with a dollar sign ($).'."\n" + ."\n" + .'> This parameter is required when `StickySession` is set to `true` and `StickySessionType` is set to `server`.', 'type' => 'string', 'example' => 'wwe', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the rule was created. This value is a UNIX timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1741247308294', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'InternetIp' => ['description' => 'The public IP address.', 'type' => 'string', 'example' => '59.74.**.**', 'title' => ''], + 'InternetSlbId' => ['description' => 'The ID of the Internet-facing SLB instance.', 'type' => 'string', 'example' => 'lb-uf6xc7wybefehnv45****', 'title' => ''], + 'Internet' => [ + 'description' => 'The configurations of the Internet-facing SLB instance.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the configuration of the Internet-facing SLB instance.', + 'type' => 'object', + 'properties' => [ + 'HttpsCertId' => ['description' => 'The ID of the certificate for the HTTPS protocol.', 'type' => 'string', 'example' => '1513561019707729_16f37aae5f3_-375882821_-169099****', 'title' => ''], + 'Protocol' => ['description' => 'The supported protocol.', 'type' => 'string', 'example' => 'TCP', 'title' => ''], + 'TargetPort' => ['description' => 'The container port.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'Port' => ['description' => 'The listening port of the SLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '80', 'title' => ''], + 'HttpsCaCertId' => ['description' => 'The ID of the CA certificate for the HTTPS protocol.', 'type' => 'string', 'example' => '1513561019707729_16f37aae5f3_-375882821_-169099****', 'title' => ''], + 'StickySession' => ['description' => 'Indicates whether session persistence is enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'StickySessionType' => ['description' => 'The cookie handling method. Valid values:'."\n" + ."\n" + .'- `insert`: inserts a cookie. When a client makes the first request, the SLB instance inserts a cookie into the response. The next request from the client contains the cookie, and the SLB instance forwards the request to the same backend server.'."\n" + ."\n" + .'- `server`: rewrites a cookie. When the SLB instance detects a user-defined cookie, it rewrites the cookie. The next request from the client contains the new cookie, and the SLB instance forwards the request to the same backend server.'."\n" + ."\n" + .'> This parameter is required when `StickySession` is set to `true`.', 'type' => 'string', 'example' => 'insert', 'title' => ''], + 'CookieTimeout' => ['description' => 'The cookie timeout period. Unit: seconds. Valid values: `1` to `86400`.'."\n" + ."\n" + .'> This parameter is required when `StickySession` is set to `true` and `StickySessionType` is set to `insert`.', 'type' => 'integer', 'format' => 'int32', 'example' => '56', 'title' => ''], + 'Cookie' => ['description' => 'The cookie that is configured on the server.'."\n" + ."\n" + .'The cookie must be 1 to 200 characters in length and can contain only ASCII letters and digits. It cannot contain commas (,), semicolons (;), or spaces. It cannot start with a dollar sign ($).'."\n" + ."\n" + .'> This parameter is required when `StickySession` is set to `true` and `StickySessionType` is set to `server`.', 'type' => 'string', 'example' => 'wwe', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the rule was created. This value is a UNIX timestamp.', 'type' => 'integer', 'format' => 'int64', 'example' => '1741247308294'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'IntranetSlbId' => ['description' => 'The ID of the internal-facing SLB instance.', 'type' => 'string', 'example' => 'lb-uf6xc7wybefehnv45****', 'title' => ''], + 'IntranetIp' => ['description' => 'The private IP address.', 'type' => 'string', 'example' => '192.168.XX.XX', 'title' => ''], + 'InternetSlbExpired' => ['description' => 'Indicates whether the Internet-facing SLB instance has expired.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'IntranetSlbExpired' => ['description' => 'Indicates whether the internal-facing SLB instance has expired.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'InternetSlbChargeType' => ['description' => 'The billing method of the Internet-facing SLB instance.', 'type' => 'string', 'example' => 'PayBySpec', 'title' => ''], + 'IntranetSlbChargeType' => ['description' => 'The billing method of the internal-facing SLB instance.', 'type' => 'string', 'example' => 'PayBySpec', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'title' => '', 'example' => ''], + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'title' => '', 'example' => ''], + 'ClusterId' => ['description' => 'The cluster ID.', 'type' => 'string', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" - ."\n" - .'- The ErrorCode parameter is not returned if the request succeeds.'."\n" - .'- If the call fails, the ErrorCode parameter is returned. For more information, see the "Error codes" section of this topic.', - 'type' => 'string', - 'example' => 'NULL', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Take note of the following rules:'."\n" - ."\n" - .'- **2xx**: The call was successful.'."\n" - .'- **3xx**: The call was redirected.'."\n" - .'- **4xx**: The call failed.'."\n" - .'- **5xx**: A server error occurred.', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application deployment is successful. Take note of the following rules:'."\n" - ."\n" - .'- **true**'."\n" - .'- **false**', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- `2xx`: The request is successful.'."\n" + ."\n" + .'- `3xx`: The request is redirected.'."\n" + ."\n" + .'- `4xx`: A client error occurs.'."\n" + ."\n" + .'- `5xx`: A server error occurs.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the configuration of the SLB instance was obtained. Valid values:'."\n" + ."\n" + .'- `true`: The configuration was obtained.'."\n" + ."\n" + .'- `false`: The configuration failed to be obtained.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'Mamespace.Have.No.Applications', - 'errorMessage' => 'There are no applications in this namespace.', - ], - [ - 'errorCode' => 'Invalid.App.List.Not.Same.Namespace', - 'errorMessage' => 'The selected applications do not belong to the same namespace.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Intranet\\": [\\n {\\n \\"HttpsCertId\\": \\"1513561019707729_16f37aae5f3_-375882821_-169099****\\",\\n \\"Protocol\\": \\"TCP\\",\\n \\"TargetPort\\": 8080,\\n \\"Port\\": 80,\\n \\"HttpsCaCertId\\": \\"1513561019707729_16f37aae5f3_-375882821_-169099****\\",\\n \\"StickySession\\": false,\\n \\"StickySessionType\\": \\"insert\\",\\n \\"CookieTimeout\\": 56,\\n \\"Cookie\\": \\"wwe\\",\\n \\"CreateTime\\": 1741247308294\\n }\\n ],\\n \\"InternetIp\\": \\"59.74.**.**\\",\\n \\"InternetSlbId\\": \\"lb-uf6xc7wybefehnv45****\\",\\n \\"Internet\\": [\\n {\\n \\"HttpsCertId\\": \\"1513561019707729_16f37aae5f3_-375882821_-169099****\\",\\n \\"Protocol\\": \\"TCP\\",\\n \\"TargetPort\\": 8080,\\n \\"Port\\": 80,\\n \\"HttpsCaCertId\\": \\"1513561019707729_16f37aae5f3_-375882821_-169099****\\",\\n \\"StickySession\\": false,\\n \\"StickySessionType\\": \\"insert\\",\\n \\"CookieTimeout\\": 56,\\n \\"Cookie\\": \\"wwe\\",\\n \\"CreateTime\\": 1741247308294\\n }\\n ],\\n \\"IntranetSlbId\\": \\"lb-uf6xc7wybefehnv45****\\",\\n \\"IntranetIp\\": \\"192.168.XX.XX\\",\\n \\"InternetSlbExpired\\": false,\\n \\"IntranetSlbExpired\\": false,\\n \\"InternetSlbChargeType\\": \\"PayBySpec\\",\\n \\"IntranetSlbChargeType\\": \\"PayBySpec\\",\\n \\"AppId\\": \\"\\",\\n \\"AppName\\": \\"\\",\\n \\"ClusterId\\": \\"\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeApplicationSlbs', + 'summary' => 'Queries the configurations of Server Load Balancer (SLB) instances for an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-23T07:33:35.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-23T07:32:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-23T07:28:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-23T07:28:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-05-13T11:33:58.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-02-26T08:53:44.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-08-07T11:17:56.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-06-18T11:54:09.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-05-30T07:26:05.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '70', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationSlbs'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationSlbs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BatchStartApplicationsResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>01db03d3-3ee9-48b3-b3d0-dfce2d88****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</BatchStartApplicationsResponse>","errorExample":""}]', - 'title' => 'BatchStartApplications', - 'summary' => 'Starts multiple applications at a time.', ], - 'DowngradeApplicationApmService' => [ - 'path' => '/pop/v1/sam/app/applicationApmService', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeApplicationStatus' => [ + 'path' => '/pop/v1/sam/app/describeApplicationStatus', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14716,227 +10846,395 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '6360', - 'abilityTreeNodes' => [ - 'FEATUREsaeK7DHH9', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6324', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the interactive messaging application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****', - ], - 'Message' => [ - 'description' => 'The message that is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- If the call is successful, **success** is returned.'."\n" + ."\n" + .'- If the call fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned result.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'Indicates whether ARMS advanced monitoring is disabled. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ArmsAdvancedEnabled' => ['description' => 'Indicates whether ARMS Advanced Edition is enabled. Valid values:'."\n" + ."\n" + .'- **true**: enabled.'."\n" + ."\n" + .'- **false**: disabled.', 'type' => 'string', 'example' => 'false', 'title' => ''], + 'LastChangeOrderId' => ['description' => 'The ID of the most recently executed change order. This parameter is empty if no change order was executed or if the information about the change order has expired.', 'type' => 'string', 'example' => '1ccc2339-fc19-49aa-bda0-1e7b8497****', 'title' => ''], + 'ArmsApmInfo' => ['description' => 'The metadata of the application in ARMS.', 'type' => 'string', 'example' => '{"appId":"0099b7be-5f5b-4512-a7fc-56049ef1****","licenseKey":"d5cgdt5pu0@7303f55292a****"}', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the application was created. This value is a UNIX timestamp.', 'type' => 'string', 'example' => '1563373372746', 'title' => ''], + 'CurrentStatus' => ['description' => 'The current status of the application. Valid values:'."\n" + ."\n" + .'- **RUNNING**: The application is running.'."\n" + ."\n" + .'- **STOPPED**: The application is stopped.'."\n" + ."\n" + .'- **UNKNOWN**: The application status is unknown.', 'type' => 'string', 'example' => 'RUNNING', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], + 'LastChangeOrderRunning' => ['description' => 'Indicates whether the most recent change order is being executed. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'RunningInstances' => ['description' => 'The number of running instances of the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'LastChangeOrderStatus' => ['description' => 'The status of the most recent change order. Valid values:'."\n" + ."\n" + .'- **READY**: The change order is ready.'."\n" + ."\n" + .'- **RUNNING**: The change order is being executed.'."\n" + ."\n" + .'- **SUCCESS**: The change order was successful.'."\n" + ."\n" + .'- **FAIL**: The change order failed.'."\n" + ."\n" + .'- **ABORT**: The change order was aborted.'."\n" + ."\n" + .'- **WAIT\\_BATCH\\_CONFIRM**: The change order is waiting for manual confirmation for the next batch.'."\n" + ."\n" + .'- **AUTO\\_BATCH\\_WAIT**: The change order is in a waiting state for an automatic batch.'."\n" + ."\n" + .'- **SYSTEM\\_FAIL**: A system error occurred.'."\n" + ."\n" + .'- **WAIT\\_APPROVAL**: The change order is pending approval.'."\n" + ."\n" + .'- **APPROVED**: The change order is approved and is pending execution.', 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''], + 'SubStatus' => ['description' => 'The substatus of the change order. This parameter is used to determine whether an exception occurs during the release process. Valid values:'."\n" + ."\n" + .'- **NORMAL**: The release is normal.'."\n" + ."\n" + .'- **RUNNING\\_BUT\\_HAS\\_ERROR**: The release is abnormal. For example, if an error occurs during a phased release, you must manually roll back the release. In this case, the change order cannot be completed and the status of the change order remains **RUNNING**.', 'type' => 'string', 'example' => 'NORMAL', 'title' => ''], + 'EnableAgent' => ['description' => 'Indicates whether the SAE agent is enabled. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'FileSizeLimit' => ['description' => 'The file size limit. Unit: KB. Valid values: 0 to 10240.', 'type' => 'integer', 'format' => 'int64', 'example' => '10240', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The status code.'."\n", - 'type' => 'string', - 'example' => '400', - ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether ARMS advanced monitoring is disabled. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, this parameter is not returned.'."\n" + ."\n" + .'- If the request fails, this parameter is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: The request was invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application status was obtained. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Status\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DowngradeApplicationApmService', - 'summary' => 'Disable ARMS Advanced Edition monitoring.', - ], - 'UpgradeApplicationApmService' => [ - 'path' => '/pop/v1/sam/app/applicationApmService', - 'methods' => [ - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ArmsAdvancedEnabled\\": \\"false\\",\\n \\"LastChangeOrderId\\": \\"1ccc2339-fc19-49aa-bda0-1e7b8497****\\",\\n \\"ArmsApmInfo\\": \\"{\\\\\\"appId\\\\\\":\\\\\\"0099b7be-5f5b-4512-a7fc-56049ef1****\\\\\\",\\\\\\"licenseKey\\\\\\":\\\\\\"d5cgdt5pu0@7303f55292a****\\\\\\"}\\",\\n \\"CreateTime\\": \\"1563373372746\\",\\n \\"CurrentStatus\\": \\"RUNNING\\",\\n \\"AppId\\": \\"0099b7be-5f5b-4512-a7fc-56049ef1****\\",\\n \\"LastChangeOrderRunning\\": false,\\n \\"RunningInstances\\": 1,\\n \\"LastChangeOrderStatus\\": \\"SUCCESS\\",\\n \\"SubStatus\\": \\"NORMAL\\",\\n \\"EnableAgent\\": false,\\n \\"FileSizeLimit\\": 10240\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeApplicationStatus', + 'summary' => 'Call the DescribeApplicationStatus API to get an application\'s status.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-11-17T02:29:05.000Z', 'description' => 'Response parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationStatus'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeChangeOrder' => [ + 'path' => '/pop/v1/sam/changeorder/DescribeChangeOrder', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '6406', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6325', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'ChangeOrderId', 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], + 'schema' => ['description' => 'The change order ID. You can obtain it by calling the [ListChangeOrders](~~126615~~) interface.', 'type' => 'string', 'required' => true, 'example' => '76fa5c0-9ebb-4bb4-b383-1f885447****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned. The following limits are imposed on the ID:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* An error code is returned when a request failed.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The message returned for the request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID of the request. This ID is used for troubleshooting.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned result.'."\n", + 'description' => 'The details of the change order.', 'type' => 'object', 'properties' => [ - 'Status' => [ - 'description' => 'Indicates whether ARMS advanced monitoring is enabled. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true'."\n", + 'Status' => ['description' => 'The status of the change order. Valid values:'."\n" + ."\n" + .'- **0**: Preparing'."\n" + ."\n" + .'- **1**: In progress'."\n" + ."\n" + .'- **2**: Succeeded'."\n" + ."\n" + .'- **3**: Failed'."\n" + ."\n" + .'- **6**: Terminated'."\n" + ."\n" + .'- **8**: Awaiting manual confirmation'."\n" + ."\n" + .'- **9**: Awaiting automatic confirmation'."\n" + ."\n" + .'- **10**: Failed due to a system error'."\n" + ."\n" + .'- **11**: Pending approval'."\n" + ."\n" + .'- **12**: Approved and pending execution', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'SubStatus' => ['description' => 'The substatus of the release order. This parameter indicates whether an exception occurred during the release. Valid values:'."\n" + ."\n" + .'- **0**: Normal.'."\n" + ."\n" + .'- **1**: Abnormal. For example, if a batch release fails, you must manually perform a rollback, leaving the release order in the In Progress state.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ApprovalId' => ['description' => 'The approval ID for the operation.', 'type' => 'string', 'example' => '67de0b39-a9d4-4c09-a170-cf438208****', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'BatchWaitTime' => ['description' => 'The wait time, in minutes, between batches in an automatic release.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the change order was created.', 'type' => 'string', 'example' => '2020-12-17 21:06:45', 'title' => ''], + 'BatchCount' => ['description' => 'The number of batches.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CoTypeCode' => ['description' => 'The change type code. Valid values:'."\n" + ."\n" + .'- **CoBindSlb**: Binds an SLB instance.'."\n" + ."\n" + .'- **CoUnbindSlb**: Unbinds an SLB instance.'."\n" + ."\n" + .'- **CoCreateApp**: Creates an application.'."\n" + ."\n" + .'- **CoDeleteApp**: Deletes an application.'."\n" + ."\n" + .'- **CoDeploy**: Deploys an application.'."\n" + ."\n" + .'- **CoRestartApplication**: Restarts an application.'."\n" + ."\n" + .'- **CoRollback**: Rolls back an application.'."\n" + ."\n" + .'- **CoScaleIn**: Scales in an application.'."\n" + ."\n" + .'- **CoScaleOut**: Scales out an application.'."\n" + ."\n" + .'- **CoStart**: Starts an application.'."\n" + ."\n" + .'- **CoStop**: Stops an application.'."\n" + ."\n" + .'- **CoRescaleApplicationVertically**: Modifies instance specifications.'."\n" + ."\n" + .'- **CoDeployHistroy**: Rolls back to a historical version.'."\n" + ."\n" + .'- **CoBindNas**: Binds a NAS file system.'."\n" + ."\n" + .'- **CoUnbindNas**: Unbinds a NAS file system.'."\n" + ."\n" + .'- **CoBatchStartApplication**: Starts applications in batches.'."\n" + ."\n" + .'- **CoBatchStopApplication**: Stops applications in batches.'."\n" + ."\n" + .'- **CoRestartInstances**: Restarts instances.'."\n" + ."\n" + .'- **CoDeleteInstances**: Deletes instances.'."\n" + ."\n" + .'- **CoScaleInAppWithInstances**: Scales in an application by specifying instances.', 'type' => 'string', 'example' => 'CoRestartInstances', 'title' => ''], + 'SupportRollback' => ['description' => 'Indicates whether rollback is supported. Valid values:'."\n" + ."\n" + .'- **true**: Rollback is supported.'."\n" + ."\n" + .'- **false**: Rollback is not supported.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ChangeOrderId' => ['description' => 'The change order ID.', 'type' => 'string', 'example' => '765fa5c0-9ebb-4bb4-b383-1f885447**', 'title' => ''], + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'app-test', 'title' => ''], + 'BatchType' => ['description' => 'The release mode for batches. Valid values:'."\n" + ."\n" + .'- **auto**: Automatic release.'."\n" + ."\n" + .'- **manual**: Manual release.', 'type' => 'string', 'example' => 'auto', 'title' => ''], + 'Description' => ['description' => 'The description of the change order.', 'type' => 'string', 'example' => 'description', 'title' => ''], + 'CoType' => ['description' => 'The change type. This parameter is a description of `CoTypeCode`.', 'type' => 'string', 'example' => 'Batch Restart Instances', 'title' => ''], + 'Auto' => ['description' => 'Indicates whether to automatically release the change in batches. Valid values:'."\n" + ."\n" + .'- **true**: The change is automatically released.'."\n" + ."\n" + .'- **false**: The change is not automatically released.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CurrentPipelineId' => ['description' => 'The ID of the current batch.', 'type' => 'string', 'example' => '0e4acf82-c9b1-4c1e-ac28-55776338****', 'title' => ''], + 'Pipelines' => [ + 'description' => 'The batch information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about a batch.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the batch. Valid values:'."\n" + ."\n" + .'- **0**: Preparing'."\n" + ."\n" + .'- **1**: In progress'."\n" + ."\n" + .'- **2**: Succeeded'."\n" + ."\n" + .'- **3**: Failed'."\n" + ."\n" + .'- **6**: Terminated'."\n" + ."\n" + .'- **8**: Awaiting manual confirmation'."\n" + ."\n" + .'- **9**: Awaiting automatic confirmation'."\n" + ."\n" + .'- **10**: Failed due to a system error'."\n" + ."\n" + .'- **11**: Pending approval'."\n" + ."\n" + .'- **12**: Approved and pending execution', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'StartTime' => ['description' => 'The start time of the batch.', 'type' => 'integer', 'format' => 'int64', 'example' => '1562831689704', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the batch was last updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '1562847178007', 'title' => ''], + 'BatchType' => ['description' => 'The batch type.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'ParallelCount' => ['description' => 'The number of parallel tasks in a batch.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'PipelineName' => ['description' => 'The batch name.', 'type' => 'string', 'example' => 'Batch 1 Change', 'title' => ''], + 'PipelineId' => ['description' => 'The batch ID.', 'type' => 'string', 'example' => '0e4acf82-c9b1-4c1e-ac28-55776338****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'bbbbb-3fd370b2-3646-4ba6-91f9-9423e19ab0cd-*****', 'title' => ''], + 'ApplicationUpdateStrategy' => ['description' => 'The update strategy for the application.', 'type' => 'string', 'title' => '', 'example' => ''], + 'ApplicationEnableGreyTagRoute' => ['description' => 'Indicates whether gray tag routing is enabled.', 'type' => 'boolean', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, this parameter is not returned.'."\n" + ."\n" + .'- If the request fails, this parameter is returned. For more information, see the **error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client-side error occurred.'."\n" + ."\n" + .'- **5xx**: A server-side error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Resouce.no.permission', 'errorMessage' => 'You are not authorized to operate on the specified resources.', 'description' => 'You are not authorized to operate on the specified resources.'], + ['errorCode' => 'InvalidChangeOrder.NotFound', 'errorMessage' => 'The current change order does not exist.', 'description' => 'The current change order does not exist.'], + ], + 404 => [ + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Status\\": 2,\\n \\"SubStatus\\": 0,\\n \\"ApprovalId\\": \\"67de0b39-a9d4-4c09-a170-cf438208****\\",\\n \\"ErrorMessage\\": \\"success\\",\\n \\"BatchWaitTime\\": 0,\\n \\"CreateTime\\": \\"2020-12-17 21:06:45\\",\\n \\"BatchCount\\": 1,\\n \\"CoTypeCode\\": \\"CoRestartInstances\\",\\n \\"SupportRollback\\": false,\\n \\"ChangeOrderId\\": \\"765fa5c0-9ebb-4bb4-b383-1f885447**\\",\\n \\"AppName\\": \\"app-test\\",\\n \\"BatchType\\": \\"auto\\",\\n \\"Description\\": \\"description\\",\\n \\"CoType\\": \\"Batch Restart Instances\\",\\n \\"Auto\\": true,\\n \\"CurrentPipelineId\\": \\"0e4acf82-c9b1-4c1e-ac28-55776338****\\",\\n \\"Pipelines\\": [\\n {\\n \\"Status\\": 2,\\n \\"StartTime\\": 1562831689704,\\n \\"UpdateTime\\": 1562847178007,\\n \\"BatchType\\": 0,\\n \\"ParallelCount\\": 0,\\n \\"PipelineName\\": \\"Batch 1 Change\\",\\n \\"PipelineId\\": \\"0e4acf82-c9b1-4c1e-ac28-55776338****\\"\\n }\\n ],\\n \\"AppId\\": \\"bbbbb-3fd370b2-3646-4ba6-91f9-9423e19ab0cd-*****\\",\\n \\"ApplicationUpdateStrategy\\": \\"\\",\\n \\"ApplicationEnableGreyTagRoute\\": false\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeChangeOrder', + 'summary' => 'Call DescribeChangeOrder to get information about a change order.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-05-13T11:33:58.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-03-03T12:42:21.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-11-17T02:29:04.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeChangeOrder'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeChangeOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Status\\": true\\n },\\n \\"ErrorCode\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'UpgradeApplicationApmService', - 'summary' => 'Enables the advanced monitoring feature of Application Real-Time Monitoring Service (ARMS).', - 'description' => 'You are charged when you use the ARMS advanced monitoring feature. Enable this feature based on your business requirements. For more information, see [Billing overview](https://www.alibabacloud.com/help/zh/arms/application-monitoring/product-overview/billing-overview-1).'."\n", ], - 'ListConsumedServices' => [ - 'path' => '/pop/v1/sam/service/listConsumedServices', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeComponents' => [ + 'path' => '/pop/v1/sam/resource/components', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -14946,146 +11244,101 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '6373', - 'abilityTreeNodes' => [ - 'FEATUREsaeY046YN', - ], + 'abilityTreeCode' => '6327', + 'abilityTreeNodes' => ['FEATUREsae25O0WL'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => false, 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****', 'title' => ''], + ], + [ + 'name' => 'Type', + 'in' => 'query', + 'schema' => ['description' => 'The supported component type. Valid values:'."\n" + ."\n" + .'- **TOMCAT**'."\n" + ."\n" + .'- **JDK**', 'type' => 'string', 'required' => true, 'example' => 'TOMCAT', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query call details.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The details of the microservices.'."\n", + 'description' => 'An array of supported application components.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'Details of a single component.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the published service.'."\n", - 'type' => 'string', - 'example' => 'RPC', - ], - 'Groups' => [ - 'description' => 'The service groups that corresponds to the consumed services.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The service group that corresponds to the consumed service.'."\n", - 'type' => 'string', - 'example' => 'HSF', - ], - ], - 'Version' => [ - 'description' => 'The version of the published service.'."\n", - 'type' => 'string', - 'example' => '1.0.0', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', - ], - 'Group2Ip' => [ - 'description' => 'This parameter is reserved.'."\n", - 'type' => 'string', - 'example' => '{}', - ], - 'Ips' => [ - 'description' => 'The addresses where the services can be subscribed to.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The address where the service can be subscribed to.'."\n", - 'type' => 'string', - 'example' => '10.0.0.1', - ], - ], - 'Name' => [ - 'description' => 'The name of the published service.'."\n", - 'type' => 'string', - 'example' => 'com.alibaba.nodejs.ItemService', - ], + 'Type' => ['description' => 'The component type.', 'type' => 'string', 'example' => 'JDK', 'title' => ''], + 'ComponentKey' => ['description' => 'The component ID.', 'type' => 'string', 'example' => 'Open JDK 8', 'title' => ''], + 'ComponentDescription' => ['description' => 'The component description.', 'type' => 'string', 'example' => 'Open JDK 8', 'title' => ''], + 'Expired' => ['description' => 'Indicates whether the component is expired. Valid values:'."\n" + ."\n" + .'- **true**: The component is expired.'."\n" + ."\n" + .'- **false**: The component is not expired.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of microservices was queried. Valid values:'."\n" - ."\n" - .'* **true**: The list was queried.'."\n" - .'* **false**: The list failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** parameter is empty.'."\n" + ."\n" + .'- If the request fails, the **ErrorCode** parameter indicates an error code. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: success'."\n" + ."\n" + .'- **3xx**: redirect'."\n" + ."\n" + .'- **4xx**: request error'."\n" + ."\n" + .'- **5xx**: server error', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Type\\": \\"RPC\\",\\n \\"Groups\\": [\\n \\"HSF\\"\\n ],\\n \\"Version\\": \\"1.0.0\\",\\n \\"AppId\\": \\"b2a8a925-477a-4ed7-b825-d5e22500****\\",\\n \\"Group2Ip\\": \\"{}\\",\\n \\"Ips\\": [\\n \\"10.0.0.1\\"\\n ],\\n \\"Name\\": \\"com.alibaba.nodejs.ItemService\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListConsumedServicesResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Type>RPC</Type>\\n <Groups>HSF</Groups>\\n <Version>1.0.0</Version>\\n <AppId>b2a8a925-477a-4ed7-b825-d5e22500****</AppId>\\n <Group2Ip>{}</Group2Ip>\\n <Ips>10.0.0.1</Ips>\\n <Name>com.alibaba.nodejs.ItemService</Name>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListConsumedServicesResponse>","errorExample":""}]', - 'title' => 'ListConsumedServices', - 'summary' => 'Queries a list of microservices that are subscribed.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'ListPublishedServices' => [ - 'path' => '/pop/v1/sam/service/listPublishedServices', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidComponentType.NotFound', 'errorMessage' => 'The specified Type does not exist.', 'description' => 'The specified Type does not exist.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Type\\": \\"JDK\\",\\n \\"ComponentKey\\": \\"Open JDK 8\\",\\n \\"ComponentDescription\\": \\"Open JDK 8\\",\\n \\"Expired\\": false\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeComponents', + 'summary' => 'Call the DescribeComponents API to retrieve the component versions required to create an application deployment.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:29.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + ], + 'DescribeConfigMap' => [ + 'path' => '/pop/v1/sam/configmap/configMap', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15095,688 +11348,599 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '6378', - 'abilityTreeNodes' => [ - 'FEATUREsaeY046YN', - ], + 'abilityTreeCode' => '6328', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'ConfigMapId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', - ], + 'schema' => ['description' => 'The ID of the ConfigMap. You can call the [ListNamespacedConfigMaps](~~176917~~) operation to obtain the ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- The value is **success** if the request succeeds.'."\n" + ."\n" + .'- The value is an error code if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use it to locate the call details.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The details of the microservices.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the published service.'."\n", - 'type' => 'string', - 'example' => 'RPC', - ], - 'Groups' => [ - 'description' => 'The service group that corresponds to the consumed service.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The service group that corresponds to the consumed service.'."\n", - 'type' => 'string', - 'example' => 'HSF', - ], - ], - 'Version' => [ - 'description' => 'The version of the published services.'."\n", - 'type' => 'string', - 'example' => '1.0.0', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', - ], - 'Group2Ip' => [ - 'description' => 'The reserved parameter. This parameter does not take effect.'."\n", - 'type' => 'string', - 'example' => '{}', - ], - 'Ips' => [ - 'description' => 'The addresses where services can be subscribed to.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The address where the service can be subscribed to.'."\n", - 'type' => 'string', - 'example' => '10.0.0.1', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => 'The time when the instance was last updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '1593747274195', 'title' => ''], + 'Data' => ['description' => 'The key-value pairs of the ConfigMap. The data is in the following format:'."\n" + ."\n" + .'{"k1":"v1", "k2":"v2"}'."\n" + ."\n" + .'For more information about configuration items, see [Manage and use configuration items](~~171326~~).', 'type' => 'object', 'example' => '{"k1":"v1","k2":"v2"}', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Description' => ['description' => 'The description of the ConfigMap instance.', 'type' => 'string', 'example' => 'test-desc', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the instance was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1593746835111', 'title' => ''], + 'RelateApps' => [ + 'description' => 'The associated applications.', + 'type' => 'array', + 'items' => [ + 'description' => 'The application details.', + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'test-app', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'f16b4000-9058-4c22-a49d-49a28f0b****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Name' => [ - 'description' => 'The name of the published service.'."\n", - 'type' => 'string', - 'example' => 'com.alibaba.nodejs.ItemService', - ], + 'title' => '', + 'example' => '', ], + 'ConfigMapId' => ['description' => 'The ID of the ConfigMap instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'Name' => ['description' => 'The name of the ConfigMap instance.', 'type' => 'string', 'example' => 'test-configmap', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of microservices was queried. Valid values:'."\n" - ."\n" - .'* **true**: The list was queried.'."\n" - .'* **false**: The list failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code returned if the request fails.'."\n" + ."\n" + .'- This parameter is empty if the request succeeds.'."\n" + ."\n" + .'- This parameter contains an error code if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: success'."\n" + ."\n" + .'- **3xx**: redirection'."\n" + ."\n" + .'- **4xx**: client error'."\n" + ."\n" + .'- **5xx**: server error', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMap', 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Type\\": \\"RPC\\",\\n \\"Groups\\": [\\n \\"HSF\\"\\n ],\\n \\"Version\\": \\"1.0.0\\",\\n \\"AppId\\": \\"b2a8a925-477a-4ed7-b825-d5e22500****\\",\\n \\"Group2Ip\\": \\"{}\\",\\n \\"Ips\\": [\\n \\"10.0.0.1\\"\\n ],\\n \\"Name\\": \\"com.alibaba.nodejs.ItemService\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListPublishedServicesResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Type>RPC</Type>\\n <Groups>HSF</Groups>\\n <Version>1.0.0</Version>\\n <AppId>b2a8a925-477a-4ed7-b825-d5e22500****</AppId>\\n <Group2Ip>{}</Group2Ip>\\n <Ips>10.0.0.1</Ips>\\n <Name>com.alibaba.nodejs.ItemService</Name>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListPublishedServicesResponse>","errorExample":""}]', - 'title' => 'ListPublishedServices', - 'summary' => 'Queries a list of microservices that are published.', - ], - 'ListAppServices' => [ - 'summary' => 'Queries the list of microservices.', - 'path' => '/pop/v1/sam/service/listAppServices', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"UpdateTime\\": 1593747274195,\\n \\"Data\\": {\\n \\"k1\\": \\"v1\\",\\n \\"k2\\": \\"v2\\"\\n },\\n \\"NamespaceId\\": \\"cn-hangzhou\\",\\n \\"Description\\": \\"test-desc\\",\\n \\"CreateTime\\": 1593746835111,\\n \\"RelateApps\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"f16b4000-9058-4c22-a49d-49a28f0b****\\"\\n }\\n ],\\n \\"ConfigMapId\\": 1,\\n \\"Name\\": \\"test-configmap\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeConfigMap', + 'summary' => 'Queries the details of a ConfigMap instance.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeConfigMap'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeConfigMap', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeConfigurationPrice' => [ + 'path' => '/pop/v1/paas/configurationPrice', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '219797', - 'abilityTreeNodes' => [ - 'FEATUREsaeUDWJ2L', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '6329', + 'abilityTreeNodes' => ['FEATUREsaeD9Y7UY', 'FEATUREsaeQL07ZC'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application. You must specify only one of the following parameters: vpcId, namespace ID, and application ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], + 'schema' => ['description' => 'The number of CPU cores required for each instance. Unit: millicores. This value cannot be 0. Only the following defined specifications are supported:'."\n" + ."\n" + .'- **500**'."\n" + ."\n" + .'- **1000**'."\n" + ."\n" + .'- **2000**'."\n" + ."\n" + .'- **4000**'."\n" + ."\n" + .'- **8000**'."\n" + ."\n" + .'- **12000**'."\n" + ."\n" + .'- **16000**'."\n" + ."\n" + .'- **32000**', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '2000', 'title' => ''], ], [ - 'name' => 'ServiceType', + 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The service type. Valid values:'."\n" - ."\n" - .'* **dubbo**'."\n" - .'* **springCloud**'."\n" - .'* **hsf**'."\n" - .'* **k8sService**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'springCloud', - ], + 'schema' => ['description' => 'The amount of memory required for each instance. Unit: MB. This value cannot be 0. The memory size must correspond to the CPU specification. Only the following defined specifications are supported:'."\n" + ."\n" + .'- **1024**: Corresponds to 500 millicores and 1,000 millicores of CPU.'."\n" + ."\n" + .'- **2048**: Corresponds to 500, 1,000, and 2,000 millicores of CPU.'."\n" + ."\n" + .'- **4096**: Corresponds to 1,000, 2,000, and 4,000 millicores of CPU.'."\n" + ."\n" + .'- **8192**: Corresponds to 2,000, 4,000, and 8,000 millicores of CPU.'."\n" + ."\n" + .'- **12288**: Corresponds to 12,000 millicores of CPU.'."\n" + ."\n" + .'- **16384**: Corresponds to 4,000, 8,000, and 16,000 millicores of CPU.'."\n" + ."\n" + .'- **24576**: Corresponds to 12,000 millicores of CPU.'."\n" + ."\n" + .'- **32768**: Corresponds to 16,000 millicores of CPU.'."\n" + ."\n" + .'- **65536**: Corresponds to 8,000, 16,000, and 32,000 millicores of CPU.'."\n" + ."\n" + .'- **131072**: Corresponds to 32,000 millicores of CPU.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '4096', 'title' => ''], ], [ - 'name' => 'RegistryType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The registry type. Valid values:'."\n" - ."\n" - .'* **0**: SAE Nacos'."\n" - .'* **1**: SAE built-in Nacos'."\n" - .'* **2** :MSE Nacos'."\n" - .'* **9**: SAE Kubernetes service'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '0', - ], - ], - [ - 'name' => 'NacosInstanceId', + 'name' => 'Workload', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the MSE Nacos instance. This parameter is required when the registry type is set to MSE Nacos.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mse-cn-sco3r0u****', - ], + 'schema' => ['description' => 'The application scenario. Valid values:'."\n" + ."\n" + .'- web'."\n" + ."\n" + .'- micro\\_service', 'type' => 'string', 'required' => false, 'example' => 'Web', 'title' => ''], ], [ - 'name' => 'NacosNamespaceId', + 'name' => 'ResourceType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the MSE Nacos namespace. This parameter is required when the registry type is set to MSE Nacos.'."\n", + 'description' => 'The resource type. Valid values: NULL (default), default, and haiguang (Haiguang server).', + 'enumValueTitles' => ['default' => 'default', 'haiguang' => 'haiguang'], 'type' => 'string', 'required' => false, - 'example' => 'mse-test', - ], - ], - [ - 'name' => 'PageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', + 'example' => 'default', + 'title' => '', ], ], [ - 'name' => 'VpcId', + 'name' => 'NewSaeVersion', 'in' => 'query', 'schema' => [ - 'description' => 'The unique identifier of the VPC. You must specify only one of the following parameters: VPC ID, namespace ID, and application ID.'."\n", + 'description' => 'The application version. Valid values:'."\n" + ."\n" + .'- lite: Lightweight Edition'."\n" + ."\n" + .'- std: Standard Edition'."\n" + ."\n" + .'- pro: Professional Edition', + 'enumValueTitles' => ['std' => 'std', 'lite' => 'lite', 'pro' => 'pro'], 'type' => 'string', 'required' => false, - 'example' => 'vpc-2ze0i263cnn311nvj****', + 'example' => 'std', + 'title' => '', ], ], [ - 'name' => 'NamespaceId', + 'name' => 'BestEffortType', 'in' => 'query', 'schema' => [ - 'description' => 'The ID of the namespace. You must specify only one of the following parameters: VPC ID, namespace ID, and application ID.'."\n", + 'description' => 'The BestEffort policy. Valid values:'."\n" + ."\n" + .'- besteffort: BestEffort'."\n" + ."\n" + .'- try-besteffort: BestEffort preferred'."\n" + ."\n" + .'- default: default', + 'enumValueTitles' => ['default' => 'default', 'try-besteffort' => 'try-besteffort', 'besteffort' => 'besteffort'], 'type' => 'string', 'required' => false, - 'example' => 'cn-beijing:test', + 'example' => 'default', + 'title' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The returned information.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned. Valid values:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* If the request failed, an error message is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'ADCEC067-86AD-19E2-BD43-E83F3841****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID.', 'type' => 'string', 'example' => '1a0dcc771722848598056771******', 'title' => ''], 'Data' => [ - 'description' => 'The details of the microservice.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the microservice.'."\n", - 'type' => 'object', - 'properties' => [ - 'ServiceName' => [ - 'description' => 'The name of the microservice.'."\n", - 'type' => 'string', - 'example' => 'frontend', - ], - 'ServiceGroup' => [ - 'description' => 'The group to which the microservice belongs.'."\n", - 'type' => 'string', - 'example' => 'DEFAULT_GROUP', - ], - 'ServiceVersion' => [ - 'description' => 'The version of the microservice.'."\n", - 'type' => 'string', - 'example' => '1.0.0', - ], - 'InstanceCount' => [ - 'description' => 'The number of instances of the microservice.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'ServiceType' => [ - 'description' => 'The type of the microservice. Valid values:'."\n" - ."\n" - .'* **dubbo**'."\n" - .'* **springCloud**'."\n" - .'* **hsf**'."\n" - .'* **k8sService**'."\n", - 'type' => 'string', - 'example' => 'springCloud', - ], - 'ServiceProtocol' => [ - 'description' => 'The protocol used by the microservice.'."\n", - 'type' => 'string', - 'example' => 'HTTP', + 'description' => 'The pricing information.', + 'type' => 'object', + 'properties' => [ + 'BagUsage' => [ + 'description' => 'The remaining quota of the resource plan.', + 'type' => 'object', + 'properties' => [ + 'Cpu' => ['description' => 'The remaining CPU quota. Unit: core-hours.', 'type' => 'number', 'format' => 'float', 'example' => '497570.450009', 'title' => ''], + 'Mem' => ['description' => 'The remaining memory quota. Unit: GiB-hours.', 'type' => 'number', 'format' => 'float', 'example' => '989802.563546', 'title' => ''], + 'Cu' => ['description' => 'The remaining computing units (CUs) of the resource plan.', 'type' => 'number', 'format' => 'float', 'example' => '10000', 'title' => ''], ], - 'ServicePorts' => [ - 'description' => 'The list of ports.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The port number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8000', + 'title' => '', + 'example' => '', + ], + 'Order' => [ + 'description' => 'The pricing information.', + 'type' => 'object', + 'properties' => [ + 'OriginalAmount' => ['description' => 'The original price of the order.', 'type' => 'number', 'format' => 'float', 'example' => '0.0092592', 'title' => ''], + 'DiscountAmount' => ['description' => 'The discount amount of the order.', 'type' => 'number', 'format' => 'float', 'example' => '0.0018518', 'title' => ''], + 'RuleIds' => [ + 'description' => 'The promotion ID.', + 'type' => 'array', + 'items' => ['description' => 'The promotion ID.', 'type' => 'string', 'example' => '2000010******', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'TradeAmount' => ['description' => 'The final price of the order.', 'type' => 'number', 'format' => 'float', 'example' => ' 0.0074074', 'title' => ''], ], - 'ServicePortAndProtocol' => [ - 'description' => 'The ports and protocols.'."\n", + 'title' => '', + 'example' => '', + ], + 'Rules' => [ + 'description' => 'The promotion rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'The promotion rule.', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '8000:TCP', - 'description' => 'The ports and protocols.'."\n", + 'properties' => [ + 'RuleDescId' => ['description' => 'The rule ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '2000010******', 'title' => ''], + 'Name' => ['description' => 'The name of the rule.', 'type' => 'string', 'example' => '20% discount on pay-as-you-go', 'title' => ''], ], - ], - 'RegistryType' => [ - 'description' => 'The registry type. Valid values:'."\n" - ."\n" - .'* **0**:SAE Nacos'."\n" - .'* **1**: SAE built-in Nacos'."\n" - .'* **2**: MSE Nacos'."\n" - .'* **9**: SAE Kubernets service'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace to which the application belongs.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'NamespaceName' => [ - 'description' => 'The name of the namespace.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', + 'title' => '', + 'example' => '', + ], + 'RequestPrice' => [ + 'description' => 'The price per request.', + 'type' => 'object', + 'properties' => [ + 'Order' => [ + 'description' => 'The pricing information.', + 'type' => 'object', + 'properties' => [ + 'OriginalAmount' => ['description' => 'The original price of the order.', 'type' => 'number', 'format' => 'float', 'example' => '0.0046296', 'title' => ''], + 'DiscountAmount' => ['description' => 'The discount amount of the order.', 'type' => 'number', 'format' => 'float', 'example' => '0.0009259', 'title' => ''], + 'TradeAmount' => ['description' => 'The actual transaction price of the order.', 'type' => 'number', 'format' => 'float', 'example' => '0.0037037', 'title' => ''], + 'RuleIds' => [ + 'description' => 'The rule ID.', + 'type' => 'array', + 'items' => ['description' => 'The discount rule ID.', 'type' => 'string', 'example' => '2000010******', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Rules' => [ + 'description' => 'The promotion rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'The promotion rule.', + 'type' => 'object', + 'properties' => [ + 'RuleDescId' => ['description' => 'The policy ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '2000010******', 'title' => ''], + 'Name' => ['description' => 'The name of the rule.', 'type' => 'string', 'example' => '20% discount on pay-as-you-go', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'demo-app', + 'title' => '', + 'example' => '', + ], + 'TrafficPrice' => [ + 'description' => 'The price of traffic.', + 'type' => 'object', + 'properties' => [ + 'Order' => [ + 'description' => 'The pricing information.', + 'type' => 'object', + 'properties' => [ + 'OriginalAmount' => ['description' => 'The original price of the order.', 'type' => 'number', 'format' => 'float', 'example' => '0.0046296', 'title' => ''], + 'DiscountAmount' => ['description' => 'The discount amount of the order.', 'type' => 'number', 'format' => 'float', 'example' => '0.0009259', 'title' => ''], + 'TradeAmount' => ['description' => 'The actual transaction price of the order.', 'type' => 'number', 'format' => 'float', 'example' => '0.0037037', 'title' => ''], + 'RuleIds' => [ + 'description' => 'The promotion ID.', + 'type' => 'array', + 'items' => ['description' => 'The promotion ID.', 'type' => 'string', 'example' => '2000010******', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Rules' => [ + 'description' => 'The promotion rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'The promotion rule.', + 'type' => 'object', + 'properties' => [ + 'RuleDescId' => ['description' => 'The rule ID.', 'type' => 'number', 'format' => 'float', 'example' => '2000010******', 'title' => ''], + 'Name' => ['description' => 'The name of the rule.', 'type' => 'string', 'example' => '20% discount on pay-as-you-go', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], - 'SecurityGroupId' => [ - 'description' => 'The IDs of the security groups.'."\n", - 'type' => 'string', - 'example' => 'sg-wz969ngg2e49q5i4****', + 'title' => '', + 'example' => '', + ], + 'CpuMemPrice' => [ + 'description' => 'The price of CPU and memory.', + 'type' => 'object', + 'properties' => [ + 'Order' => [ + 'description' => 'The pricing information.', + 'type' => 'object', + 'properties' => [ + 'OriginalAmount' => ['description' => 'The original price.', 'type' => 'number', 'format' => 'float', 'example' => ' 0.0046296', 'title' => ''], + 'DiscountAmount' => ['description' => 'The discount amount of the order.', 'type' => 'number', 'format' => 'float', 'example' => '0.0009259', 'title' => ''], + 'TradeAmount' => ['description' => 'The actual transaction price of the order.', 'type' => 'number', 'format' => 'float', 'example' => '0.0037037', 'title' => ''], + 'RuleIds' => [ + 'description' => 'The rule ID.', + 'type' => 'array', + 'items' => ['description' => 'The rule ID.', 'type' => 'string', 'example' => '2000010******', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'Rules' => [ + 'description' => 'The promotion rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'The promotion rule.', + 'type' => 'object', + 'properties' => [ + 'RuleDescId' => ['description' => 'The rule ID.', 'type' => 'number', 'format' => 'float', 'example' => '2000010******'."\n", 'title' => ''], + 'Name' => ['description' => 'The name of the rule.', 'type' => 'string', 'example' => '20% discount on pay-as-you-go', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], ], + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* If the request was successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code that is returned. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**: The request was successful.'."\n" - .'* **false**: The request failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the price of the configuration was obtained.'."\n" + ."\n" + .'- **true**: The price was obtained.'."\n" + ."\n" + .'- **false**: The price failed to be obtained.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Micro.Service.NotFound', - 'errorMessage' => 'The micro service not found {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ADCEC067-86AD-19E2-BD43-E83F3841****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"1a0dcc771722848598056771******\\",\\n \\"Data\\": {\\n \\"BagUsage\\": {\\n \\"Cpu\\": 497570.450009,\\n \\"Mem\\": 989802.563546,\\n \\"Cu\\": 10000\\n },\\n \\"Order\\": {\\n \\"OriginalAmount\\": 0.0092592,\\n \\"DiscountAmount\\": 0.0018518,\\n \\"RuleIds\\": [\\n \\"2000010******\\"\\n ],\\n \\"TradeAmount\\": 0.0074074\\n },\\n \\"Rules\\": [\\n {\\n \\"RuleDescId\\": 0,\\n \\"Name\\": \\"20% discount on pay-as-you-go\\"\\n }\\n ],\\n \\"RequestPrice\\": {\\n \\"Order\\": {\\n \\"OriginalAmount\\": 0.0046296,\\n \\"DiscountAmount\\": 0.0009259,\\n \\"TradeAmount\\": 0.0037037,\\n \\"RuleIds\\": [\\n \\"2000010******\\"\\n ]\\n },\\n \\"Rules\\": [\\n {\\n \\"RuleDescId\\": 0,\\n \\"Name\\": \\"20% discount on pay-as-you-go\\"\\n }\\n ]\\n },\\n \\"TrafficPrice\\": {\\n \\"Order\\": {\\n \\"OriginalAmount\\": 0.0046296,\\n \\"DiscountAmount\\": 0.0009259,\\n \\"TradeAmount\\": 0.0037037,\\n \\"RuleIds\\": [\\n \\"2000010******\\"\\n ]\\n },\\n \\"Rules\\": [\\n {\\n \\"RuleDescId\\": 0,\\n \\"Name\\": \\"20% discount on pay-as-you-go\\"\\n }\\n ]\\n },\\n \\"CpuMemPrice\\": {\\n \\"Order\\": {\\n \\"OriginalAmount\\": 0.0046296,\\n \\"DiscountAmount\\": 0.0009259,\\n \\"TradeAmount\\": 0.0037037,\\n \\"RuleIds\\": [\\n \\"2000010******\\"\\n ]\\n },\\n \\"Rules\\": [\\n {\\n \\"RuleDescId\\": 0,\\n \\"Name\\": \\"20% discount on pay-as-you-go\\"\\n }\\n ]\\n }\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeConfigurationPrice', + 'summary' => 'Queries the price of a configuration.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:29.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-09-08T05:48:07.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-04-22T01:54:31.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-02-27T01:45:06.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-10-17T05:35:54.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-12-06T09:22:40.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-07-08T07:33:16.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeConfigurationPrice'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:DescribeConfigurationPrice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"ServiceName\\": \\"frontend\\",\\n \\"ServiceGroup\\": \\"DEFAULT_GROUP\\",\\n \\"ServiceVersion\\": \\"1.0.0\\",\\n \\"InstanceCount\\": \\"1\\",\\n \\"ServiceType\\": \\"springCloud\\",\\n \\"ServiceProtocol\\": \\"HTTP\\",\\n \\"ServicePorts\\": [\\n 8000\\n ],\\n \\"ServicePortAndProtocol\\": {\\n \\"key\\": \\"8000:TCP\\"\\n },\\n \\"RegistryType\\": \\"0\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"NamespaceName\\": \\"测试命名空间\\",\\n \\"AppId\\": \\"0099b7be-5f5b-4512-a7fc-56049ef1****\\",\\n \\"AppName\\": \\"demo-app\\",\\n \\"SecurityGroupId\\": \\"sg-wz969ngg2e49q5i4****\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'ListAppServices', ], - 'CreateSecret' => [ - 'summary' => 'Creates a Secret in a namespace.', - 'path' => '/pop/v1/sam/secret/secret', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeEdasContainers' => [ + 'path' => '/pop/v1/sam/resource/edasContainers', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '159985', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], - ], - 'parameters' => [ - [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace where the Secret resides. If the namespace is the default namespace, you need to only enter the region ID, such as `cn-beijing`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'SecretName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Secret name. The name can contain digits, letters, and underscores (\\_). The name must start with a letter.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'registry-auth-acree', - ], - ], - [ - 'name' => 'SecretType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The supported Secret type. Valid values:'."\n" - ."\n" - .'* **kubernetes.io/dockerconfigjson**: the Secret for the username and password of the image repository. The Secret is used for authentication when images are pulled during application deployment.'."\n" - ."\n" - .'Valid values:'."\n" - ."\n" - .'* Opaque'."\n" - .'* kubernetes.io/dockerconfigjson'."\n" - .'* kubernetes.io/tls'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'kubernetes.io/dockerconfigjson', - 'enum' => [ - 'Opaque', - 'kubernetes.io/dockerconfigjson', - 'kubernetes.io/tls', - ], - ], - ], - [ - 'name' => 'SecretData', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The Secret data.'."\n", - 'type' => 'object', - 'properties' => [ - 'SecretData' => [ - 'description' => 'The information about the key-value pairs of the Secret. This parameter is required. The following formats are supported:'."\n" - ."\n" - .'{"Data":"{"k1":"v1", "k2":"v2"}"}'."\n" - ."\n" - .'k specifies a key and v specifies a value.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{".dockerconfigjson":"eyJhdXRocyI6eyJyZWdpc3RyeS12cGMuY24tYmVpamluZy5hbGl5dW5jcy5jb20iOnsidXNlcm5hbWUiOiJ1c2VybmFtZSIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJhdXRoIjoiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE9In0sInJlZ2lzdHJ5LmNuLWJlaWppbmcuYWxpeXVuY3MuY29tIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0="}', - ], - ], - 'required' => true, - ], - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6334', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The queried polices.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned for the operation.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The request trace ID.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned result.'."\n", - 'type' => 'object', - 'properties' => [ - 'SecretId' => [ - 'description' => 'The ID of the created Secret.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', + 'description' => 'A list of components.', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'Disabled' => ['description' => 'Indicates whether the component is disabled. Valid values:'."\n" + ."\n" + .'- **true**: The component is disabled.'."\n" + ."\n" + .'- **false**: The component is not disabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'EdasContainerVersion' => ['description' => 'The version of the application container provided by the HSF framework, such as the Ali-Tomcat container.', 'type' => 'string', 'example' => '3.5.3', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => '400', - ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the Secret was created. Valid values:'."\n" - ."\n" - .'* **true**: The ConfigMap was created.'."\n" - .'* **false**: The ConfigMap failed to be created.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. This parameter is returned only if the request fails. For more information, see the **Error codes** section of this topic.'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** field is not returned.'."\n" + ."\n" + .'- If the request fails, the **ErrorCode** field is returned. For more information, see the **Error codes** section.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: success'."\n" + ."\n" + .'- **3xx**: redirection'."\n" + ."\n" + .'- **4xx**: request error'."\n" + ."\n" + .'- **5xx**: server error', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" + ."\n" + .'- **true**: The operation succeeded.'."\n" + ."\n" + .'- **false**: The operation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'SecretNameConflict.AlreadyExist', - 'errorMessage' => 'The specified SecretName [%s] already exist in this namespace.', - ], - [ - 'errorCode' => 'QuotaExceeded.SecretInNamespace', - 'errorMessage' => 'The specified secret exceeded quota [%s].', - ], - [ - 'errorCode' => 'QuotaExceeded.SecretDataKey', - 'errorMessage' => 'The specified key in SecretData exceeded quota [%s].', - ], - [ - 'errorCode' => 'InvalidSecretType.NotAvailable', - 'errorMessage' => 'The specified SecretType [%s] is not supported.', - ], - [ - 'errorCode' => 'InvalidSecretDataKey.NotFound', - 'errorMessage' => 'The specified Key [%s] does not exist in the specified Secret [%s].', - ], - ], - 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', - ], - ], - 500 => [ - [ - 'errorCode' => 'OperationFailed.RPCError', - 'errorMessage' => 'Internal RPC request processing error.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Disabled\\": false,\\n \\"EdasContainerVersion\\": \\"3.5.3\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeEdasContainers', + 'summary' => 'Retrieves the microservice container components for an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:29.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-03-09T05:58:12.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeEdasContainers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"SecretId\\": 16\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateSecretResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <SecretId>16</SecretId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</CreateSecretResponse>","errorExample":""}]', - 'title' => 'CreateSecret', - 'requestParamsDescription' => '**Example 1: Use a username and password to pull an image from Container Registry over an internal network across accounts**'."\n" - ."\n" - .'* Enter both the public and internal domain names.'."\n" - .'* Configure the **username**, **password**, and **auth** fields to prevent authentication failures. The format of **auth** is `base64Encode($username:$password)`.'."\n" - ."\n" - .'The following code describes the default formats of the field values:'."\n" - ."\n" - .' SecretData[".dockerconfigjson"]=base64Encode('."\n" - .' {'."\n" - .' "auths": {'."\n" - .' "registry-vpc.cn-beijing.aliyuncs.com": { // $internal domain name'."\n" - .' "username": "username",'."\n" - .' "password": "password",'."\n" - .' "auth": "dXNlcm5hbWU6cGFzc3dvcmQ="'."\n" - .' },'."\n" - .' "registry.cn-beijing.aliyuncs.com": { // $public domain name "username": "username", // $username'."\n" - .' "password": "password", // $password'."\n" - .' "auth": "dXNlcm5hbWU6cGFzc3dvcmQ=" // base64Encode($username:$password)'."\n" - .' }'."\n" - .' }'."\n" - .' } )'."\n", ], - 'DescribeSecret' => [ - 'summary' => 'Queries the details of a Secret.', - 'path' => '/pop/v1/sam/secret/secret', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeGreyTagRoute' => [ + 'summary' => 'Gets a canary release rule by rule ID.', + 'path' => '/pop/v1/sam/tagroute/greyTagRoute', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15785,200 +11949,265 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '159990', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '10298', + 'abilityTreeNodes' => ['FEATUREsaeETR3ZD'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace where the Secret resides. If the namespace is the default namespace, you need to only enter the region ID, such as `cn-beijing`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'SecretId', + 'name' => 'GreyTagRouteId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Secret instance to be queried. You can call the [ListSecrets](~~466929~~) operation to view the IDs of Secrete instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'maximum' => '1000000000', - 'minimum' => '1', - 'example' => '16', - ], + 'schema' => ['description' => 'The ID of the rule.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'exclusiveMaximum' => false, 'minimum' => '1', 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '9D29CBD0-45D3-410B-9826-52F86F90****'], + 'Message' => ['description' => 'The message that indicates the result of the call.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID for querying the details of a call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The response.'."\n", + 'description' => 'The details of the canary rule.', 'type' => 'object', 'properties' => [ - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'SecretId' => [ - 'description' => 'The ID of the Secret instance.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', - ], - 'SecretName' => [ - 'description' => 'The name of the Secret instance.'."\n", - 'type' => 'string', - 'example' => 'registry-auth', - ], - 'SecretType' => [ - 'description' => 'The type of the Secret instance.'."\n", - 'type' => 'string', - 'example' => 'kubernetes.io/dockerconfigjson', - ], - 'SecretData' => [ - 'description' => 'Secret key-value pair data.'."\n", - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => '{".dockerconfigjson":"eyJhdXRocyI6eyJyZWdpc3RyeS12cGMuY24tYmVpamluZy5hbGl5dW5jcy5jb20iOnsidXNlcm5hbWUiOiJ1c2VybmFtZSIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJhdXRoIjoiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE9In0sInJlZ2lzdHJ5LmNuLWJlaWppbmcuYWxpeXVuY3MuY29tIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0="}', - 'description' => 'Secret key-value pair data.'."\n", + 'GreyTagRouteId' => ['description' => 'The globally unique ID of the canary rule.', 'type' => 'integer', 'format' => 'int64', 'example' => '16', 'title' => ''], + 'Name' => ['description' => 'The name of the canary rule.', 'type' => 'string', 'example' => 'rule-name', 'title' => ''], + 'Description' => ['description' => 'The description of the canary rule.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ScRules' => [ + 'description' => 'The canary rules for the Spring Cloud application.', + 'type' => 'array', + 'items' => [ + 'description' => 'An object that defines a canary rule.', + 'type' => 'object', + 'properties' => [ + 'path' => ['description' => 'The path to which the rule applies.', 'type' => 'string', 'example' => '/path', 'title' => ''], + 'condition' => ['description' => 'The relationship between the conditions in the rule. Valid values:'."\n" + ."\n" + .'- **AND**: All conditions must be met.'."\n" + ."\n" + .'- **OR**: At least one condition must be met.', 'type' => 'string', 'example' => 'OR', 'title' => ''], + 'items' => [ + 'description' => 'The list of conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'An object that defines a single condition.', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => 'The type of request element to match against. Valid values:'."\n" + ."\n" + .'- **param**: A request parameter.'."\n" + ."\n" + .'- **cookie**: A cookie.'."\n" + ."\n" + .'- **header**: A request header.', 'type' => 'string', 'example' => 'cookie', 'title' => ''], + 'name' => ['description' => 'The name of the element to match, as specified by the type parameter. For example, a header name or cookie name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'operator' => ['description' => 'The matching operator. Valid values:'."\n" + ."\n" + .'- **rawvalue**: Performs a direct comparison.'."\n" + ."\n" + .'- **list**: Matches against an allowlist of values.'."\n" + ."\n" + .'- **mod**: Calculates the remainder of a division by 100.'."\n" + ."\n" + .'- **deterministic\\_proportional\\_steaming\\_division**: Performs a percentage-based match.', 'type' => 'string', 'example' => 'rawvalue', 'title' => ''], + 'value' => ['description' => 'The value to match. This value is compared with the actual value of the element specified by **type** and **name**.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'cond' => ['description' => 'The comparison operator. Valid values are **>**, **<**, **>=**, **<=**, **==**, and **!=**.', 'type' => 'string', 'example' => '==', 'title' => ''], + 'index' => ['title' => 'abandon', 'description' => 'Not used in Spring Cloud applications.', 'type' => 'integer', 'format' => 'int32', 'example' => 'N/A'], + 'expr' => ['title' => 'abandon', 'description' => 'Not used in Spring Cloud applications.', 'type' => 'string', 'example' => 'N/A'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'CreateTime' => [ - 'description' => 'The time when the task was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1593746835111', - ], - 'UpdateTime' => [ - 'description' => 'The time when the task was updated.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1593746835111', - ], - 'RelateApps' => [ - 'description' => 'The associated application.'."\n", + 'AlbRules' => [ 'type' => 'array', 'items' => [ - 'description' => 'The information about the application.'."\n", 'type' => 'object', 'properties' => [ - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => 'f16b4000-9058-4c22-a49d-49a28f0b****', + 'serviceId' => ['description' => 'The routing service ID.', 'type' => 'string', 'example' => '22', 'title' => ''], + 'ingressId' => ['description' => 'The ID of the Ingress.', 'type' => 'string', 'example' => '23', 'title' => ''], + 'condition' => ['description' => 'The relationship between the conditions in the canary rule. Only **AND** is supported, which indicates that all conditions must be met.', 'type' => 'string', 'example' => 'AND', 'title' => ''], + 'items' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => 'The type of request element to match against. Valid values:'."\n" + ."\n" + .'- **sourceIp**: The source IP address.'."\n" + ."\n" + .'- **cookie**: A cookie.'."\n" + ."\n" + .'- **header**: A request header.', 'type' => 'string', 'example' => 'cookie', 'title' => ''], + 'name' => ['description' => 'The name of the element to match, such as a header or cookie name. This parameter is not used if type is set to sourceIp.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'operator' => ['description' => 'The matching operator. Only **rawvalue** is supported, which indicates a direct comparison.', 'type' => 'string', 'example' => 'rawvalue', 'title' => ''], + 'value' => ['description' => 'The value to match. This value is compared with the actual value of the element specified by **type** and **name**.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'cond' => ['description' => 'Currently supports ==.', 'type' => 'string', 'example' => '==', 'title' => ''], + 'index' => ['title' => 'abandon', 'description' => 'Not required for ALB applications.', 'type' => 'integer', 'format' => 'int32', 'example' => 'N/A'], + 'expr' => ['title' => 'abandon', 'description' => 'Not required for ALB applications.', 'type' => 'string', 'example' => 'N/A'], + ], + 'description' => 'An object that defines a single condition.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The list of conditions.', + 'title' => '', + 'example' => '', ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test-app', + ], + 'description' => 'An object that defines a canary rule for an ALB instance.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The canary rules for the Application Load Balancer (ALB) instance.', + 'title' => '', + 'example' => '', + ], + 'DubboRules' => [ + 'description' => 'The canary rules for the Dubbo service.', + 'type' => 'array', + 'items' => [ + 'description' => 'An object that defines a canary rule.', + 'type' => 'object', + 'properties' => [ + 'serviceName' => ['description' => 'The Dubbo service name.', 'type' => 'string', 'example' => 'com.alibaba.edas.boot.EchoService', 'title' => ''], + 'group' => ['description' => 'The service group to which the canary rule applies.', 'type' => 'string', 'example' => 'DUBBO', 'title' => ''], + 'version' => ['description' => 'The Dubbo service version.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'methodName' => ['description' => 'The method name of the Dubbo service.', 'type' => 'string', 'example' => 'echo', 'title' => ''], + 'condition' => ['description' => 'The relationship between the conditions in the rule. Valid values:'."\n" + ."\n" + .'- **AND**: All conditions must be met.'."\n" + ."\n" + .'- **OR**: At least one condition must be met.', 'type' => 'string', 'example' => 'OR', 'title' => ''], + 'items' => [ + 'description' => 'The list of conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'An object that defines a single condition.', + 'type' => 'object', + 'properties' => [ + 'index' => ['description' => 'The parameter index. `0` indicates the first parameter.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'expr' => ['description' => 'The expression that is used to obtain the parameter value. Valid values:'."\n" + ."\n" + .'- **Leave empty**: If left empty, the value of the parameter itself is used.'."\n" + ."\n" + .'- **.name**: Obtains the value of the `name` attribute of the parameter. This is equivalent to `args0.getName()`.'."\n" + ."\n" + .'- **.isEnabled()**: Obtains the value of the `enabled` attribute of the parameter. This is equivalent to `args0.isEnabled()`.'."\n" + ."\n" + .'- **\\[0]**: The parameter must be an array. This expression obtains the first value of the array, which is equivalent to `args0[0]`. Note that the expression does not start with a period (.).'."\n" + ."\n" + .'- **.get(0)**: The parameter must be a list. This expression obtains the first value of the list, which is equivalent to `args0.get(0)`.'."\n" + ."\n" + .'- **.get("key")**: The parameter must be a map. This expression obtains the value that corresponds to a key. This is equivalent to `args0.get("key")`.', 'type' => 'string', 'example' => '.name', 'title' => ''], + 'operator' => ['description' => 'The matching operator. Valid values:'."\n" + ."\n" + .'- **rawvalue**: Performs a direct comparison.'."\n" + ."\n" + .'- **list**: Matches against an allowlist of values.'."\n" + ."\n" + .'- **mod**: Calculates the remainder of a division by 100.'."\n" + ."\n" + .'- **deterministic\\_proportional\\_steaming\\_division**: Performs a percentage-based match.', 'type' => 'string', 'example' => 'rawvalue', 'title' => ''], + 'value' => ['description' => 'The value to match. This value is compared with the actual value retrieved by using the specified **expr** and **index**.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'cond' => ['description' => 'The comparison operator. Valid values are **>**, **<**, **>=**, **<=**, **==**, and **!=**.', 'type' => 'string', 'example' => '==', 'title' => ''], + 'type' => ['title' => 'abandon', 'description' => 'Not used in Dubbo services.', 'type' => 'string', 'example' => 'N/A'], + 'name' => ['title' => 'abandon', 'description' => 'Not used in Dubbo services.', 'type' => 'string', 'example' => 'N/A'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'CreateTime' => ['description' => 'The creation timestamp of the rule, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1619007592013', 'title' => ''], + 'UpdateTime' => ['description' => 'The timestamp of the rule\'s last update, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1609434061000', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '3faaf993-7aed-4bcd-b189-625e6a5a****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Valid values:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the details of the Secret instance are successfully queried. Valid values:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: The image failed to be found.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- If the request fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The status code of the API call or a POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A client-side error occurred.'."\n" + ."\n" + .'- **5xx**: A server-side error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'InvalidSecretId.NotFound', - 'errorMessage' => 'The specified SecretId [%s] does not exist in our records.', - ], - ], - 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9D29CBD0-45D3-410B-9826-52F86F90****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"GreyTagRouteId\\": 16,\\n \\"Name\\": \\"rule-name\\",\\n \\"Description\\": \\"test\\",\\n \\"ScRules\\": [\\n {\\n \\"path\\": \\"/path\\",\\n \\"condition\\": \\"OR\\",\\n \\"items\\": [\\n {\\n \\"type\\": \\"cookie\\",\\n \\"name\\": \\"test\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"index\\": 0,\\n \\"expr\\": \\"N/A\\"\\n }\\n ]\\n }\\n ],\\n \\"AlbRules\\": [\\n {\\n \\"serviceId\\": \\"22\\",\\n \\"ingressId\\": \\"23\\",\\n \\"condition\\": \\"AND\\",\\n \\"items\\": [\\n {\\n \\"type\\": \\"cookie\\",\\n \\"name\\": \\"example\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"index\\": 0,\\n \\"expr\\": \\"N/A\\"\\n }\\n ]\\n }\\n ],\\n \\"DubboRules\\": [\\n {\\n \\"serviceName\\": \\"com.alibaba.edas.boot.EchoService\\",\\n \\"group\\": \\"DUBBO\\",\\n \\"version\\": \\"1.0.0\\",\\n \\"methodName\\": \\"echo\\",\\n \\"condition\\": \\"OR\\",\\n \\"items\\": [\\n {\\n \\"index\\": 0,\\n \\"expr\\": \\".name\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"type\\": \\"N/A\\",\\n \\"name\\": \\"N/A\\"\\n }\\n ]\\n }\\n ],\\n \\"CreateTime\\": 1619007592013,\\n \\"UpdateTime\\": 1609434061000,\\n \\"AppId\\": \\"3faaf993-7aed-4bcd-b189-625e6a5a****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeGreyTagRoute', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-29T03:14:28.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-03-03T12:42:22.000Z', 'description' => 'Response parameters changed'], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"SecretId\\": 16,\\n \\"SecretName\\": \\"registry-auth\\",\\n \\"SecretType\\": \\"kubernetes.io/dockerconfigjson\\",\\n \\"SecretData\\": {\\n \\"key\\": \\"{\\\\\\".dockerconfigjson\\\\\\":\\\\\\"eyJhdXRocyI6eyJyZWdpc3RyeS12cGMuY24tYmVpamluZy5hbGl5dW5jcy5jb20iOnsidXNlcm5hbWUiOiJ1c2VybmFtZSIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJhdXRoIjoiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE9In0sInJlZ2lzdHJ5LmNuLWJlaWppbmcuYWxpeXVuY3MuY29tIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0=\\\\\\"}\\"\\n },\\n \\"CreateTime\\": 1593746835111,\\n \\"UpdateTime\\": 1593746835111,\\n \\"RelateApps\\": [\\n {\\n \\"AppId\\": \\"f16b4000-9058-4c22-a49d-49a28f0b****\\",\\n \\"AppName\\": \\"test-app\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeSecretResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <NamespaceId>cn-beijing:test</NamespaceId>\\n <SecretId>16</SecretId>\\n <SecretName>registry-auth</SecretName>\\n <SecretType>kubernetes.io/dockerconfigjson</SecretType>\\n <SecretData>\\n <key>{\\".dockerconfigjson\\":\\"eyJhdXRocyI6eyJyZWdpc3RyeS12cGMuY24tYmVpamluZy5hbGl5dW5jcy5jb20iOnsidXNlcm5hbWUiOiJ1c2VybmFtZSIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJhdXRoIjoiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE9In0sInJlZ2lzdHJ5LmNuLWJlaWppbmcuYWxpeXVuY3MuY29tIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0=\\"}</key>\\n </SecretData>\\n <CreateTime>1593746835111</CreateTime>\\n <UpdateTime>1593746835111</UpdateTime>\\n <RelateApps>\\n <AppId>f16b4000-9058-4c22-a49d-49a28f0b****</AppId>\\n <AppName>test-app</AppName>\\n </RelateApps>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeSecretResponse>","errorExample":""}]', - 'title' => 'DescribeSecret', - ], - 'ListSecrets' => [ - 'summary' => 'Queries the information about Secrets in a namespace.', - 'path' => '/pop/v1/sam/secret/secrets', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeGreyTagRoute'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeGreyTagRoute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeIngress' => [ + 'path' => '/pop/v1/sam/ingress/Ingress', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -15987,1550 +12216,2247 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '159992', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6335', + 'abilityTreeNodes' => ['FEATUREsaeRW2OE6'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'IngressId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace in which the Secrets reside. By default, the namespace ID is the same as the region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The ID of the routing rule. Call the [ListIngresses](~~2834910~~) operation to obtain this ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '16263', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, **success** is returned.'."\n" - .'* If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, a specific error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query the details of a call.', 'type' => 'string', 'example' => '0a981dd515966966104121683d****', 'title' => ''], 'Data' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Secrets' => [ - 'description' => 'The Secrets.'."\n", + 'SlbId' => ['description' => 'The ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'example' => 'lb-uf62****6d13tq2u5', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-beijing:sae-test', 'title' => ''], + 'Description' => ['description' => 'The description of the Ingress.', 'type' => 'string', 'example' => 'ingress-sae-test', 'title' => ''], + 'ListenerPort' => ['description' => 'The listener port of the SLB instance.', 'type' => 'integer', 'format' => 'int32', 'example' => '443', 'title' => ''], + 'SlbType' => ['description' => 'The type of the SLB instance. Valid values:'."\n" + ."\n" + .'- **internet**: An internet-facing instance.'."\n" + ."\n" + .'- **intranet**: An internal-facing instance.', 'type' => 'string', 'example' => 'internet', 'title' => ''], + 'CertId' => ['description' => 'The ID of the **Classic Load Balancer (CLB)** certificate.', 'type' => 'string', 'example' => '13623****809_16cad216b32_845_-419427029', 'title' => ''], + 'Name' => ['description' => 'The name of the Ingress.', 'type' => 'string', 'example' => 'lb-uf6jt0nu4z6ior943****-80-f5****', 'title' => ''], + 'DefaultRule' => [ + 'description' => 'The default rule.', + 'type' => 'object', + 'properties' => [ + 'ContainerPort' => ['description' => 'The backend port for the default rule.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'AppName' => ['description' => 'The name of the application for the default rule.', 'type' => 'string', 'example' => 'app1', 'title' => ''], + 'AppId' => ['description' => 'The ID of the application for the default rule.', 'type' => 'string', 'example' => '395b60e4-0550-458d-9c54-a265d036****', 'title' => ''], + 'BackendProtocol' => ['description' => 'The backend protocol. Valid values:'."\n" + ."\n" + .'- **http**: Suitable for applications that need to identify data content.'."\n" + ."\n" + .'- **https**: Suitable for applications that require encrypted transmission.'."\n" + ."\n" + .'- **grpc**: Suitable for load balancing gRPC services developed in multiple languages, such as .NET.'."\n" + ."\n" + .'This parameter is valid only when the `LoadBalanceType` parameter is set to `alb` and the `ListenerProtocol` parameter is set to `HTTPS`.', 'type' => 'string', 'example' => 'http', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Rules' => [ + 'description' => 'The forwarding rules.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the Secret object.'."\n", + 'description' => 'A forwarding rule.', 'type' => 'object', 'properties' => [ - 'NamespaceId' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'SecretId' => [ - 'description' => 'The Secret ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', - ], - 'SecretName' => [ - 'description' => 'The Secret name.'."\n", - 'type' => 'string', - 'example' => 'registry-auth', - ], - 'SecretType' => [ - 'description' => 'The Secret type.'."\n" - ."\n" - .'Set the value to **kubernetes.io/dockerconfigjson**. The value indicates the secret for the username and password of the image repository and is used for authentication when images are pulled during application deployment.'."\n", - 'type' => 'string', - 'example' => 'kubernetes.io/dockerconfigjson', - ], - 'RelateApps' => [ - 'description' => 'The associated applications.'."\n", + 'AppName' => ['description' => 'The name of the destination application.', 'type' => 'string', 'example' => 'app1', 'title' => ''], + 'ContainerPort' => ['description' => 'The backend port of the application.', 'type' => 'integer', 'format' => 'int32', 'example' => '8080', 'title' => ''], + 'Domain' => ['description' => 'The domain name of the application.', 'type' => 'string', 'example' => 'edas.site', 'title' => ''], + 'AppId' => ['description' => 'The ID of the destination application.', 'type' => 'string', 'example' => '395b60e4-0550-458d-9c54-a265d036****', 'title' => ''], + 'Path' => ['description' => 'The URL path.', 'type' => 'string', 'example' => '/path1', 'title' => ''], + 'BackendProtocol' => ['description' => 'The backend protocol. Valid values:'."\n" + ."\n" + .'- **http**: Suitable for applications that need to identify data content.'."\n" + ."\n" + .'- **https**: Suitable for applications that require encrypted transmission.'."\n" + ."\n" + .'- **grpc**: Suitable for load balancing gRPC services developed in multiple languages, such as .NET.'."\n" + ."\n" + .'This parameter is valid only when the `LoadBalanceType` parameter is set to `alb` and the `ListenerProtocol` parameter is set to `HTTPS`.', 'type' => 'string', 'example' => 'http', 'title' => ''], + 'RewritePath' => ['description' => 'The rewritten path.', 'type' => 'string', 'example' => '/${1}', 'title' => ''], + 'RuleActions' => [ 'type' => 'array', 'items' => [ - 'description' => 'The information about the application.'."\n", 'type' => 'object', 'properties' => [ - 'AppName' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'example' => 'test-app', - ], - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => 'f16b4000-9058-4c22-a49d-49a28f0b****', - ], + 'ActionType' => ['description' => 'The type of the action. Valid values:'."\n" + ."\n" + .'- rewrite: a rewrite policy'."\n" + ."\n" + .'- redirect: a redirection policy', 'type' => 'string', 'example' => 'rewrite', 'title' => ''], + 'ActionConfig' => ['description' => 'The configuration of the action.', 'type' => 'string', 'example' => '{\\"host\\":\\"www.example.com\\",\\"path\\":\\"/example/text\\",\\"query\\":\\"x=1\\"}', 'title' => ''], ], + 'description' => 'An action of the rule.', + 'title' => '', + 'example' => '', ], - ], - 'CreateTime' => [ - 'description' => 'The time when the Secret was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1593760185111', - ], - 'UpdateTime' => [ - 'description' => 'The time when the Secret was updated.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1593760185111', + 'description' => 'The actions of the forwarding rule.', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'Id' => ['description' => 'The ID of the Ingress.', 'type' => 'integer', 'format' => 'int64', 'example' => '87', 'title' => ''], + 'LoadBalanceType' => ['description' => 'The type of the Server Load Balancer (SLB) instance. Valid values:'."\n" + ."\n" + .'- **clb**: Classic Load Balancer (CLB), formerly known as SLB.'."\n" + ."\n" + .'- **alb**: Application Load Balancer (ALB).', 'type' => 'string', 'example' => 'clb', 'title' => ''], + 'ListenerProtocol' => ['description' => 'The request forwarding protocol. Valid values:'."\n" + ."\n" + .'- **HTTP**: Suitable for applications that need to identify data content.'."\n" + ."\n" + .'- **HTTPS**: Suitable for applications that require encrypted transmission.'."\n" + ."\n" + .'This parameter is optional for the `CreateIngress` and `UpdateIngress` operations. It is not returned if it was not specified when the Ingress was created or updated.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'CertIds' => ['description' => 'The comma-separated IDs of the **Application Load Balancer (ALB)** certificates.', 'type' => 'string', 'example' => '87***35-cn-hangzhou,812***3-cn-hangzhou', 'title' => ''], + 'SecurityPolicyId' => ['description' => 'The ID of the security policy instance.', 'type' => 'string', 'example' => 'sp-n0kn923****', 'title' => ''], + 'RequestTimeout' => ['description' => 'The request timeout, in seconds.'."\n" + ."\n" + .'Valid values: 1 to 180.'."\n" + ."\n" + .'Default value: 60.'."\n" + ."\n" + .'If a backend server does not respond within the specified timeout period, the load balancer terminates the request and returns an HTTP 504 error to the client.', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => ''], + 'IdleTimeout' => ['description' => 'The connection idle timeout, in seconds.'."\n" + ."\n" + .'Valid values: 1 to 60.'."\n" + ."\n" + .'Default value: 15.'."\n" + ."\n" + .'If no request is received within the timeout period, the load balancer closes the connection. A new connection is established when the next request is received.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'EnableXForwardedFor' => ['description' => 'Specifies whether to use the `X-Forwarded-For` header to retrieve client IP addresses.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'EnableXForwardedForClientSrcPort' => ['description' => 'Specifies whether to use a header to retrieve the source port of the client.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'EnableXForwardedForProto' => ['description' => 'Specifies whether to use the `X-Forwarded-Proto` header to retrieve the listener protocol of the SLB instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'EnableXForwardedForSlbId' => ['description' => 'Specifies whether to use the `SLB-ID` header to retrieve the ID of the SLB instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'EnableXForwardedForSlbPort' => ['description' => 'Specifies whether to use the `X-Forwarded-Port` header to retrieve the listener port of the SLB instance.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CreatedBySae' => ['description' => 'Indicates whether the Application Load Balancer (ALB) instance was provisioned by SAE.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CorsConfig' => [ + 'type' => 'object', + 'properties' => [ + 'Enable' => ['description' => 'Specifies whether to enable CORS.', 'type' => 'string', 'example' => 'false', 'title' => ''], + 'ExposeHeaders' => ['description' => 'The headers that are exposed to clients.', 'type' => 'string', 'example' => 'test_123', 'title' => ''], + 'AllowHeaders' => ['description' => 'The headers that are allowed in cross-origin requests.', 'type' => 'string', 'example' => 'test_123', 'title' => ''], + 'AllowMethods' => ['description' => 'The HTTP methods that are allowed for cross-origin requests.', 'type' => 'string', 'example' => 'GET', 'title' => ''], + 'AllowOrigin' => ['description' => 'The origins that are allowed to access the resource. You can specify a single asterisk (`*`) or one or more specific origins.'."\n" + ."\n" + .'- A specific origin must start with `http://` or `https://` and be a valid domain name or a first-level wildcard domain name. Example: `http://*.test.abc.example.com`.'."\n" + ."\n" + .'- You can optionally specify a port. The valid port range is **1** to **65535**.', 'type' => 'string', 'example' => '*', 'title' => ''], + 'AllowCredentials' => ['description' => 'Specifies whether to allow credentials in cross-origin requests. Valid values:'."\n" + ."\n" + .'- **on**: yes'."\n" + ."\n" + .'- **off**: no', 'type' => 'string', 'example' => 'on', 'title' => ''], + 'MaxAge' => ['description' => 'The maximum cache duration of preflight requests in the browser, in seconds.'."\n" + ."\n" + .'Valid values: **-1** to **172800**.', 'type' => 'string', 'example' => '1000', 'title' => ''], + ], + 'description' => 'The configurations for Cross-Origin Resource Sharing (CORS). Valid HTTP methods:'."\n" + ."\n" + .'- **GET**'."\n" + ."\n" + .'- **POST**'."\n" + ."\n" + .'- **PUT**'."\n" + ."\n" + .'- **DELETE**'."\n" + ."\n" + .'- **HEAD**'."\n" + ."\n" + .'- **OPTIONS**'."\n" + ."\n" + .'- **PATCH**', + 'title' => '', + 'example' => '', + ], + 'EnableGzip' => ['description' => 'Specifies whether to enable Gzip compression.', 'type' => 'boolean', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the call is successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is returned only if the request fails.'."\n" + ."\n" + .'- For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code returned for the request. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request succeeded.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], ], - 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"SlbId\\": \\"lb-uf62****6d13tq2u5\\",\\n \\"NamespaceId\\": \\"cn-beijing:sae-test\\",\\n \\"Description\\": \\"ingress-sae-test\\",\\n \\"ListenerPort\\": 443,\\n \\"SlbType\\": \\"internet\\",\\n \\"CertId\\": \\"13623****809_16cad216b32_845_-419427029\\",\\n \\"Name\\": \\"lb-uf6jt0nu4z6ior943****-80-f5****\\",\\n \\"DefaultRule\\": {\\n \\"ContainerPort\\": 8080,\\n \\"AppName\\": \\"app1\\",\\n \\"AppId\\": \\"395b60e4-0550-458d-9c54-a265d036****\\",\\n \\"BackendProtocol\\": \\"http\\"\\n },\\n \\"Rules\\": [\\n {\\n \\"AppName\\": \\"app1\\",\\n \\"ContainerPort\\": 8080,\\n \\"Domain\\": \\"edas.site\\",\\n \\"AppId\\": \\"395b60e4-0550-458d-9c54-a265d036****\\",\\n \\"Path\\": \\"/path1\\",\\n \\"BackendProtocol\\": \\"http\\",\\n \\"RewritePath\\": \\"/${1}\\",\\n \\"RuleActions\\": [\\n {\\n \\"ActionType\\": \\"rewrite\\",\\n \\"ActionConfig\\": \\"{\\\\\\\\\\\\\\"host\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"www.example.com\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"path\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"/example/text\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"query\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"x=1\\\\\\\\\\\\\\"}\\"\\n }\\n ]\\n }\\n ],\\n \\"Id\\": 87,\\n \\"LoadBalanceType\\": \\"clb\\",\\n \\"ListenerProtocol\\": \\"HTTP\\",\\n \\"CertIds\\": \\"87***35-cn-hangzhou,812***3-cn-hangzhou\\",\\n \\"SecurityPolicyId\\": \\"sp-n0kn923****\\",\\n \\"RequestTimeout\\": 60,\\n \\"IdleTimeout\\": 3,\\n \\"EnableXForwardedFor\\": true,\\n \\"EnableXForwardedForClientSrcPort\\": true,\\n \\"EnableXForwardedForProto\\": true,\\n \\"EnableXForwardedForSlbId\\": true,\\n \\"EnableXForwardedForSlbPort\\": true,\\n \\"CreatedBySae\\": true,\\n \\"CorsConfig\\": {\\n \\"Enable\\": \\"false\\",\\n \\"ExposeHeaders\\": \\"test_123\\",\\n \\"AllowHeaders\\": \\"test_123\\",\\n \\"AllowMethods\\": \\"GET\\",\\n \\"AllowOrigin\\": \\"*\\",\\n \\"AllowCredentials\\": \\"on\\",\\n \\"MaxAge\\": \\"1000\\"\\n },\\n \\"EnableGzip\\": false\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeIngress', + 'summary' => 'Queries the details of an Ingress.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-10-24T08:31:04.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-21T02:11:42.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-01-10T02:30:23.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-11-06T01:58:45.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-10-29T08:50:17.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-09-11T08:44:35.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-08-21T01:31:17.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-05-08T05:55:21.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-02T02:40:58.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIngress'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeIngress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Secrets\\": [\\n {\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"SecretId\\": 16,\\n \\"SecretName\\": \\"registry-auth\\",\\n \\"SecretType\\": \\"kubernetes.io/dockerconfigjson\\",\\n \\"RelateApps\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"f16b4000-9058-4c22-a49d-49a28f0b****\\"\\n }\\n ],\\n \\"CreateTime\\": 1593760185111,\\n \\"UpdateTime\\": 1593760185111\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListSecretsResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Secrets>\\n <NamespaceId>cn-beijing:test</NamespaceId>\\n <SecretId>16</SecretId>\\n <SecretName>registry-auth</SecretName>\\n <SecretType>kubernetes.io/dockerconfigjson</SecretType>\\n <RelateApps>\\n <AppName>test-app</AppName>\\n <AppId>f16b4000-9058-4c22-a49d-49a28f0b****</AppId>\\n </RelateApps>\\n <CreateTime>1593760185111</CreateTime>\\n <UpdateTime>1593760185111</UpdateTime>\\n </Secrets>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListSecretsResponse>","errorExample":""}]', - 'title' => 'ListSecrets', ], - 'UpdateSecret' => [ - 'summary' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'\\* \\*\\*2xx\\*\\*: The call was successful.'."\n" - .'\\* \\*\\*3xx\\*\\*: The call was redirected.'."\n" - .'\\* \\*\\*4xx\\*\\*: The call failed.'."\n" - .'\\* \\*\\*5xx\\*\\*: A server error occurred.', - 'path' => '/pop/v1/sam/secret/secret', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeInstanceLog' => [ + 'path' => '/pop/v1/sam/instance/describeInstanceLog', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '159988', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6336', + 'abilityTreeNodes' => ['FEATUREsaeKWESKE'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'InstanceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace where the Secret resides. If the namespace is the default namespace, you need to only enter the region ID, such as `cn-beijing`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The instance ID.', 'type' => 'string', 'required' => true, 'example' => '******-d700e680-aa4d-4ec1-afc2-6566b5ff4d7a-85d44d4bfc-*****', 'title' => ''], ], [ - 'name' => 'SecretId', + 'name' => 'ContainerId', 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'maximum' => '1000000000', - 'minimum' => '1', - 'example' => '16', - ], + 'schema' => ['description' => 'The ID of the sidecar container. Call the [ListApplicationInstances](~~2834847~~) operation to obtain this ID.', 'type' => 'string', 'required' => false, 'example' => 'sidecar-test-01', 'title' => ''], ], [ - 'name' => 'SecretData', + 'name' => 'Previous', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'Specifies whether to view the log of the instance from before its last restart. Note: This parameter is active only if the instance was restarted.', 'type' => 'string', 'required' => false, 'example' => 'false', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The Secret data.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'SecretData' => [ - 'description' => 'The information about the key-value pairs of the Secret. This parameter is required. The following formats are supported:'."\n" - ."\n" - .'{"Data":"{"k1":"v1", "k2":"v2"}"}'."\n" - ."\n" - .'k specifies a key and v specifies a value. For more information, see [Manage a Kubernetes Secret](~~463383~~).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{".dockerconfigjson":"eyJhdXRocyI6eyJyZWdpc3RyeS12cGMuY24tYmVpamluZy5hbGl5dW5jcy5jb20iOnsidXNlcm5hbWUiOiJ1c2VybmFtZSIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJhdXRoIjoiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE9In0sInJlZ2lzdHJ5LmNuLWJlaWppbmcuYWxpeXVuY3MuY29tIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0="}', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The message returned.'."\n" + ."\n" + .'- **success** is returned if the request is successful.'."\n" + ."\n" + .'- An error code is returned if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => ['description' => 'The instance log.', 'type' => 'string', 'example' => 'hello\\nsae\\n', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the instance log was obtained. Valid values:'."\n" + ."\n" + .'- **true**: The instance log was obtained.'."\n" + ."\n" + .'- **false**: The instance log failed to be obtained.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'required' => true, + 'title' => '', + 'example' => '', ], ], ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": \\"hello\\\\\\\\nsae\\\\\\\\n\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeInstanceLog', + 'summary' => 'Retrieves the log of an instance.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:29.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-10-30T05:33:55.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-12-17T11:33:09.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeInstanceLog'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeInstanceLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DescribeInstanceSpecifications' => [ + 'path' => '/pop/v1/paas/quota/instanceSpecifications', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '6337', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], + ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'SecretId' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', + 'description' => 'The instance specifications.', + 'type' => 'array', + 'items' => [ + 'description' => 'The instance specifications.', + 'type' => 'object', + 'properties' => [ + 'Cpu' => ['description' => 'The CPU specification. Unit: millicores.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'Version' => ['description' => 'The version of the instance specification.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Memory' => ['description' => 'The memory specification. Unit: MB.', 'type' => 'integer', 'format' => 'int32', 'example' => '4096', 'title' => ''], + 'SpecInfo' => ['description' => 'The name of the instance specification.', 'type' => 'string', 'example' => 'General-purpose 4', 'title' => ''], + 'Id' => ['description' => 'The ID of the instance specification.', 'type' => 'integer', 'format' => 'int32', 'example' => '4', 'title' => ''], + 'Enable' => ['description' => 'Indicates whether the instance specification is available. Valid values:'."\n" + ."\n" + .'- **true**: available'."\n" + ."\n" + .'- **false**: unavailable', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'ErrorCode' => [ - 'description' => '', - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request is successful.'."\n" + ."\n" + .'- The **ErrorCode** parameter is returned if the request fails. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: The request is invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurs.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the instance specifications are obtained. Valid values:'."\n" + ."\n" + .'- **true**: The instance specifications are obtained.'."\n" + ."\n" + .'- **false**: The instance specifications fail to be obtained.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'InvalidSecretId.NotFound', - 'errorMessage' => 'The specified SecretId [%s] does not exist in our records.', - ], - [ - 'errorCode' => 'InvalidSecretDataKey.NotFound', - 'errorMessage' => 'The specified Key [%s] does not exist in the specified Secret [%s].', - ], - ], - 500 => [ - [ - 'errorCode' => 'OperationFailed.RPCError', - 'errorMessage' => 'Internal RPC request processing error.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Cpu\\": 2000,\\n \\"Version\\": 0,\\n \\"Memory\\": 4096,\\n \\"SpecInfo\\": \\"General-purpose 4\\",\\n \\"Id\\": 4,\\n \\"Enable\\": true\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeInstanceSpecifications', + 'summary' => 'Retrieves a list of available application instance specifications.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-03-08T10:14:56.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeInstanceSpecifications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"SecretId\\": 16\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateSecretResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <SecretId>16</SecretId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateSecretResponse>","errorExample":""}]', - 'title' => 'UpdateSecret', + 'translator' => 'machine', ], - 'DeleteSecret' => [ - 'summary' => 'Deletes a Secret.', - 'path' => '/pop/v1/sam/secret/secret', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeJob' => [ + 'path' => '/pop/v1/sam/job/describeJob', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '159989', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '100736', + 'abilityTreeNodes' => ['FEATUREsaeN5OIM9'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace in which the Secret resides. By default, the namespace ID is the same as the region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The job template ID.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], [ - 'name' => 'SecretId', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Secret to be deleted. You can call the [ListSecrets](~~466929~~) operation to view the Secret IDs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'maximum' => '1000000000', - 'minimum' => '1', - 'example' => '16', - ], + 'schema' => ['description' => 'The job ID.', 'type' => 'string', 'required' => false, 'example' => 'event-b798157b-40a2-4388-b578-71fb897103**-**', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****', 'title' => ''], + 'Message' => ['description' => 'Additional information about the call result.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query the details of a request.', 'type' => 'string', 'example' => 'ac1a0b2215622246421415014e****', 'title' => ''], 'Data' => [ - 'description' => 'The response.'."\n", + 'description' => 'The job template information.', 'type' => 'object', 'properties' => [ - 'SecretId' => [ - 'description' => 'The ID of the deleted Secret.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', + 'VpcId' => ['description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-2ze0i263cnn311nvj****', 'title' => ''], + 'ConfigMapMountDesc' => [ + 'description' => 'The information about the mounted ConfigMap.', + 'type' => 'array', + 'items' => [ + 'description' => 'The ConfigMap information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The key of the key-value pair in the ConfigMap.', 'type' => 'string', 'example' => 'k1', 'title' => ''], + 'ConfigMapName' => ['description' => 'The name of the ConfigMap.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'MountPath' => ['description' => 'The container mount path.', 'type' => 'string', 'example' => '/tmp', 'title' => ''], + 'ConfigMapId' => ['description' => 'The ConfigMap ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'SecurityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-wz969ngg2e49q5i4****', 'title' => ''], + 'Jdk' => ['description' => 'The JDK version that the deployment package requires. The following versions are supported:'."\n" + ."\n" + .'- **Open JDK 8**'."\n" + ."\n" + .'- **Open JDK 7**'."\n" + ."\n" + .'- **Dragonwell 11**'."\n" + ."\n" + .'- **Dragonwell 8**'."\n" + ."\n" + .'- **openjdk-8u191-jdk-alpine3.9**'."\n" + ."\n" + .'- **openjdk-7u201-jdk-alpine3.9**'."\n" + ."\n" + .'This parameter is not applicable if **Package Type** is set to **Image**.', 'type' => 'string', 'example' => 'Open JDK 8', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL. This parameter is required if **Package Type** is set to **Image**.', 'type' => 'string', 'example' => 'docker.io/library/nginx:1.14.2', 'title' => ''], + 'SlsConfigs' => ['description' => 'The configuration for collecting logs to Log Service (SLS).'."\n" + ."\n" + .'- Use an SLS resource that SAE automatically creates: `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" + ."\n" + .'- Use a custom SLS resource: `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" + ."\n" + .'The parameters are described as follows:'."\n" + ."\n" + .'- **projectName**: The name of the SLS project.'."\n" + ."\n" + .'- **logDir**: The log path.'."\n" + ."\n" + .'- **logType**: The log type. **stdout** specifies the container\'s standard output logs. You can specify only one log of the stdout type. If this parameter is omitted, file logs are collected.'."\n" + ."\n" + .'- **logstoreName**: The name of the Logstore in SLS.'."\n" + ."\n" + .'- **logtailName**: The name of the Logtail configuration in SLS. If you do not specify this parameter, a new Logtail configuration is created.'."\n" + ."\n" + .'You can omit this parameter if the Log Service configuration is unchanged during redeployment. To disable log collection, set this parameter to an empty string (`""`).', 'type' => 'string', 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', 'title' => ''], + 'Tags' => [ + 'description' => 'The tags of the job template.', + 'type' => 'array', + 'items' => [ + 'description' => 'The tag information.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'k1', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'PackageUrl' => ['description' => 'The URL of the package. This parameter is required if **Package Type** is set to **FatJar** or **War**.', 'type' => 'string', 'example' => 'https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war', 'title' => ''], + 'PackageType' => ['description' => 'The type of the job package. Valid values:'."\n" + ."\n" + .'- For Java deployments, **FatJar**, **War**, and **Image** are supported.'."\n" + ."\n" + .'- For PHP deployments, the following package types are supported:'."\n" + ."\n" + .' - **PhpZip**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_4**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_4\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_5**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_5\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_6**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_5\\_6\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_0**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_0\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_1**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_1\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_2**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_2\\_ALPINE**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_3**'."\n" + ."\n" + .' - **IMAGE\\_PHP\\_7\\_3\\_ALPINE**'."\n" + ."\n" + .'- For Python deployments, **PythonZip** and **Image** are supported.', 'type' => 'string', 'example' => 'War', 'title' => ''], + 'PreStop' => ['description' => 'The script to execute before the container stops. This script runs before the system deletes the container. Example: `{"exec":{"command":["cat","/etc/group"]}}`', 'type' => 'string', 'example' => '{"exec":{"command":["cat","/etc/group"]}}', 'title' => ''], + 'PackageVersion' => ['description' => 'The version of the package. This parameter is required if **Package Type** is set to **FatJar** or **War**.', 'type' => 'string', 'example' => '1.0', 'title' => ''], + 'JarStartArgs' => ['description' => 'The arguments for the startup of a JAR package. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.', 'type' => 'string', 'example' => 'start', 'title' => ''], + 'AppName' => ['description' => 'The name of the job template.', 'type' => 'string', 'example' => 'demo-app', 'title' => ''], + 'AppId' => ['description' => 'The ID of the job template.', 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'JarStartOptions' => ['description' => 'The options for the startup of a JAR package. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.', 'type' => 'string', 'example' => '-Dtest=true', 'title' => ''], + 'Replicas' => ['description' => 'The number of job instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Memory' => ['description' => 'The memory required by each instance, in MB. This value cannot be 0. CPU and memory resources are allocated in fixed ratios. The following combinations are supported:'."\n" + ."\n" + .'- **1024**: corresponds to 500 millicores and 1,000 millicores.'."\n" + ."\n" + .'- **2048**: corresponds to 500, 1,000, and 2,000 millicores.'."\n" + ."\n" + .'- **4096**: corresponds to 1,000, 2,000, and 4,000 millicores.'."\n" + ."\n" + .'- **8192**: corresponds to 2,000, 4,000, and 8,000 millicores.'."\n" + ."\n" + .'- **12288**: corresponds to 12,000 millicores.'."\n" + ."\n" + .'- **16384**: corresponds to 4,000, 8,000, and 16,000 millicores.'."\n" + ."\n" + .'- **24576**: corresponds to 12,000 millicores.'."\n" + ."\n" + .'- **32768**: corresponds to 16,000 millicores.'."\n" + ."\n" + .'- **65536**: corresponds to 8,000, 16,000, and 32,000 millicores.'."\n" + ."\n" + .'- **131072**: corresponds to 32,000 millicores.', 'type' => 'integer', 'format' => 'int32', 'example' => '2048', 'title' => ''], + 'PhpConfig' => ['description' => 'The content of the PHP configuration file.', 'type' => 'string', 'example' => 'k1=v1', 'title' => ''], + 'PhpConfigLocation' => ['description' => 'The mount path of the PHP job startup configuration. Make sure that the PHP server uses this configuration to start.', 'type' => 'string', 'example' => '/usr/local/etc/php/php.ini', 'title' => ''], + 'PostStart' => ['description' => 'The script to execute after the container starts. This script runs immediately after the system creates the container. Example: `{"exec":{"command":["cat","/etc/group"]}}`', 'type' => 'string', 'example' => '{"exec":{"command":["cat","/etc/group"]}}', 'title' => ''], + 'TerminationGracePeriodSeconds' => ['description' => 'The timeout for a graceful stop, in seconds. Default: 30. Valid values: 1 to 300.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'CommandArgs' => ['description' => 'The arguments of the image startup command. The arguments are passed to the **Command** parameter. Format:'."\n" + ."\n" + .'`["a","b"]`'."\n" + ."\n" + .'In the example of the **Command** parameter, `CommandArgs=["abc", ">", "file0"]`. In this case, `["abc", ">", "file0"]` must be converted to a string in the format of a JSON array. If this parameter is not specified, you do not need to configure it.', 'type' => 'string', 'example' => '["a","b"]', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'MountHost' => ['description' => 'The mount target of the Apsara File Storage NAS file system in the job template\'s VPC. You can omit this parameter if the NAS configuration is unchanged during redeployment. To clear the NAS configuration, set this parameter to an empty string (`""`).', 'type' => 'string', 'example' => 'example.com', 'title' => ''], + 'TomcatConfig' => ['description' => 'The Tomcat file configuration. To delete the configuration, set this parameter to "" or "{}".'."\n" + ."\n" + .'- **port**: The port number. Valid values: 1024 to 65535. Ports below 1024 are reserved. If you do not specify a port, the default value is 8080.'."\n" + ."\n" + .'- **contextPath**: The access path. Default value: /.'."\n" + ."\n" + .'- **maxThreads**: The maximum number of connections in the connection pool. Default value: 400.'."\n" + ."\n" + .'- **uriEncoding**: The URI encoding scheme for Tomcat. Valid values: **UTF-8**, **ISO-8859-1**, **GBK**, and **GB2312**. If you do not specify this parameter, the default value **ISO-8859-1** is used.'."\n" + ."\n" + .'- **useBodyEncodingForUri**: Specifies whether to use the character encoding from the request body for the URI. Default value: **true**.', 'type' => 'string', 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze559r1z1bpwqxwp****', 'title' => ''], + 'Cpu' => ['description' => 'The number of CPU cores that are required by each instance. Unit: millicores. This parameter cannot be set to 0. Only the following fixed specifications are supported:'."\n" + ."\n" + .'- **500**'."\n" + ."\n" + .'- **1000**'."\n" + ."\n" + .'- **2000**'."\n" + ."\n" + .'- **4000**'."\n" + ."\n" + .'- **8000**'."\n" + ."\n" + .'- **16000**'."\n" + ."\n" + .'- **32000**', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], + 'Envs' => ['description' => 'The container environment variables. You can define custom variables or reference a ConfigMap. To reference a ConfigMap, you must first create a ConfigMap. For more information, see [CreateConfigMap](~~176914~~). The following formats are supported:'."\n" + ."\n" + .'- Define custom variables'."\n" + ."\n" + .' - **name**: The name of the environment variable.'."\n" + ."\n" + .' - **value**: The value of the environment variable.'."\n" + ."\n" + .'- Reference a ConfigMap'."\n" + ."\n" + .' - **name**: The name of the environment variable. You can reference a single key or all keys. To reference all keys, enter `sae-sys-configmap-all-<ConfigMap name>`, for example, `sae-sys-configmap-all-test1`.'."\n" + ."\n" + .' - **valueFrom**: The source of the environment variable. Set the value to `configMapRef`.'."\n" + ."\n" + .' - **configMapId**: The ID of the ConfigMap.'."\n" + ."\n" + .' - **key**: The key of the key-value pair. If you reference all keys in the ConfigMap, you do not need to specify this parameter.', 'type' => 'string', 'example' => '[{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}]', 'title' => ''], + 'MountDesc' => [ + 'description' => 'The mount description.', + 'type' => 'array', + 'items' => [ + 'description' => 'The mount description.', + 'type' => 'object', + 'properties' => [ + 'MountPath' => ['description' => 'The container mount path.', 'type' => 'string', 'example' => '/tmp', 'title' => ''], + 'NasPath' => ['description' => 'The directory in the Apsara File Storage NAS file system.', 'type' => 'string', 'example' => '/', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'CustomHostAlias' => ['description' => 'The custom host mapping in the container. The parameters are described as follows:'."\n" + ."\n" + .'- **hostName**: The domain name or hostname.'."\n" + ."\n" + .'- **ip**: The IP address.', 'type' => 'string', 'example' => '[{"hostName":"test.host.name","ip":"0.0.0.0"}]', 'title' => ''], + 'WebContainer' => ['description' => 'The version of the Tomcat container on which the package depends. The following versions are supported:'."\n" + ."\n" + .'- **apache-tomcat-7.0.91**'."\n" + ."\n" + .'- **apache-tomcat-8.5.42**'."\n" + ."\n" + .'This parameter is not supported when **Package Type** is set to **Image**.', 'type' => 'string', 'example' => 'apache-tomcat-7.0.91', 'title' => ''], + 'Command' => ['description' => 'The image startup command. The command must be an executable that exists in the container. Example:'."\n" + ."\n" + .'```'."\n" + .'command:'."\n" + .' - echo'."\n" + .' - abc'."\n" + .' - >'."\n" + .' - file0'."\n" + .'```'."\n" + ."\n" + .'In this example, `Command="echo", CommandArgs=["abc", ">", "file0"]`.', 'type' => 'string', 'example' => 'echo', 'title' => ''], + 'WarStartOptions' => ['description' => 'The options for the startup of a WAR package. The default startup command is `java $JAVA_OPTS $CATALINA_OPTS -Options org.apache.catalina.startup.Bootstrap "$@" start`.', 'type' => 'string', 'example' => 'custom-option', 'title' => ''], + 'NasId' => ['description' => 'The ID of the Apsara File Storage NAS file system.', 'type' => 'string', 'example' => 'AKSN89**', 'title' => ''], + 'OssAkId' => ['description' => 'The AccessKey ID for accessing Object Storage Service (OSS) buckets.', 'type' => 'string', 'example' => 'xxxxxx', 'title' => ''], + 'OssAkSecret' => ['description' => 'The AccessKey secret for accessing OSS buckets.', 'type' => 'string', 'example' => 'xxxxxx', 'title' => ''], + 'OssMountDescs' => [ + 'title' => '', + 'description' => 'The description of the mounted OSS bucket.', + 'type' => 'array', + 'items' => [ + 'description' => 'The description of the mounted OSS bucket.', + 'type' => 'object', + 'properties' => [ + 'bucketName' => ['description' => 'The bucket name.', 'type' => 'string', 'example' => 'oss-bucket', 'title' => ''], + 'bucketPath' => ['description' => 'The directory or object that you created in the OSS bucket. An exception is returned if the specified mount directory does not exist.', 'type' => 'string', 'example' => 'data/user.data', 'title' => ''], + 'mountPath' => ['description' => 'The path in your SAE container. If the path exists, it is overwritten. If the path does not exist, a new path is created.', 'type' => 'string', 'example' => '/usr/data/user.data', 'title' => ''], + 'readOnly' => ['description' => 'Specifies whether the container has read-only access to the mounted resources. Valid values:'."\n" + ."\n" + .'- **true**: The path has read-only permissions.'."\n" + ."\n" + .'- **false**: The path has read and write permissions.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'example' => '', + ], + 'EdasContainerVersion' => ['description' => 'The version of the runtime environment in the HSF framework, such as an Ali-Tomcat container.', 'type' => 'string', 'example' => '3.5.3', 'title' => ''], + 'Timezone' => ['description' => 'The time zone. Default value: **Asia/Shanghai**.', 'type' => 'string', 'example' => 'Asia/Shanghai', 'title' => ''], + 'AppDescription' => ['description' => 'The description of the job template.', 'type' => 'string', 'example' => 'Sample application', 'title' => ''], + 'AcrInstanceId' => ['description' => 'The ID of the Container Registry (ACR) Enterprise Edition instance.', 'type' => 'string', 'example' => 'cri-xxxxxx', 'title' => ''], + 'AcrAssumeRoleArn' => ['description' => 'The ARN of the RAM role that is required to pull images across accounts. For more information, see [Pull images across Alibaba Cloud accounts](~~190675~~) and [Grant permissions across Alibaba Cloud accounts by using a RAM role](~~223585~~).', 'type' => 'string', 'example' => 'acs:ram::123456789012****:role/adminrole', 'title' => ''], + 'ImagePullSecrets' => ['description' => 'The ID of the Secret.', 'type' => 'string', 'example' => '10', 'title' => ''], + 'TriggerConfig' => ['description' => 'The job trigger configuration. The configuration varies based on the job type.'."\n" + ."\n" + .'- **Scheduled task**: Set **type** to time, **config** to a Cron expression, and **timezone** to a specific time zone.'."\n" + .' Example: `{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}`'."\n" + ."\n" + .'- **One-time task**: Set **type** to http, and for **config**, specify the HTTP trigger rules. For more information, see [SourceHttpEventParameters](https://help.aliyun.com/document_detail/347586.html#section-lp1-vq0-ho3).'."\n" + .' Example: `{"type":"http","config":{"type":"HTTPS","method":["GET"],"ip":[],"referer":[],"securityConfig":"none"}}`', 'type' => 'string', 'example' => '{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}', 'title' => ''], + 'ConcurrencyPolicy' => ['description' => 'The concurrency policy for the job. Valid values:'."\n" + ."\n" + .'- **Forbid**: Forbids concurrent runs. A new job is not created if the previous one has not completed.'."\n" + ."\n" + .'- **Allow**: Allows concurrent runs.'."\n" + ."\n" + .'- **Replace**: If the previous job has not completed, the new job replaces it.', 'type' => 'string', 'example' => 'Allow', 'title' => ''], + 'Suspend' => ['description' => 'Specifies whether to suspend the job template.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Timeout' => ['description' => 'The timeout period for the job. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '3600', 'title' => ''], + 'BackoffLimit' => ['description' => 'The maximum number of retries for a failed job.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + 'Slice' => ['description' => 'Specifies whether to enable job sharding.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'SliceEnvs' => ['description' => 'The parameters for job sharding.', 'type' => 'string', 'example' => 'SliceEnvs', 'title' => ''], + 'RefAppId' => ['description' => 'The ID of the referenced job template.', 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'RefedAppIds' => [ + 'description' => 'The IDs of job templates that reference this template.', + 'type' => 'array', + 'items' => ['description' => 'The job template ID.', 'type' => 'string', 'example' => '8621a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'PublicWebHookUrls' => [ + 'description' => 'The list of public request URLs for the one-time task.', + 'type' => 'array', + 'items' => ['description' => 'The public URL.', 'type' => 'string', 'example' => 'http://***/webhook/putEvents?token=***', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'VpcWebHookUrls' => [ + 'description' => 'The list of private request URLs for the one-time task.', + 'type' => 'array', + 'items' => ['description' => 'The private URL.', 'type' => 'string', 'example' => 'http://***/webhook/putEvents?token=***', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ProgrammingLanguage' => ['description' => 'The programming language that is used for the job template. Valid values:'."\n" + ."\n" + .'- **java**: Java'."\n" + ."\n" + .'- **php**: PHP'."\n" + ."\n" + .'- **python**: Python'."\n" + ."\n" + .'- **other**: Other languages, such as C++, Go, .NET, and Node.js.', 'type' => 'string', 'example' => 'java', 'title' => ''], + 'NasConfigs' => ['description' => 'The configuration for mounting an Apsara File Storage NAS file system.', 'type' => 'string', 'example' => '[{"mountPath":"/test1","readOnly":false,"nasId":"nasId1","mountDomain":"nasId1.cn-shenzhen.nas.aliyuncs.com","nasPath":"/test1"},{"nasId":"nasId2","mountDomain":"nasId2.cn-shenzhen.nas.aliyuncs.com","readOnly":false,"nasPath":"/test2","mountPath":"/test2"}]', 'title' => ''], + 'Python' => ['description' => 'The Python environment. PYTHON 3.9.15 is supported.', 'type' => 'string', 'example' => 'PYTHON 3.9.15', 'title' => ''], + 'PythonModules' => ['description' => 'The Python module dependencies to install. By default, SAE installs dependencies from a `requirements.txt` file in the package\'s root directory. Use this parameter to specify dependencies if a `requirements.txt` file is not present or to add extra modules.', 'type' => 'string', 'example' => 'Flask==2.0', 'title' => ''], + 'BestEffortType' => ['description' => 'The Best-Effort policy.', 'type' => 'string', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Valid values:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the Secret is successfully deleted. Valid values:'."\n" - ."\n" - .'* **true**: The instance was deleted.'."\n" - .'* **false**: The instance failed to be deleted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- The **ErrorCode** parameter is returned only if the request fails.'."\n" + ."\n" + .'- For a list of possible **ErrorCode** values, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'InvalidSecretId.NotFound', - 'errorMessage' => 'The specified SecretId [%s] does not exist in our records.', - ], - [ - 'errorCode' => 'DependencyViolation.Job', - 'errorMessage' => 'The specified resource of secret is dependent on job [%s], so the operation cannot be completed.', - ], - [ - 'errorCode' => 'DependencyViolation.Application', - 'errorMessage' => 'The specified resource of secret is dependent on application [%s], so the operation cannot be completed.', - ], - ], 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', - ], + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], ], - 500 => [ - [ - 'errorCode' => 'OperationFailed.RPCError', - 'errorMessage' => 'Internal RPC request processing error.', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": {\\n \\"VpcId\\": \\"vpc-2ze0i263cnn311nvj****\\",\\n \\"ConfigMapMountDesc\\": [\\n {\\n \\"Key\\": \\"k1\\",\\n \\"ConfigMapName\\": \\"test\\",\\n \\"MountPath\\": \\"/tmp\\",\\n \\"ConfigMapId\\": 1\\n }\\n ],\\n \\"SecurityGroupId\\": \\"sg-wz969ngg2e49q5i4****\\",\\n \\"Jdk\\": \\"Open JDK 8\\",\\n \\"ImageUrl\\": \\"docker.io/library/nginx:1.14.2\\",\\n \\"SlsConfigs\\": \\"[{\\\\\\"logDir\\\\\\":\\\\\\"\\\\\\",\\\\\\"logType\\\\\\":\\\\\\"stdout\\\\\\"},{\\\\\\"logDir\\\\\\":\\\\\\"/tmp/a.log\\\\\\"}]\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"k1\\",\\n \\"Value\\": \\"v1\\"\\n }\\n ],\\n \\"PackageUrl\\": \\"https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war\\",\\n \\"PackageType\\": \\"War\\",\\n \\"PreStop\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"cat\\\\\\",\\\\\\"/etc/group\\\\\\"]}}\\",\\n \\"PackageVersion\\": \\"1.0\\",\\n \\"JarStartArgs\\": \\"start\\",\\n \\"AppName\\": \\"demo-app\\",\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"JarStartOptions\\": \\"-Dtest=true\\",\\n \\"Replicas\\": 2,\\n \\"Memory\\": 2048,\\n \\"PhpConfig\\": \\"k1=v1\\",\\n \\"PhpConfigLocation\\": \\"/usr/local/etc/php/php.ini\\",\\n \\"PostStart\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"cat\\\\\\",\\\\\\"/etc/group\\\\\\"]}}\\",\\n \\"TerminationGracePeriodSeconds\\": 10,\\n \\"CommandArgs\\": \\"[\\\\\\"a\\\\\\",\\\\\\"b\\\\\\"]\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"MountHost\\": \\"example.com\\",\\n \\"TomcatConfig\\": \\"{\\\\\\"port\\\\\\":8080,\\\\\\"contextPath\\\\\\":\\\\\\"/\\\\\\",\\\\\\"maxThreads\\\\\\":400,\\\\\\"uriEncoding\\\\\\":\\\\\\"ISO-8859-1\\\\\\",\\\\\\"useBodyEncodingForUri\\\\\\":true}\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"VSwitchId\\": \\"vsw-2ze559r1z1bpwqxwp****\\",\\n \\"Cpu\\": 1000,\\n \\"Envs\\": \\"[{\\\\\\"name\\\\\\":\\\\\\"TEST_ENV_KEY\\\\\\",\\\\\\"value\\\\\\":\\\\\\"TEST_ENV_VAR\\\\\\"}]\\",\\n \\"MountDesc\\": [\\n {\\n \\"MountPath\\": \\"/tmp\\",\\n \\"NasPath\\": \\"/\\"\\n }\\n ],\\n \\"CustomHostAlias\\": \\"[{\\\\\\"hostName\\\\\\":\\\\\\"test.host.name\\\\\\",\\\\\\"ip\\\\\\":\\\\\\"0.0.0.0\\\\\\"}]\\",\\n \\"WebContainer\\": \\"apache-tomcat-7.0.91\\",\\n \\"Command\\": \\"echo\\",\\n \\"WarStartOptions\\": \\"custom-option\\",\\n \\"NasId\\": \\"AKSN89**\\",\\n \\"OssAkId\\": \\"xxxxxx\\",\\n \\"OssAkSecret\\": \\"xxxxxx\\",\\n \\"OssMountDescs\\": [\\n {\\n \\"bucketName\\": \\"oss-bucket\\",\\n \\"bucketPath\\": \\"data/user.data\\",\\n \\"mountPath\\": \\"/usr/data/user.data\\",\\n \\"readOnly\\": true\\n }\\n ],\\n \\"EdasContainerVersion\\": \\"3.5.3\\",\\n \\"Timezone\\": \\"Asia/Shanghai\\",\\n \\"AppDescription\\": \\"Sample application\\",\\n \\"AcrInstanceId\\": \\"cri-xxxxxx\\",\\n \\"AcrAssumeRoleArn\\": \\"acs:ram::123456789012****:role/adminrole\\",\\n \\"ImagePullSecrets\\": \\"10\\",\\n \\"TriggerConfig\\": \\"{\\\\\\"type\\\\\\":\\\\\\"time\\\\\\",\\\\\\"config\\\\\\":\\\\\\"0 1 */1 * ?\\\\\\",\\\\\\"timezone\\\\\\":\\\\\\"GMT+8:00\\\\\\"}\\",\\n \\"ConcurrencyPolicy\\": \\"Allow\\",\\n \\"Suspend\\": false,\\n \\"Timeout\\": 3600,\\n \\"BackoffLimit\\": 3,\\n \\"Slice\\": true,\\n \\"SliceEnvs\\": \\"SliceEnvs\\",\\n \\"RefAppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"RefedAppIds\\": [\\n \\"8621a6ca-d1cd-4928-8642-7d5cfe69****\\"\\n ],\\n \\"PublicWebHookUrls\\": [\\n \\"http://***/webhook/putEvents?token=***\\"\\n ],\\n \\"VpcWebHookUrls\\": [\\n \\"http://***/webhook/putEvents?token=***\\"\\n ],\\n \\"ProgrammingLanguage\\": \\"java\\",\\n \\"NasConfigs\\": \\"[{\\\\\\"mountPath\\\\\\":\\\\\\"/test1\\\\\\",\\\\\\"readOnly\\\\\\":false,\\\\\\"nasId\\\\\\":\\\\\\"nasId1\\\\\\",\\\\\\"mountDomain\\\\\\":\\\\\\"nasId1.cn-shenzhen.nas.aliyuncs.com\\\\\\",\\\\\\"nasPath\\\\\\":\\\\\\"/test1\\\\\\"},{\\\\\\"nasId\\\\\\":\\\\\\"nasId2\\\\\\",\\\\\\"mountDomain\\\\\\":\\\\\\"nasId2.cn-shenzhen.nas.aliyuncs.com\\\\\\",\\\\\\"readOnly\\\\\\":false,\\\\\\"nasPath\\\\\\":\\\\\\"/test2\\\\\\",\\\\\\"mountPath\\\\\\":\\\\\\"/test2\\\\\\"}]\\",\\n \\"Python\\": \\"PYTHON 3.9.15\\",\\n \\"PythonModules\\": \\"Flask==2.0\\",\\n \\"BestEffortType\\": \\"\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeJob', + 'summary' => 'Calls the `DescribeJob` API to retrieve job template configuration.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2026-05-14T07:12:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:03:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-09-08T05:48:07.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-11-22T13:03:50.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '350', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeJob'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"SecretId\\": 16\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteSecretResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <SecretId>16</SecretId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DeleteSecretResponse>","errorExample":""}]', - 'title' => 'DeleteSecret', + 'translator' => 'machine', ], - 'ListTagResources' => [ - 'path' => '/tags', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeJobHistory' => [ + 'path' => '/pop/v1/sam/job/describeJobHistory', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6379', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'abilityTreeCode' => '124658', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'RegionId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'The ID of the job template.', 'type' => 'string', 'required' => true, 'example' => 'e1a7a07-abcb-4652-a1d3-2d57f415****', 'title' => ''], ], [ - 'name' => 'ResourceType', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Set the value to `application`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'application', - ], + 'schema' => ['description' => 'The number of the page to return.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'A maximum of 50 entries can be returned for a query. If a query generates more than 50 entries, the NextToken parameter is returned with the first 50 entries. You can use the NextToken parameter value to retrieve the subsequent entries that are not returned in the current query result.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'A2RN', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 0 to 10000.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20', 'title' => ''], ], [ - 'name' => 'ResourceIds', + 'name' => 'State', 'in' => 'query', - 'schema' => [ - 'description' => 'The resource ID. Separate multiple resource IDs with comma (,). This parameter is required if you do not specify the **Tags** parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["d42921c4-5433-4abd-8075-0e536f8b****"]', - ], - ], - [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => 'The tag in the format of a key-value pair. This parameter is required if you do not specify the **ResourceIds** parameter. The following parameters are involved:'."\n" - ."\n" - .'* **key**: the tag key. It cannot exceed 128 characters in length.'."\n" - .'* **value**: the tag value. It cannot exceed 128 characters in length.'."\n" - ."\n" - .'Tag keys and tag values are case-sensitive. If you specify multiple tags, the system adds all the tags to the specified resources. Each tag key on a resource can have only one tag value. If you create a tag that has the same key as an existing tag, the value of the existing tag is overwritten.'."\n" - ."\n" - .'Tag keys and tag values cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"key":"k1","value":"v1"}]', - ], + 'schema' => ['description' => 'The status of the job. Valid values:'."\n" + ."\n" + .'- **0**: The job is not executed.'."\n" + ."\n" + .'- **1**: The job is executed.'."\n" + ."\n" + .'- **2**: The job fails to be executed.'."\n" + ."\n" + .'- **3**: The job is being executed.', 'type' => 'string', 'required' => false, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '7414187F-4F59-4585-9BCF-5F0804E4****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0bc5f84e15916043198032146d****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '53F15A18-8079-5992-810C-0211A5AE****', 'title' => ''], + 'Message' => ['description' => 'The message returned. Take note of the following rules:'."\n" + ."\n" + .'- If the call is successful, **success** is returned.'."\n" + ."\n" + .'- If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0b1639af16575057857241351e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'NextToken' => [ - 'description' => 'A maximum of 50 entries can be returned for a query. If a query generates more than 50 entries, the NextToken parameter is returned with the first 50 entries. You can use the NextToken parameter value to retrieve the subsequent entries that are not returned in the current query result.'."\n", - 'type' => 'string', - 'example' => '""', - ], - 'TagResources' => [ - 'description' => 'The mapping relationships between applications and tags.'."\n", + 'CurrentPage' => ['description' => 'The page number of the returned page.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of jobs.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries to return on each page. Valid values: 0 to 10000.', 'type' => 'integer', 'format' => 'int64', 'example' => '20', 'title' => ''], + 'Jobs' => [ + 'description' => 'The jobs.', 'type' => 'array', 'items' => [ - 'description' => '', 'type' => 'object', 'properties' => [ - 'ResourceType' => [ - 'description' => 'The type of the resource. Valid value: `application`.'."\n", - 'type' => 'string', - 'example' => 'ALIYUN::SAE::APPLICATION', - ], - 'TagValue' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - 'ResourceId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'd42921c4-5433-4abd-8075-0e536f8b****', - ], - 'TagKey' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'k1', - ], + 'JobId' => ['description' => 'The job ID.', 'type' => 'string', 'example' => 'manual-3db7a8fa-5d40-4edc-92e4-49d50eab****', 'title' => ''], + 'Active' => ['description' => 'The number of running instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'Succeeded' => ['description' => 'The number of instances that are successfully run.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + 'Failed' => ['description' => 'The number of instances that failed to run.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'StartTime' => ['description' => 'The time when the job was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1657522800', 'title' => ''], + 'CompletionTime' => ['description' => 'The time when the job was executed.', 'type' => 'integer', 'format' => 'int64', 'example' => '1657522839', 'title' => ''], + 'Message' => ['description' => 'The message returned if exceptions occur during job running.', 'type' => 'string', 'title' => '', 'example' => ''], + 'State' => ['description' => 'The status of the job. Valid values:'."\n" + ."\n" + .'- **0**: The job was not executed.'."\n" + ."\n" + .'- **1**: The job was executed.'."\n" + ."\n" + .'- **2**: The job failed to be executed.'."\n" + ."\n" + .'- **3**: The job is being executed.', 'type' => 'string', 'example' => '1', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the mapping relationships between applications and tags were queried. Valid values:'."\n" - ."\n" - .'* **true**: The mapping relationships were queried.'."\n" - .'* **false**: The mapping relationships failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code returned. Take note of the following rules:'."\n" + ."\n" + .'- If the call is successful, the **ErrorCode** parameter is not returned.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code returned. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidResourceType.NotFound', - 'errorMessage' => 'The specified resource type is not supported.', - ], - [ - 'errorCode' => 'NumberExceed.Tags', - 'errorMessage' => 'The specified parameter Tags count exceed.', - ], - [ - 'errorCode' => 'Invalid.Param.Tag.Scope', - 'errorMessage' => 'The specified parameter is invalid: tag scope.', - ], - [ - 'errorCode' => 'No.Permission', - 'errorMessage' => 'The account has no permission.', - ], - [ - 'errorCode' => 'NumberExceed.ResourceIds', - 'errorMessage' => 'The number of resource IDs cannot exceed 50.', - ], + 404 => [ + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7414187F-4F59-4585-9BCF-5F0804E4****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc5f84e15916043198032146d****\\",\\n \\"Data\\": {\\n \\"NextToken\\": \\"\\\\\\"\\\\\\"\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::SAE::APPLICATION\\",\\n \\"TagValue\\": \\"v1\\",\\n \\"ResourceId\\": \\"d42921c4-5433-4abd-8075-0e536f8b****\\",\\n \\"TagKey\\": \\"k1\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListTagResourcesResponse>\\n <RequestId>7414187F-4F59-4585-9BCF-5F0804E4****</RequestId>\\n <Message>success</Message>\\n <TraceId>0bc5f84e15916043198032146d****</TraceId>\\n <Data>\\n <NextToken>\\"\\"</NextToken>\\n <TagResources>\\n <ResourceType>ALIYUN::SAE::APPLICATION</ResourceType>\\n <TagValue>v1</TagValue>\\n <ResourceId>d42921c4-5433-4abd-8075-0e536f8b****</ResourceId>\\n <TagKey>k1</TagKey>\\n </TagResources>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListTagResourcesResponse>","errorExample":""}]', - 'title' => 'ListTagResources', - 'summary' => 'Queries the mapping relationships between applications and tags.', - ], - 'UntagResources' => [ - 'path' => '/tags', - 'methods' => [ - 'delete', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"53F15A18-8079-5992-810C-0211A5AE****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0b1639af16575057857241351e****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 20,\\n \\"PageSize\\": 20,\\n \\"Jobs\\": [\\n {\\n \\"JobId\\": \\"manual-3db7a8fa-5d40-4edc-92e4-49d50eab****\\",\\n \\"Active\\": 0,\\n \\"Succeeded\\": 3,\\n \\"Failed\\": 0,\\n \\"StartTime\\": 1657522800,\\n \\"CompletionTime\\": 1657522839,\\n \\"Message\\": \\"\\",\\n \\"State\\": \\"1\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeJobHistory', + 'summary' => 'Query the information about jobs.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:28.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeJobHistory'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DescribeJobHistory', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeJobStatus' => [ + 'path' => '/pop/v1/sam/job/describeJobStatus', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '6396', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'abilityTreeCode' => '100738', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing', - ], - ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the resource. Set the value to `application`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'application', - ], - ], - [ - 'name' => 'ResourceIds', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The IDs of resources. Separate multiple resource IDs with comma (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '["d42921c4-5433-4abd-8075-0e536f8b****"]', - ], + 'schema' => ['description' => 'The ID of the job template.', 'type' => 'string', 'required' => true, 'example' => 'e1a7a07-abcb-4652-a1d3-2d57f415****', 'title' => ''], ], [ - 'name' => 'TagKeys', + 'name' => 'JobId', 'in' => 'query', - 'schema' => [ - 'description' => 'The tag keys. Separate multiple tag keys with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["k1","k2"]', - ], - ], - [ - 'name' => 'DeleteAll', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to remove all the specified tags. This parameter takes effect only if the TagKeys parameter is specified. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The job ID.', 'type' => 'string', 'required' => false, 'example' => 'event-b798157b-40a2-4388-b578-71fb897103**-**', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '53F15A18-8079-5992-810C-0211A5AE****', 'title' => ''], + 'Message' => ['description' => 'The returned message. Take note of the following rules:'."\n" + ."\n" + .'- If the call is successful, **success** is returned.'."\n" + ."\n" + .'- If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0b1639af16575057857241351e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned result.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'JobId' => ['description' => 'The job ID.', 'type' => 'string', 'example' => 'event-b798157b-40a2-4388-b578-71fb897103**-**', 'title' => ''], + 'Active' => ['description' => 'The number of running instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'Succeeded' => ['description' => 'The number of instances that are successfully run.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + 'Failed' => ['description' => 'The number of instances that failed to run.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'StartTime' => ['description' => 'The time when the job was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1657522800', 'title' => ''], + 'CompletionTime' => ['description' => 'The time when the job was executed.', 'type' => 'integer', 'format' => 'int64', 'example' => '1657522839', 'title' => ''], + 'Message' => ['description' => 'The returned message. Take note of the following rules:'."\n" + ."\n" + .'- If the call is successful, **success** is returned.'."\n" + ."\n" + .'- If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'State' => ['description' => 'The status of the job. Valid values:'."\n" + ."\n" + .'- **0**: The job is not executed.'."\n" + ."\n" + .'- **1**: The job was executed.'."\n" + ."\n" + .'- **2**: The job failed to be executed.'."\n" + ."\n" + .'- **3**: The job is being executed.', 'type' => 'string', 'example' => '1', 'title' => ''], + ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the tags were removed. Valid values:'."\n" - ."\n" - .'* **true**: The tags were removed.'."\n" - .'* **false**: The tags failed to be removed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code returned. Take note of the following rules:'."\n" + ."\n" + .'- **ErrorCode** is not returned if the request succeeds.'."\n" + ."\n" + .'- **ErrorCode** is returned if the request fails. For more information, see the "**Error codes**" section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Duplicate.TagKey', - 'errorMessage' => 'The TagKey contains duplicate keys.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidResourceType.NotFound', - 'errorMessage' => 'The specified resource type is not supported.', - ], - [ - 'errorCode' => 'InvalidParameter.TagKey', - 'errorMessage' => 'The specified TagKey is invalid.', - ], - [ - 'errorCode' => 'InvalidParameter.TagValue', - 'errorMessage' => 'The specified TagValue is invalid.', - ], - [ - 'errorCode' => 'NumberExceed.Tags', - 'errorMessage' => 'The specified parameter Tags count exceed.', - ], - [ - 'errorCode' => 'NumberExceed.ResourceIds', - 'errorMessage' => 'The number of resource IDs cannot exceed 50.', - ], - [ - 'errorCode' => 'Invalid.Param.Tag.Scope', - 'errorMessage' => 'The specified parameter is invalid: tag scope.', - ], - [ - 'errorCode' => 'No.Permission', - 'errorMessage' => 'The account has no permission.', - ], + 404 => [ + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": true,\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>true</Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UntagResourcesResponse>","errorExample":""}]', - 'title' => 'UntagResources', - 'summary' => 'Removes tags from resources.', - ], - 'TagResources' => [ - 'path' => '/tags', - 'methods' => [ - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"53F15A18-8079-5992-810C-0211A5AE****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0b1639af16575057857241351e****\\",\\n \\"Data\\": {\\n \\"JobId\\": \\"event-b798157b-40a2-4388-b578-71fb897103**-**\\",\\n \\"Active\\": 0,\\n \\"Succeeded\\": 3,\\n \\"Failed\\": 0,\\n \\"StartTime\\": 1657522800,\\n \\"CompletionTime\\": 1657522839,\\n \\"Message\\": \\"success\\",\\n \\"State\\": \\"1\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeJobStatus', + 'summary' => 'Queries the status of a job.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:28.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeJobStatus'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DescribeJobStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeNamespace' => [ + 'path' => '/pop/v1/paas/namespace', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '6393', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6338', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], - ], - [ - 'name' => 'ResourceType', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The type of the resource. Set the value to `application`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'application', - ], - ], - [ - 'name' => 'Tags', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The tag in the format of a key-value pair. This parameter is required if you do not specify the **ResourceIds** parameter. The following parameters are involved:'."\n" - ."\n" - .'* **key**: the tag key. It cannot exceed 128 characters in length.'."\n" - .'* **value**: the tag value. It cannot exceed 128 characters in length.'."\n" - ."\n" - .'Tag keys and tag values are case-sensitive. If you specify multiple tags, the system adds all the tags to the specified resources. Each tag key on a resource can have only one tag value. If you create a tag that has the same key as an existing tag, the value of the existing tag is overwritten.'."\n" - ."\n" - .'Tag keys and tag values cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"key":"k1","value":"v1"}]', - ], + 'name' => 'NamespaceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the namespace. The information about the default namespace cannot be queried or modified. The default namespace cannot be deleted.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'ResourceIds', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The IDs of resources. Separate multiple resource IDs with comma (,). This parameter is required if you do not specify the **Tags** parameter.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '["d42921c4-5433-4abd-8075-0e536f8b****"]', - ], + 'name' => 'NameSpaceShortId', + 'in' => 'query', + 'schema' => ['description' => 'The short ID of the namespace. You do not need to specify a region ID. The value of this parameter can be up to 20 characters in length and can contain only lowercase letters and digits.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The response parameters.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned. Valid values:'."\n" + ."\n" + .'- success: If the call is successful, **success** is returned.'."\n" + ."\n" + .'- An error code: If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a981dd515966966104121683d****', 'title' => ''], 'Data' => [ - 'description' => 'Indicates that the operation was successful.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'description' => 'The information about the namespace.', + 'type' => 'object', + 'properties' => [ + 'NamespaceDescription' => ['description' => 'The description of the namespace.', 'type' => 'string', 'example' => 'desc', 'title' => ''], + 'NamespaceId' => ['description' => 'The ID of the namespace. The information about the default namespace cannot be queried or modified. The default namespace cannot be deleted.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'NamespaceName' => ['description' => 'The name of the namespace.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'NameSpaceShortId' => ['description' => 'The short ID of the namespace.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'EnableMicroRegistration' => ['description' => 'Indicates whether the SAE built-in registry is enabled. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether tags were added to the specified resources. Valid values:'."\n" - ."\n" - .'* **true**: The tags were added.'."\n" - .'* **false**: The tags failed to be added.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code returned. Take note of the following rules:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- The **ErrorCode** parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the information about the namespace was queried successfully. Valid values:'."\n" + ."\n" + .'- **true**: The information was queried.'."\n" + ."\n" + .'- **false**: The image failed to be found.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Duplicate.TagKey', - 'errorMessage' => 'The TagKey contains duplicate keys.', - ], - [ - 'errorCode' => 'InvalidParameter.TagKey', - 'errorMessage' => 'The specified TagKey is invalid.', - ], - [ - 'errorCode' => 'InvalidParameter.TagValue', - 'errorMessage' => 'The specified TagValue is invalid.', - ], - [ - 'errorCode' => 'Missing.TagKey', - 'errorMessage' => 'You must specify TagKey.', - ], - [ - 'errorCode' => 'NumberExceed.Tags', - 'errorMessage' => 'The maximum number of tags is exceeded.', - ], - [ - 'errorCode' => 'InvalidResourceType.NotFound', - 'errorMessage' => 'The specified resource type is not supported.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'NumberExceed.ResourceIds', - 'errorMessage' => 'The number of resource IDs cannot exceed 50.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"NamespaceDescription\\": \\"desc\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"NamespaceName\\": \\"name\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"NameSpaceShortId\\": \\"test\\",\\n \\"EnableMicroRegistration\\": true\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeNamespace', + 'summary' => 'Queries the details of a namespace.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-01-04T08:04:03.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-29T03:14:27.000Z', 'description' => 'Request parameters changed, Response parameters changed, Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": true,\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>true</Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</TagResourcesResponse>","errorExample":""}]', - 'title' => 'TagResources', - 'summary' => 'Adds tags to resources.', ], - 'CreateConfigMap' => [ - 'path' => '/pop/v1/sam/configmap/configMap', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeNamespaceList' => [ + 'path' => '/pop/v1/sam/namespace/describeNamespaceList', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '6305', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6339', + 'abilityTreeNodes' => ['FEATUREsaeBRTWZ3'], ], 'parameters' => [ [ - 'name' => 'Name', + 'name' => 'ContainCustom', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the ConfigMap. The name can contain digits, letters, and underscores (_). The name must start with a letter.', - 'type' => 'string', - 'required' => true, - 'example' => 'name', - ], + 'schema' => ['description' => 'Specifies whether to return custom namespaces. Valid values:'."\n" + ."\n" + .'- **true**: The system returns custom namespaces.'."\n" + ."\n" + .'- **false**: The system does not return custom namespaces.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'NamespaceId', + 'name' => 'HybridCloudExclude', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace to which the ConfigMap instance belongs.', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'Indicates whether hybrid cloud namespaces are excluded. Valid values:'."\n" + ."\n" + .'- **true**: Hybrid cloud namespaces are excluded.'."\n" + ."\n" + .'- **false**: Hybrid cloud namespaces are included.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - [ - 'name' => 'Data', - 'in' => 'body', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the namespace to which the ConfigMap instance belongs.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '30375C38-F4ED-4135-A0AE-5C75DC7F****', 'title' => ''], + 'Message' => ['description' => 'The returned message. Valid values:'."\n" + ."\n" + .'- success: If the call is successful, **success** is returned.'."\n" + ."\n" + .'- An error code: If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => 'ac1a0b2215622920113732501e****', 'title' => ''], 'Data' => [ - 'description' => 'The ConfigMap data.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '{"env.shell": "/bin/sh"}', + 'description' => 'The list of namespaces.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about namespaces.', + 'type' => 'object', + 'properties' => [ + 'VpcId' => ['description' => 'The ID of the virtual private cloud (VPC).', 'type' => 'string', 'example' => 'vpc-2ze0i263cnn311nvj****', 'title' => ''], + 'VSwitchId' => ['description' => 'The ID of the vSwitch.', 'type' => 'string', 'example' => 'vsw-2ze559r1z1bpwqxwp****', 'title' => ''], + 'Custom' => ['description' => 'Indicates whether custom namespaces are returned. Valid values:'."\n" + ."\n" + .'- **true**: Custom namespaces are returned.'."\n" + ."\n" + .'- **false**: Custom namespaces are not returned.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'AgentInstall' => ['description' => 'The command that was run to install the agent.', 'type' => 'string', 'example' => 'http://edas-bj.oss-cn-beijing-internal.aliyuncs.com/test/install.sh', 'title' => ''], + 'NamespaceId' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'HybridCloudEnable' => ['description' => 'Indicates whether hybrid cloud namespaces are excluded. Valid values:'."\n" + ."\n" + .'- **true**: Hybrid cloud namespaces are excluded.'."\n" + ."\n" + .'- **false**: Hybrid cloud namespaces are included.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The ID of the security group.', 'type' => 'string', 'example' => 'sg-wz969ngg2e49q5i4****', 'title' => ''], + 'Current' => ['description' => 'This parameter is no longer valid.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'NamespaceName' => ['description' => 'The name of the namespace.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'RegionId' => ['description' => 'The region to which the namespace belongs.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'NameSpaceShortId' => ['description' => 'The short ID of the namespace.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- If the call is successful, the **ErrorCode** parameter is not returned.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the list of namespaces was queried. Valid values:'."\n" + ."\n" + .'- **true**: The list was queried.'."\n" + ."\n" + .'- **false**: The list failed to be queried.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'required' => false, - 'example' => '{"env.home": "/root", "env.shell": "/bin/sh"}', + 'title' => '', + 'example' => '', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30375C38-F4ED-4135-A0AE-5C75DC7F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"Data\\": [\\n {\\n \\"VpcId\\": \\"vpc-2ze0i263cnn311nvj****\\",\\n \\"VSwitchId\\": \\"vsw-2ze559r1z1bpwqxwp****\\",\\n \\"Custom\\": true,\\n \\"AgentInstall\\": \\"http://edas-bj.oss-cn-beijing-internal.aliyuncs.com/test/install.sh\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"HybridCloudEnable\\": false,\\n \\"SecurityGroupId\\": \\"sg-wz969ngg2e49q5i4****\\",\\n \\"Current\\": false,\\n \\"NamespaceName\\": \\"test\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"NameSpaceShortId\\": \\"test\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeNamespaceList', + 'summary' => 'Queries a list of namespaces.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-29T03:14:27.000Z', 'description' => 'Response parameters changed, Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNamespaceList'], + ], + ], + 'ramActions' => [ [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => 'The key-value pairs of the ConfigMap in the JSON format. Format:'."\n" - ."\n" - .'{"Data":"{"k1":"v1", "k2":"v2"}"}'."\n" - ."\n" - .'k specifies a key and v specifies a value. For more information, see [Manage a Kubernetes ConfigMap](~~171326~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test-desc', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeNamespaceList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + ], + 'DescribeNamespaceResources' => [ + 'path' => '/pop/v1/sam/namespace/describeNamespaceResources', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '6340', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], + ], + 'parameters' => [ + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the namespace. The format is `Region ID:Namespace name`. This parameter is retained for backward compatibility. If you specify this parameter, `NameSpaceShortId` is ignored. We recommend that you use `NameSpaceShortId` to simplify the request.', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai:test', 'title' => ''], + ], + [ + 'name' => 'NameSpaceShortId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the namespace. The region ID is not included. We recommend that you use this parameter.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The description. The description must be 1 to 255 characters in length, and cannot contain spaces.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message. Valid values:'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to query the details of the call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'ConfigMapId' => [ - 'description' => 'The returned result.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], + 'VpcId' => ['description' => 'The VPC ID.', 'type' => 'string', 'example' => 'vpc-2ze0i263cnn311nvj****', 'title' => ''], + 'LastChangeOrderId' => ['description' => 'The release order ID.', 'type' => 'string', 'example' => 'afedb3c4-63f8-4a3d-aaa3-2c30363f****', 'title' => ''], + 'BelongRegion' => ['description' => 'The region of the namespace.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-shangha:test', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-wz969ngg2e49q5i4****', 'title' => ''], + 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => 'test@aliyun.com', 'title' => ''], + 'NamespaceName' => ['description' => 'The namespace name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'LastChangeOrderStatus' => ['description' => 'The status of the last release order. Valid values:'."\n" + ."\n" + .'- **READY**: The release order is ready.'."\n" + ."\n" + .'- **RUNNING**: The release order is running.'."\n" + ."\n" + .'- **SUCCESS**: The release order was successful.'."\n" + ."\n" + .'- **FAIL**: The release order failed.'."\n" + ."\n" + .'- **ABORT**: The release order was aborted.'."\n" + ."\n" + .'- **WAIT\\_BATCH\\_CONFIRM**: The release order is waiting for manual batch confirmation.'."\n" + ."\n" + .'- **AUTO\\_BATCH\\_WAIT**: The release order is in an automatic batch-wait state.'."\n" + ."\n" + .'- **SYSTEM\\_FAIL**: A system error occurred.'."\n" + ."\n" + .'- **WAIT\\_APPROVAL**: The release order is pending approval.'."\n" + ."\n" + .'- **APPROVED**: The release order is approved and pending execution.', 'type' => 'string', 'example' => 'SUCCESS', 'title' => ''], + 'VpcName' => ['description' => 'The VPC name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'VSwitchId' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'example' => 'vsw-2ze559r1z1bpwqxwp****', 'title' => ''], + 'Description' => ['description' => 'The description of the namespace.', 'type' => 'string', 'example' => 'decs', 'title' => ''], + 'LastChangeOrderRunning' => ['description' => 'Indicates whether a release order is running in the namespace. Valid values:'."\n" + ."\n" + .'- **true**: A release order is running.'."\n" + ."\n" + .'- **false**: No release order is running.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'AppCount' => ['description' => 'The number of applications.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'VSwitchName' => ['description' => 'The vSwitch name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'NotificationExpired' => ['description' => 'Indicates whether the notification for the release order has expired. Valid values:'."\n" + ."\n" + .'- **true**: The notification has expired.'."\n" + ."\n" + .'- **false**: The notification has not expired.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'TenantId' => ['description' => 'The tenant ID of the SAE namespace.', 'type' => 'string', 'example' => '838cad95-973f-48fe-830b-2a8546d7****', 'title' => ''], + 'JumpServerAppId' => ['description' => 'The ID of the jump server application.', 'type' => 'string', 'example' => '5ec46468-6b26-4a3c-9f7c-bf88761a****', 'title' => ''], + 'JumpServerIp' => ['description' => 'The IP address of the jump server.', 'type' => 'string', 'example' => '120.78.XXX.XX', 'title' => ''], + 'NameSpaceShortId' => ['description' => 'The short-format namespace ID.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ApmJavaAgentVersion' => ['description' => 'The version of the APM Java agent.', 'type' => 'string', 'title' => '', 'example' => ''], + 'SlsConfigs' => ['description' => 'The configuration for collecting logs to Simple Log Service (SLS).'."\n" + ."\n" + .'- To use SLS resources that are automatically created by SAE: `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" + ."\n" + .'- To use custom SLS resources: `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" + ."\n" + .'The configuration includes the following parameters:'."\n" + ."\n" + .'- **projectName**: The project name in SLS.'."\n" + ."\n" + .'- **logDir**: The log path.'."\n" + ."\n" + .'- **logType**: The log type. **stdout** indicates the standard output of the container. Only one stdout entry is allowed. If you omit this parameter, file logs are collected.'."\n" + ."\n" + .'- **logstoreName**: The Logstore name in SLS.'."\n" + ."\n" + .'- **logtailName**: The Logtail name in SLS. If you omit this parameter, SAE creates a Logtail.'."\n" + ."\n" + .'You do not need to set this parameter if the SLS log collection configuration is unchanged for subsequent deployments. To disable log collection, set this parameter to an empty string ("").', 'type' => 'string', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The ID of the ConfigMap that was created.'."\n", - 'type' => 'string', - 'example' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - ], - 'Code' => [ - 'description' => 'Empty', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. This parameter is returned only if the request fails. For more information, see the **Error codes** section of this topic.'."\n" + ."\n" + .'- A successful request does not return the **ErrorCode** field.'."\n" + ."\n" + .'- A failed request returns the **ErrorCode** field. For more information, see the list of **error codes** in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: The request was invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the namespace resources were queried successfully.'."\n" + ."\n" + .'- **true**: The query was successful.'."\n" + ."\n" + .'- **false**: The query failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'Exceed.ConfigMap', - 'errorMessage' => 'Too many ConfigMap objects have been created in the namespace.', - ], - [ - 'errorCode' => 'TooMany.Configmap', - 'errorMessage' => 'The maximum number of keys or the maximum length of Configmap is exceeded.', - ], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], ], - 500 => [ - [ - 'errorCode' => 'OperationFailed.RPCError', - 'errorMessage' => 'Internal RPC request processing error.', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"VpcId\\": \\"vpc-2ze0i263cnn311nvj****\\",\\n \\"LastChangeOrderId\\": \\"afedb3c4-63f8-4a3d-aaa3-2c30363f****\\",\\n \\"BelongRegion\\": \\"cn-shanghai\\",\\n \\"NamespaceId\\": \\"cn-shangha:test\\",\\n \\"SecurityGroupId\\": \\"sg-wz969ngg2e49q5i4****\\",\\n \\"UserId\\": \\"test@aliyun.com\\",\\n \\"NamespaceName\\": \\"test\\",\\n \\"LastChangeOrderStatus\\": \\"SUCCESS\\",\\n \\"VpcName\\": \\"test\\",\\n \\"VSwitchId\\": \\"vsw-2ze559r1z1bpwqxwp****\\",\\n \\"Description\\": \\"decs\\",\\n \\"LastChangeOrderRunning\\": true,\\n \\"AppCount\\": 1,\\n \\"VSwitchName\\": \\"test\\",\\n \\"NotificationExpired\\": true,\\n \\"TenantId\\": \\"838cad95-973f-48fe-830b-2a8546d7****\\",\\n \\"JumpServerAppId\\": \\"5ec46468-6b26-4a3c-9f7c-bf88761a****\\",\\n \\"JumpServerIp\\": \\"120.78.XXX.XX\\",\\n \\"NameSpaceShortId\\": \\"test\\",\\n \\"ApmJavaAgentVersion\\": \\"\\",\\n \\"SlsConfigs\\": \\"\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeNamespaceResources', + 'summary' => 'Queries the resources in a namespace.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-11-04T07:28:56.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-10-28T12:49:05.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-29T03:14:27.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNamespaceResources'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeNamespaceResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ConfigMapId\\": 1\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateConfigMapResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ConfigMapId>1</ConfigMapId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</CreateConfigMapResponse>","errorExample":""}]', - 'title' => 'CreateConfigMap', - 'summary' => 'Create a ConfigMap in a namespace.', ], - 'DeleteConfigMap' => [ - 'path' => '/pop/v1/sam/configmap/configMap', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeNamespaces' => [ + 'path' => '/pop/v1/paas/namespaces', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '6312', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6341', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'ConfigMapId', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ConfigMap that you want to delete. You can call the [ListNamespacedConfigMaps](~~176917~~) operation to obtain the ID of a ConfigMap.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page. Valid values: 0 to 10000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The message returned by the system.'."\n" + ."\n" + .'- Returns **success** if the request is successful.'."\n" + ."\n" + .'- Returns a specific error message if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that can be used to query the details of a call.', 'type' => 'string', 'example' => '0a981dd515966966104121683d****', 'title' => ''], 'Data' => [ - 'description' => 'The returned result.'."\n", + 'description' => 'The details of the namespaces.', 'type' => 'object', 'properties' => [ - 'ConfigMapId' => [ - 'description' => 'The ID of the deleted ConfigMap.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of namespaces.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned on each page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + 'Namespaces' => [ + 'description' => 'The list of namespaces.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of a namespace.', + 'type' => 'object', + 'properties' => [ + 'NamespaceDescription' => ['description' => 'The description of the namespace.', 'type' => 'string', 'example' => 'desc', 'title' => ''], + 'AccessKey' => ['description' => 'The access key ID for Application Configuration Management (ACM), used to manage data in an ACM namespace. For more information, see [Differences between an Alibaba Cloud access key and an ACM-specific access key](~~68941~~).', 'type' => 'string', 'example' => 'b34dbe3315c64f9f99b58ea447ec****', 'title' => ''], + 'SecretKey' => ['description' => 'The secret access key for Application Configuration Management (ACM), used to manage data in an ACM namespace. For more information, see [Differences between an Alibaba Cloud access key and an ACM-specific access key](~~68941~~).', 'type' => 'string', 'example' => 'G/w6sseK7+nb3S6HBmANDBMD****', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID. The default namespace cannot be queried, modified, or deleted.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'AddressServerHost' => ['description' => 'The service endpoint.', 'type' => 'string', 'example' => 'addr-bj-internal.edas.aliyun.com', 'title' => ''], + 'NamespaceName' => ['description' => 'The name of the namespace.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'TenantId' => ['description' => 'The tenant ID.', 'type' => 'string', 'example' => '838cad95-973f-48fe-830b-2a8546d7****', 'title' => ''], + 'RegionId' => ['description' => 'The ID of the region. For example, \'cn-beijing\' indicates China (Beijing).', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'NameSpaceShortId' => ['description' => 'The short ID of the namespace.', 'type' => 'string', 'example' => 'test', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the ConfigMap was deleted. Valid values:'."\n" - ."\n" - .'* **true**: The ConfigMap was deleted.'."\n" - .'* **false**: The ConfigMap failed to be deleted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is returned only if the request fails.'."\n" + ."\n" + .'- For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: The request was invalid.'."\n" + ."\n" + .'- **5xx**: A server-side error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'MountConflict.ConfigMap', - 'errorMessage' => 'Conflict detected for ConfigMap path %s.', - ], - [ - 'errorCode' => 'NotFound.ConfigMap', - 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'NotFound.ConfigMapKey', - 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'DeleteFail.ConfigMapReferenced', - 'errorMessage' => 'Failed to delete the ConfigMap. It has been used by other applications.', - ], - ], - 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', - ], - ], - 500 => [ - [ - 'errorCode' => 'OperationFailed.RPCError', - 'errorMessage' => 'Internal RPC request processing error.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 100,\\n \\"PageSize\\": 10,\\n \\"Namespaces\\": [\\n {\\n \\"NamespaceDescription\\": \\"desc\\",\\n \\"AccessKey\\": \\"b34dbe3315c64f9f99b58ea447ec****\\",\\n \\"SecretKey\\": \\"G/w6sseK7+nb3S6HBmANDBMD****\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"AddressServerHost\\": \\"addr-bj-internal.edas.aliyun.com\\",\\n \\"NamespaceName\\": \\"name\\",\\n \\"TenantId\\": \\"838cad95-973f-48fe-830b-2a8546d7****\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"NameSpaceShortId\\": \\"test\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeNamespaces', + 'summary' => 'Queries a list of namespaces.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-29T03:14:27.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-10-13T13:03:31.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-02-21T04:50:52.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeNamespaces', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ConfigMapId\\": 1\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteConfigMapResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ConfigMapId>1</ConfigMapId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DeleteConfigMapResponse>","errorExample":""}]', - 'title' => 'DeleteConfigMap', - 'summary' => 'Deletes a ConfigMap.', ], - 'UpdateConfigMap' => [ - 'path' => '/pop/v1/sam/configmap/configMap', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribePipeline' => [ + 'summary' => 'View batch information', + 'path' => '/pop/v1/sam/changeorder/DescribePipeline', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'operationType' => 'read', 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6400', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6343', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'ConfigMapId', + 'name' => 'PipelineId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the batch. You can call the [DescribeChangeOrder](~~126617~~) operation to obtain the ID.', 'type' => 'string', 'required' => true, 'example' => '917660ba-5092-44ca-b8e0-80012c96****', 'title' => ''], ], - [ - 'name' => 'Data', - 'in' => 'body', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The response body of the batch information.', 'type' => 'object', 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '559B4247-C41C-4D9E-B866-B55D360B****', 'title' => ''], + 'Message' => ['description' => 'The message returned for the operation.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0be3e0c316390414649128666e****', 'title' => ''], 'Data' => [ - 'description' => '', - 'type' => 'string', - 'required' => true, - 'example' => '{"env.shell": "/bin/sh"}', + 'description' => 'The batch information.', + 'type' => 'object', + 'properties' => [ + 'ShowBatch' => ['description' => 'Indicates whether to start processing the next batch. Valid values:'."\n" + ."\n" + .'- **false**: indicates that the next batch cannot be processed yet.'."\n" + ."\n" + .'- **true**: indicates that the next batch can be processed now.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'PipelineStatus' => ['description' => 'The batch status. Valid values:'."\n" + ."\n" + .'- **0**: The batch is prepared for processing.'."\n" + ."\n" + .'- **1**: The task is being executed.'."\n" + ."\n" + .'- **2**: successful'."\n" + ."\n" + .'- **3**: The processing failed in this stage.'."\n" + ."\n" + .'- **6**: The batch processing was terminated.'."\n" + ."\n" + .'- **10**: The batch could not be processed due to a system exception.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'CurrentStageId' => ['description' => 'The ID of the batch processing stage.', 'type' => 'string', 'example' => 'c3a55592-4c30-4d84-ac2d-e98c18ec****', 'title' => ''], + 'PipelineName' => ['description' => 'The name of the batch.', 'type' => 'string', 'example' => 'Batch 1 change', 'title' => ''], + 'StageList' => [ + 'description' => 'The list of batch processing stages.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the stage.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the batch processing stage. Valid values:'."\n" + ."\n" + .'- **0**: The batch is prepared for this processing stage.'."\n" + ."\n" + .'- **1**: The task is being executed.'."\n" + ."\n" + .'- **2**: successful'."\n" + ."\n" + .'- **3**: The processing failed in this stage.'."\n" + ."\n" + .'- **6**: The processing stage was terminated.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'StageId' => ['description' => 'The ID of the stage.', 'type' => 'string', 'example' => 'c3a55592-4c30-4d84-ac2d-e98c18ec****', 'title' => ''], + 'ExecutorType' => ['description' => 'The execution type of the stage. Valid values:'."\n" + ."\n" + .'- **0**: in sequence.'."\n" + ."\n" + .'- **1**: in parallel.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'TaskList' => [ + 'description' => 'The list of task statuses.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the task status.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The task status. Valid values:'."\n" + ."\n" + .'- **0**: The task is prepared for execution.'."\n" + ."\n" + .'- **1**: The task is being executed.'."\n" + ."\n" + .'- **2**: successful'."\n" + ."\n" + .'- **3**: The task could not be executed.'."\n" + ."\n" + .'- **5**: The task is pending retry.'."\n" + ."\n" + .'- **6**: The task was terminated.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'StageId' => ['description' => 'The ID of the stage.', 'type' => 'string', 'example' => 'c3a55592-4c30-4d84-ac2d-e98c18ec****', 'title' => ''], + 'ErrorMessage' => ['description' => 'The error message returned when the task could not be executed. If the task is successfully executed, this parameter is not returned.', 'type' => 'string', 'example' => 'EDAS-10022 ', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code returned when the task could not be executed. If the task is successfully executed, this parameter is not returned.', 'type' => 'string', 'example' => 'EDAS-10022', 'title' => ''], + 'TaskName' => ['description' => 'The name of the task.', 'type' => 'string', 'example' => 'Initialize environment', 'title' => ''], + 'ErrorIgnore' => ['description' => 'Indicates whether to execute the subsequent tasks when the task failed. Valid values:'."\n" + ."\n" + .'- **0**: The subsequent tasks cannot be executed.'."\n" + ."\n" + .'- **1**: The subsequent tasks can be executed.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Message' => ['description' => 'The returned message indicating the task execution result.', 'type' => 'string', 'example' => 'init Namespace success', 'title' => ''], + 'ShowManualIgnore' => ['description' => 'Indicates whether a running task can be manually skipped. Valid values:'."\n" + ."\n" + .'- **true**: The running task can be skipped.'."\n" + ."\n" + .'- **false**: The zone does not allow you to change the network type of an ApsaraDB for Redis instance from classic network to VPC.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'TaskId' => ['description' => 'The ID of the task.', 'type' => 'string', 'example' => 'bef0122f-de9a-4ab0-8223-b88bf8ad****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'StageName' => ['description' => 'The name of the stage.', 'type' => 'string', 'example' => 'Deployment application', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'NextPipelineId' => ['description' => 'The ID of the next batch.', 'type' => 'string', 'example' => 'b77b1c98-5772-4f05-95fc-c7bee5fa****', 'title' => ''], + 'PipelineId' => ['description' => 'The ID of the batch.', 'type' => 'string', 'example' => '917660ba-5092-44ca-b8e0-80012c96****', 'title' => ''], + 'CoStatus' => ['description' => 'The status of the change order for the batch.', 'type' => 'string', 'example' => 'Execution succeeded', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'ErrorCode' => ['description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the batch information was obtained. Valid values:'."\n" + ."\n" + .'- **true**: The information was queried.'."\n" + ."\n" + .'- **false**: The image failed to be found.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'required' => false, - 'example' => '{"env.home": "/root", "env.shell": "/bin/sh"}', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NoPermission', 'errorMessage' => 'Resource no permission', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"559B4247-C41C-4D9E-B866-B55D360B****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0be3e0c316390414649128666e****\\",\\n \\"Data\\": {\\n \\"ShowBatch\\": false,\\n \\"PipelineStatus\\": 2,\\n \\"CurrentStageId\\": \\"c3a55592-4c30-4d84-ac2d-e98c18ec****\\",\\n \\"PipelineName\\": \\"Batch 1 change\\",\\n \\"StageList\\": [\\n {\\n \\"Status\\": 2,\\n \\"StageId\\": \\"c3a55592-4c30-4d84-ac2d-e98c18ec****\\",\\n \\"ExecutorType\\": 0,\\n \\"TaskList\\": [\\n {\\n \\"Status\\": 2,\\n \\"StageId\\": \\"c3a55592-4c30-4d84-ac2d-e98c18ec****\\",\\n \\"ErrorMessage\\": \\"EDAS-10022 \\",\\n \\"ErrorCode\\": \\"EDAS-10022\\",\\n \\"TaskName\\": \\"Initialize environment\\",\\n \\"ErrorIgnore\\": 0,\\n \\"Message\\": \\"init Namespace success\\",\\n \\"ShowManualIgnore\\": false,\\n \\"TaskId\\": \\"bef0122f-de9a-4ab0-8223-b88bf8ad****\\"\\n }\\n ],\\n \\"StageName\\": \\"Deployment application\\"\\n }\\n ],\\n \\"NextPipelineId\\": \\"b77b1c98-5772-4f05-95fc-c7bee5fa****\\",\\n \\"PipelineId\\": \\"917660ba-5092-44ca-b8e0-80012c96****\\",\\n \\"CoStatus\\": \\"Execution succeeded\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribePipeline', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:24.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePipeline'], + ], + ], + 'ramActions' => [ [ - 'name' => 'Description', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'test-desc', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribePipeline', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + 'translator' => 'manual', + ], + 'DescribeRegions' => [ + 'path' => '/pop/v1/paas/regionConfig', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '6344', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], + ], + 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The returned information.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The returned result.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The ID of the ConfigMap instance.'."\n", + 'Message' => ['description' => 'Additional information about the response.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'DDE85827-B0B3-4E56-86E8-17C42009****', 'title' => ''], + 'Regions' => [ 'type' => 'object', + 'itemNode' => true, 'properties' => [ - 'ConfigMapId' => [ - 'description' => 'The returned error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => '1', + 'Region' => [ + 'description' => 'A list of regions.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details for a region.', + 'type' => 'object', + 'properties' => [ + 'LocalName' => ['description' => 'The name of the region. Valid values:'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **China (Hangzhou)**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **China (Shanghai)**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **China (Beijing)**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **China (Zhangjiakou)**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **China (Shenzhen)**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **China (Guangzhou)**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **China (Hong Kong)**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **Singapore**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **US (Silicon Valley)**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **China (Hong Kong)**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **Singapore**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **Indonesia (Jakarta)**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **Japan (Tokyo)**'."\n" + ."\n" + .'</props>', 'type' => 'string', 'example' => 'China (Hong Kong)', 'title' => ''], + 'RegionEndpoint' => ['description' => 'The endpoint of the region. Valid values:'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **sae.cn-hangzhou.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **sae.cn-shanghai.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **sae.cn-beijing.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **sae.cn-zhangjiakou.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **sae.cn-shenzhen.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **sae.cn-guangzhou.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **sae.cn-hongkong.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **sae.ap-southeast-1.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **sae.us-west-1.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **sae.cn-hongkong.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **sae.ap-southeast-1.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **sae.ap-southeast-5.aliyuncs.com**'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **sae.ap-northeast-1.aliyuncs.com**'."\n" + ."\n" + .'</props>', 'type' => 'string', 'example' => 'sae.cn-hongkong.aliyuncs.com', 'title' => ''], + 'RegionId' => ['description' => 'The region ID. Valid values:'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **cn-hangzhou**: The China (Hangzhou) region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **cn-shanghai**: The China (Shanghai) region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **cn-beijing**: The China (Beijing) region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **cn-zhangjiakou**: The China (Zhangjiakou) region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **cn-shenzhen**: The China (Shenzhen) region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **cn-guangzhou**: The China (Guangzhou) region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **cn-hongkong**: The China (Hong Kong) region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **ap-southeast-1**: The Singapore region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="china">'."\n" + ."\n" + .'- **us-west-1**: The US (Silicon Valley) region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **cn-hongkong**: The China (Hong Kong) region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **ap-southeast-1**: The Singapore region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **ap-southeast-5**: The Indonesia (Jakarta) region.'."\n" + ."\n" + .'</props>'."\n" + ."\n" + .'<props="intl">'."\n" + ."\n" + .'- **ap-northeast-1**: The Japan (Tokyo) region.'."\n" + ."\n" + .'</props>', 'type' => 'string', 'example' => 'cn-hongkong', 'title' => ''], + 'RecommendZones' => [ + 'type' => 'object', + 'itemNode' => true, + 'properties' => [ + 'RecommendZone' => [ + 'description' => 'Recommended availability zones.', + 'type' => 'array', + 'items' => ['description' => 'The recommended availability zones. These are zones within a region with sufficient resources.'."\n" + ."\n" + .'- If the region has recommended availability zones: `"RecommendZone": ["cn-hongkong-b", "cn-hongkong-d", "cn-hongkong-c"]`'."\n" + ."\n" + .'- If the region has no recommended availability zones: `"RecommendZone": []`', 'type' => 'string', 'example' => 'cn-hongkong-b', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx:**: indicates that the call was successful.'."\n" - .'* **3xx**: indicates that the call was redirected.'."\n" - .'* **4xx**: indicates that the call failed.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'Indicates whether the ConfigMap instance was updated. Valid values:'."\n" - ."\n" - .'* **true**: The instance was updated.'."\n" - .'* **false**: The instance failed to be updated.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ 'description' => '', - 'type' => 'boolean', - 'example' => 'true', + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: Success.'."\n" + ."\n" + .'- **3xx**: Redirection.'."\n" + ."\n" + .'- **4xx**: Client error.'."\n" + ."\n" + .'- **5xx**: Server error.', 'type' => 'integer', 'format' => 'int32', 'example' => '200', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'NotFound.ConfigMap', - 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'TooMany.Configmap', - 'errorMessage' => 'The maximum number of keys or the maximum length of Configmap is exceeded.', - ], - ], - 500 => [ - [ - 'errorCode' => 'OperationFailed.RPCError', - 'errorMessage' => 'Internal RPC request processing error.', - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"DDE85827-B0B3-4E56-86E8-17C42009****\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"LocalName\\": \\"China (Hong Kong)\\",\\n \\"RegionEndpoint\\": \\"sae.cn-hongkong.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hongkong\\",\\n \\"RecommendZones\\": {\\n \\"RecommendZone\\": [\\n \\"cn-hongkong-b\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Code\\": 200\\n}","type":"json"}]', + 'title' => 'DescribeRegions', + 'summary' => 'Queries the available regions.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-11-25T11:21:54.000Z', 'description' => 'Response parameters changed, Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ConfigMapId\\": \\"1\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateConfigMapResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ConfigMapId>1</ConfigMapId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateConfigMapResponse>","errorExample":""}]', - 'title' => 'UpdateConfigMap', - 'summary' => 'Update a ConfigMap.', + 'ramActions' => [], ], - 'DescribeConfigMap' => [ - 'path' => '/pop/v1/sam/configmap/configMap', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeSecret' => [ + 'summary' => 'Queries the details of a Secret.', + 'path' => '/pop/v1/sam/secret/secret', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -17539,3405 +14465,2636 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6328', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'abilityTreeCode' => '159990', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'ConfigMapId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the ConfigMap whose details you want to query. You can call the [ListNamespacedConfigMaps](~~176917~~) operation to obtain the ID of a ConfigMap.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the namespace where the Secret resides. If the namespace is the default namespace, you need to only enter the region ID, such as `cn-beijing`.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test', 'title' => ''], + ], + [ + 'name' => 'SecretId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the Secret instance to be queried. You can call the [ListSecrets](~~466929~~) operation to view the IDs of Secrete instances.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '1000000000', 'minimum' => '1', 'example' => '16', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned. Valid values:'."\n" + ."\n" + .'- success: If the call is successful, **success** is returned.'."\n" + ."\n" + .'- An error code: If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned result.'."\n", + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The time when the ConfigMap was updated.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1593747274195', - ], - 'Data' => [ - 'description' => 'The key-value pairs of the ConfigMap. Format:'."\n" - ."\n" - .'{"k1":"v1", "k2":"v2"}'."\n" - ."\n" - .'k specifies a key and v specifies a value. For more information, see [Manage a Kubernetes ConfigMap](~~171326~~).'."\n", + 'NamespaceId' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'SecretId' => ['description' => 'The ID of the Secret instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '16', 'title' => ''], + 'SecretName' => ['description' => 'The name of the Secret instance.', 'type' => 'string', 'example' => 'registry-auth', 'title' => ''], + 'SecretType' => ['description' => 'The type of the Secret instance.', 'type' => 'string', 'example' => 'kubernetes.io/dockerconfigjson', 'title' => ''], + 'SecretData' => [ + 'description' => 'Secret key-value pair data.', 'type' => 'object', - 'example' => '{"k1":"v1","k2":"v2"}', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Description' => [ - 'description' => 'The description of the ConfigMap.'."\n", - 'type' => 'string', - 'example' => 'test-desc', - ], - 'CreateTime' => [ - 'description' => 'The time when the ConfigMap was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1593746835111', + 'additionalProperties' => ['description' => 'Secret key-value pair data.', 'type' => 'string', 'example' => '{".dockerconfigjson":"eyJhdXRocyI6eyJyZWdpc3RyeS12cGMuY24tYmVpamluZy5hbGl5dW5jcy5jb20iOnsidXNlcm5hbWUiOiJ1c2VybmFtZSIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJhdXRoIjoiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE9In0sInJlZ2lzdHJ5LmNuLWJlaWppbmcuYWxpeXVuY3MuY29tIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0="}', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'CreateTime' => ['description' => 'The time when the task was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1593746835111', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the task was updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '1593746835111', 'title' => ''], 'RelateApps' => [ - 'description' => 'The application that is associated with the ConfigMap.'."\n", + 'description' => 'The associated application.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The information about the application.', 'type' => 'object', 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test-app', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'f16b4000-9058-4c22-a49d-49a28f0b****', - ], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'f16b4000-9058-4c22-a49d-49a28f0b****', 'title' => ''], + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'test-app', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'ConfigMapId' => [ - 'description' => 'The ID of the ConfigMap.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Name' => [ - 'description' => 'The name of the ConfigMap.'."\n", - 'type' => 'string', - 'example' => 'test-configmap', + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the details of the ConfigMap were queried. Valid values:'."\n" - ."\n" - .'* **true**: The details were queried.'."\n" - .'* **false**: The details failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code returned. Valid values:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see **Error codes** in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the details of the Secret instance are successfully queried. Valid values:'."\n" + ."\n" + .'- **true**: The information was queried.'."\n" + ."\n" + .'- **false**: The image failed to be found.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'NotFound.ConfigMap', - 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'InvalidSecretId.NotFound', 'errorMessage' => 'The specified SecretId [%s] does not exist in our records.', 'description' => ''], ], 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', - ], + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"UpdateTime\\": 1593747274195,\\n \\"Data\\": {\\n \\"k1\\": \\"v1\\",\\n \\"k2\\": \\"v2\\"\\n },\\n \\"NamespaceId\\": \\"cn-hangzhou\\",\\n \\"Description\\": \\"test-desc\\",\\n \\"CreateTime\\": 1593746835111,\\n \\"RelateApps\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"f16b4000-9058-4c22-a49d-49a28f0b****\\"\\n }\\n ],\\n \\"ConfigMapId\\": 1,\\n \\"Name\\": \\"test-configmap\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeConfigMapResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <UpdateTime>1593747274195</UpdateTime>\\n <NamespaceId>cn-hangzhou</NamespaceId>\\n <Description>test-desc</Description>\\n <CreateTime>1593746835111</CreateTime>\\n <RelateApps>\\n <AppName>test-app</AppName>\\n <AppId>f16b4000-9058-4c22-a49d-49a28f0b****</AppId>\\n </RelateApps>\\n <ConfigMapId>1</ConfigMapId>\\n <Name>test-configmap</Name>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeConfigMapResponse>","errorExample":""}]', - 'title' => 'DescribeConfigMap', - 'summary' => 'Queries the details of a ConfigMap.', - ], - 'ListNamespacedConfigMaps' => [ - 'path' => '/pop/v1/sam/configmap/listNamespacedConfigMaps', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"SecretId\\": 16,\\n \\"SecretName\\": \\"registry-auth\\",\\n \\"SecretType\\": \\"kubernetes.io/dockerconfigjson\\",\\n \\"SecretData\\": {\\n \\"key\\": \\"{\\\\\\".dockerconfigjson\\\\\\":\\\\\\"eyJhdXRocyI6eyJyZWdpc3RyeS12cGMuY24tYmVpamluZy5hbGl5dW5jcy5jb20iOnsidXNlcm5hbWUiOiJ1c2VybmFtZSIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJhdXRoIjoiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE9In0sInJlZ2lzdHJ5LmNuLWJlaWppbmcuYWxpeXVuY3MuY29tIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0=\\\\\\"}\\"\\n },\\n \\"CreateTime\\": 1593746835111,\\n \\"UpdateTime\\": 1593746835111,\\n \\"RelateApps\\": [\\n {\\n \\"AppId\\": \\"f16b4000-9058-4c22-a49d-49a28f0b****\\",\\n \\"AppName\\": \\"test-app\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeSecret', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-11-22T13:28:09.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSecret'], + ], ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DescribeSecret', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DescribeSwimmingLane' => [ + 'summary' => 'Retrieves the details of a swimlane.', + 'path' => '/pop/v1/cas/gray/describeSwimmingLane', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '6377', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '221504', + 'abilityTreeNodes' => ['FEATUREsaeX255DA'], ], 'parameters' => [ [ 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'cn-hangzhou'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => 'The lane group ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2074', 'title' => ''], + ], + [ + 'name' => 'LaneId', + 'in' => 'query', + 'schema' => ['description' => 'The swimming lane ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '9637', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'title' => 'Schema of Response', + 'description' => 'The information returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned information. Valid values:'."\n" - ."\n" - .'* If the call is successful, **success** is returned.'."\n" - .'* If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '30375C38-F4ED-4135-A0AE-5C75DC7F****'], + 'Message' => ['description' => 'The message returned with the response.'."\n" + ."\n" + .'- **success** is returned if the request is successful.'."\n" + ."\n" + .'- An error code is returned if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to query the details of a call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned result.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'ConfigMaps' => [ - 'description' => 'The ConfigMap instances.'."\n", + 'LaneId' => ['description' => 'The ID of the lane.', 'type' => 'integer', 'format' => 'int64', 'example' => '9488', 'title' => ''], + 'LaneName' => ['description' => 'The name of the lane.', 'type' => 'string', 'example' => 'mse-test', 'title' => ''], + 'LaneTag' => ['description' => 'The tag of the lane.', 'type' => 'string', 'example' => '{"alicloud.service.tag":"g1"}', 'title' => ''], + 'Enable' => ['description' => 'Indicates whether the lane is enabled.'."\n" + ."\n" + .'- `true`: enabled'."\n" + ."\n" + .'- `false`: disabled', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'EnableRules' => ['description' => 'Indicates whether traffic rules are enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CanaryModel' => ['description' => 'The mode for the end-to-end canary release. Valid values:'."\n" + ."\n" + .'- `0`: content-based routing'."\n" + ."\n" + .'- `1`: percentage-based routing', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Apps' => [ + 'description' => 'A list of associated applications.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'An application that is associated with the lane.', 'type' => 'object', 'properties' => [ - 'UpdateTime' => [ - 'description' => 'The time when the instance was last modified.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1593760185111', - ], - 'Data' => [ - 'description' => 'The data of ConfigMap key-value pairs. Format:'."\n" - ."\n" - .'{"k1":"v1", "k2":"v2"}'."\n" - ."\n" - .'k specifies a key and v specifies a value. For more information, see [Manage and use configurations](~~171326~~).'."\n", + 'AppId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => '6b4c0f64-f679-4580-8105-91eac4******', 'title' => ''], + 'AppName' => ['description' => 'The name of the application.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'MseAppId' => ['description' => 'The ID of the MSE instance.', 'type' => 'string', 'example' => 'mse-cn-53y49******', 'title' => ''], + 'MseAppName' => ['description' => 'The name of the MSE instance.', 'type' => 'string', 'example' => 'sae-test', 'title' => ''], + 'mseNamespaceId' => ['description' => 'The ID of the MSE namespace.', 'type' => 'string', 'example' => '6733e538-d52f-48e6-91a4-192f91******', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'AppEntryRule' => [ + 'description' => 'The application entry rule.', + 'type' => 'object', + 'properties' => [ + 'Paths' => [ + 'description' => 'The request paths.', + 'type' => 'array', + 'items' => ['description' => 'A request path.', 'type' => 'string', 'example' => '/Path', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Percentage' => ['description' => 'The traffic percentage for percentage-based routing. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'ConditionJoiner' => ['description' => 'The logical operator that joins conditions. Valid values:'."\n" + ."\n" + .'- `AND`: All conditions must be met.'."\n" + ."\n" + .'- `OR`: At least one of the conditions must be met.', 'type' => 'string', 'example' => 'AND', 'title' => ''], + 'Conditions' => [ + 'description' => 'The match conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'A match condition.', 'type' => 'object', - 'example' => '{"k1":"v1","k2":"v2"}', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Description' => [ - 'description' => 'The description of the instance.'."\n", - 'type' => 'string', - 'example' => 'test-desc', - ], - 'CreateTime' => [ - 'description' => 'The time when the instance was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1593760185111', + 'properties' => [ + 'Type' => ['description' => 'The type of the parameter.', 'type' => 'string', 'example' => 'Header', 'title' => ''], + 'Name' => ['description' => 'The name of the parameter.', 'type' => 'string', 'example' => 't', 'title' => ''], + 'Condition' => ['description' => 'The match operator.', 'type' => 'string', 'example' => '==', 'title' => ''], + 'Value' => ['description' => 'The value to match.', 'type' => 'string', 'example' => 'g1', 'title' => ''], + 'Values' => [ + 'description' => 'The values to match.', + 'type' => 'array', + 'items' => ['description' => 'A value to match.', 'type' => 'string', 'example' => 'g1', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], - 'RelateApps' => [ - 'description' => 'The application that is associated with the instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test-app', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'f16b4000-9058-4c22-a49d-49a28f0b****', + 'title' => '', + 'example' => '', + ], + 'IndependentPercentageEnable' => ['description' => 'Indicates whether percentage-based canary release is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'PercentageByPath' => [ + 'description' => 'An object that maps paths to traffic percentages.', + 'type' => 'object', + 'additionalProperties' => ['description' => 'The traffic percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'MseGatewayEntryRule' => [ + 'description' => 'The entry rule for the MSE Gateway.', + 'type' => 'object', + 'properties' => [ + 'RouteIds' => [ + 'description' => 'A list of route IDs.', + 'type' => 'array', + 'items' => ['description' => 'A route ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '["1001","1002"]', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'Routes' => [ + 'description' => 'The route configurations.', + 'type' => 'array', + 'items' => [ + 'description' => 'A route configuration.', + 'type' => 'object', + 'properties' => [ + 'RouteId' => ['description' => 'The route ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '9504', 'title' => ''], + 'RouteName' => ['description' => 'The name of the route.', 'type' => 'string', 'example' => 'demo'."\n", 'title' => ''], + 'RoutePredicate' => [ + 'description' => 'The route predicate.', + 'type' => 'object', + 'properties' => [ + 'PathPredicate' => [ + 'description' => 'The path-based match rule.', + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The path.', 'type' => 'string', 'example' => '/Path', 'title' => ''], + 'Type' => ['description' => 'The match type.', 'type' => 'string', 'example' => 'Header', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'ConfigMapId' => [ - 'description' => 'The ID of the ConfigMap instance.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Name' => [ - 'description' => 'The name of the ConfigMap instance.'."\n", - 'type' => 'string', - 'example' => 'test-name', + 'title' => '', + 'example' => '', + ], + 'Percentage' => ['description' => 'The traffic percentage for the rule.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'Conditions' => [ + 'description' => 'The match conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'A match condition.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The type of the parameter.', 'type' => 'string', 'example' => 'Header', 'title' => ''], + 'Name' => ['description' => 'The name of the parameter.', 'type' => 'string', 'example' => 't', 'title' => ''], + 'Condition' => ['description' => 'The match operator.', 'type' => 'string', 'example' => '==', 'title' => ''], + 'Value' => ['description' => 'The value to match.', 'type' => 'string', 'example' => 'g1', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', + ], + 'PercentageByRoute' => [ + 'description' => 'An object that maps route IDs to traffic percentages.', + 'type' => 'object', + 'additionalProperties' => ['description' => 'The traffic percentage. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'IndependentPercentageEnable' => ['description' => 'Indicates whether percentage-based canary release is enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ConditionJoiner' => ['description' => 'The logical operator that joins conditions.', 'type' => 'string', 'example' => 'AND', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The returned error code. Valid values:'."\n" - ."\n" - .'- If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the call was successful.'."\n" - .'* **3xx**: indicates that the call was redirected.'."\n" - .'* **4xx**: indicates that the call failed.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the ConfigMap instances were obtained. Valid values:'."\n" - ."\n" - .'* **true**: The instances were obtained.'."\n" - .'* **false**: The instances failed to be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is returned only if the request fails.'."\n" + ."\n" + .'- For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned.'."\n" + ."\n" + .'- **2xx**: Success.'."\n" + ."\n" + .'- **3xx**: Redirection.'."\n" + ."\n" + .'- **4xx**: Client error.'."\n" + ."\n" + .'- **5xx**: Server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" + ."\n" + .'- **true**: The query was successful.'."\n" + ."\n" + .'- **false**: The query failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'MseGatewayRule.CreateFailed', 'errorMessage' => 'Create MSE Gateway rule failed.', 'description' => 'Failed to create an MSE microservices gateway route.'], + ['errorCode' => 'InternalApiError', 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', 'description' => ''], ], - 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30375C38-F4ED-4135-A0AE-5C75DC7F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"LaneId\\": 9488,\\n \\"LaneName\\": \\"mse-test\\",\\n \\"LaneTag\\": \\"{\\\\\\"alicloud.service.tag\\\\\\":\\\\\\"g1\\\\\\"}\\",\\n \\"Enable\\": true,\\n \\"EnableRules\\": true,\\n \\"CanaryModel\\": 0,\\n \\"Apps\\": [\\n {\\n \\"AppId\\": \\"6b4c0f64-f679-4580-8105-91eac4******\\",\\n \\"AppName\\": \\"test\\",\\n \\"MseAppId\\": \\"mse-cn-53y49******\\",\\n \\"MseAppName\\": \\"sae-test\\",\\n \\"mseNamespaceId\\": \\"6733e538-d52f-48e6-91a4-192f91******\\"\\n }\\n ],\\n \\"AppEntryRule\\": {\\n \\"Paths\\": [\\n \\"/Path\\"\\n ],\\n \\"Percentage\\": 50,\\n \\"ConditionJoiner\\": \\"AND\\",\\n \\"Conditions\\": [\\n {\\n \\"Type\\": \\"Header\\",\\n \\"Name\\": \\"t\\",\\n \\"Condition\\": \\"==\\",\\n \\"Value\\": \\"g1\\",\\n \\"Values\\": [\\n \\"g1\\"\\n ]\\n }\\n ],\\n \\"IndependentPercentageEnable\\": true,\\n \\"PercentageByPath\\": {\\n \\"key\\": 100\\n }\\n },\\n \\"MseGatewayEntryRule\\": {\\n \\"RouteIds\\": [\\n 0\\n ],\\n \\"Routes\\": [\\n {\\n \\"RouteId\\": 9504,\\n \\"RouteName\\": \\"demo\\\\n\\",\\n \\"RoutePredicate\\": {\\n \\"PathPredicate\\": {\\n \\"Path\\": \\"/Path\\",\\n \\"Type\\": \\"Header\\"\\n }\\n }\\n }\\n ],\\n \\"Percentage\\": 100,\\n \\"Conditions\\": [\\n {\\n \\"Type\\": \\"Header\\",\\n \\"Name\\": \\"t\\",\\n \\"Condition\\": \\"==\\",\\n \\"Value\\": \\"g1\\"\\n }\\n ],\\n \\"PercentageByRoute\\": {\\n \\"key\\": 100\\n },\\n \\"IndependentPercentageEnable\\": true,\\n \\"ConditionJoiner\\": \\"AND\\"\\n }\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeSwimmingLane', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:28.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeSwimmingLane', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ConfigMaps\\": [\\n {\\n \\"UpdateTime\\": 1593760185111,\\n \\"Data\\": {\\n \\"k1\\": \\"v1\\",\\n \\"k2\\": \\"v2\\"\\n },\\n \\"NamespaceId\\": \\"cn-hangzhou\\",\\n \\"Description\\": \\"test-desc\\",\\n \\"CreateTime\\": 1593760185111,\\n \\"RelateApps\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"f16b4000-9058-4c22-a49d-49a28f0b****\\"\\n }\\n ],\\n \\"ConfigMapId\\": 1,\\n \\"Name\\": \\"test-name\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListNamespacedConfigMapsResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ConfigMaps>\\n <UpdateTime>1593760185111</UpdateTime>\\n <NamespaceId>cn-hangzhou</NamespaceId>\\n <Description>test-desc</Description>\\n <CreateTime>1593760185111</CreateTime>\\n <RelateApps>\\n <AppName>test-app</AppName>\\n <AppId>f16b4000-9058-4c22-a49d-49a28f0b****</AppId>\\n </RelateApps>\\n <ConfigMapId>1</ConfigMapId>\\n <Name>test-name</Name>\\n </ConfigMaps>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListNamespacedConfigMapsResponse>","errorExample":""}]', - 'title' => 'ListNamespacedConfigMaps', - 'summary' => 'Queries the ConfigMap instances in a namespace.', ], - 'CreateGreyTagRoute' => [ - 'summary' => 'Creates a canary release rule for a Spring Cloud or Dubbo application.', - 'path' => '/pop/v1/sam/tagroute/greyTagRoute', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'DescribeWebApplication' => [ + 'summary' => 'Query web applications.', + 'path' => '/pop/v2/api/web/applications/{ApplicationId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'tags' => [], 'security' => [ [ 'AK' => [], ], ], - 'produces' => [], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '10251', - 'abilityTreeNodes' => [ - 'FEATUREsaeETR3ZD', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '225942', + 'abilityTreeNodes' => ['FEATUREsaeUWY6ZL'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7802c49a-67bc-4167-8369-9a9c003c****', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'Name', - 'in' => 'query', - 'schema' => [ - 'title' => '规则名称', - 'description' => 'The name of the canary release rule. The name must start with a lowercase letter and end with a digit or a lowercase letter. The name can contain only lowercase letters, Chinese characters, digits, and hyphens (-). The name must be 1 to 64 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'dubbo-echo', + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****'], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationBody', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeWebApplication', + 'description' => 'Call the DescribeWebApplication operation to query web applications.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DescribeWebApplicationResourceStatics' => [ + 'summary' => 'Query the resource usage of a web application.', + 'path' => '/pop/v2/api/web/applications-observability/{ApplicationId}/resource', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '225943', + 'abilityTreeNodes' => ['FEATUREsae1X6KNP'], + ], + 'parameters' => [ [ - 'name' => 'Description', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'title' => '规则名称', - 'description' => 'The description of the canary release rule. The name must be 1 to 64 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '灰度发布-地域灰度', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ScRules', + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '7e41aff0-9eca-45c9-ac48-675e09******'], + ], + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'title' => 'SpringCloud规则', - 'description' => 'The canary release rule that you created for Spring Cloud application. If your application uses the Spring Cloud framework, you must configure this parameter. You do not need to configure the **DubboRules** parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"condition":"OR","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"param","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}]', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'DubboRules', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'title' => 'Dubbo规则', - 'description' => 'The canary release rule that you created for Dubbo applications. If your application uses the Dubbo framework, you must configure this parameter. You do not need to configure the **ScRules** parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"condition":"OR","group":"DUBBO","items":[{"cond":"==","expr":".key1","index":0,"operator":"rawvalue","value":"value1"},{"cond":"==","expr":".key2","index":0,"operator":"rawvalue","value":"value2"}],"methodName":"echo","serviceName":"com.alibaba.edas.boot.EchoService","version":"1.0.0"}]', - ], + 'schema' => ['description' => 'The time when the task was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1562831689704', 'title' => ''], ], [ - 'name' => 'AlbRules', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'title' => 'Alb灰度规则', - 'description' => 'The canary release rule of the application for which Application Load Balancer (ALB) gateway routing is configured.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"condition":"AND","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"sourceIp","value":"127.0.0.1"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}]', - ], + 'schema' => ['description' => 'The end of the time range during which data was queried.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1687832980387', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'schema' => [ - 'description' => 'The data returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9D29CBD0-45D3-410B-9826-52F86F90****', - ], - 'Message' => [ - 'description' => 'The message returned for the operation.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The information about the canary release rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'GreyTagRouteId' => [ - 'description' => 'The ID of the canary release rule. The ID is globally unique.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* **ErrorCode** is not returned if a request is successful.'."\n" - .'* **ErrorCode** is returned if a request failed. For more information, see **Error code** section of this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the information of the change order was queried. Valid values:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: The information failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationResourceStaticsBody', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Data\\": {\\n \\"Length\\": 20,\\n \\"WebAppStatics\\": [\\n {\\n \\"CpuUsage\\": 1327,\\n \\"Invocations\\": 2,\\n \\"InternetTrafficOut\\": 2792,\\n \\"MemoryUsage\\": 5045929297920\\n }\\n ]\\n },\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeWebApplicationResourceStatics', + 'description' => 'Query the resource usage of a web application.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:14.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebApplicationResourceStatics', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', + ], + 'DescribeWebApplicationRevision' => [ + 'summary' => 'Describe a web application version.', + 'path' => '/pop/v2/api/web/application-revisions/{ApplicationId}/revisions/{RevisionId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '225944', + 'abilityTreeNodes' => ['FEATUREsae37J6Z9'], + ], + 'parameters' => [ + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['title' => 'namespace id', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => 'application id', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '7e41aff0-9eca-45c9-ac48-675e09******'], + ], + [ + 'name' => 'RevisionId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => 'revision id', 'description' => 'The revision ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '1'], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationRevisionBody', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"RevisionId\\": \\"\\",\\n \\"Weight\\": 0\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeWebApplicationRevision', + 'description' => 'Describe a web application version.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:14.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebApplicationRevision', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9D29CBD0-45D3-410B-9826-52F86F90****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"GreyTagRouteId\\": 16\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateGreyTagRouteResponse>\\n <RequestId>9D29CBD0-45D3-410B-9826-52F86F90****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <GreyTagRouteId>16</GreyTagRouteId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</CreateGreyTagRouteResponse>","errorExample":""}]', - 'title' => 'CreateGreyTagRoute', - 'description' => '> You can configure only one canary release rule for each application.'."\n", - 'requestParamsDescription' => '* **Parameters in the ScRules parameter**'."\n" - ."\n" - .'|Parameter|Data type|Example|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|condition|String|OR|The relationship between the conditions in the canary release rule. Valid values:**AND**: The conditions are in the logical AND relation. All conditions must be met at the same time.**OR**: The conditions are in the logical OR relation. At least one of the conditions must be met.|'."\n" - .'|path|String|/path|The path of the canary release rule of the Spring Cloud application.|'."\n" - .'|items|Array of items||The list of conditions.|'."\n" - ."\n" - .'**Parameters in the items parameter**'."\n" - ."\n" - .'|Parameter|Data type|Example|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|name|String|test|The name of the parameter.|'."\n" - .'|cond|String|\\==|The comparison operator. Valid values: **\\>**, **<**, **\\>=**, **<=**, **\\==**, and **!=**.|'."\n" - .'|type|String|cookie|The type of the comparison. Valid values:\\- **param**: Parameter.\\-**cookie**: Cookie.\\-**header**: Header.|'."\n" - .'|value|String|test|The value of the parameter. This value is compared with the value that is obtained based on the **type** and **name** parameters.|'."\n" - .'|operator|String|rawvalue|The operator. Valid values:**rawvalue**: direct comparison.**list**: whitelist.\\- **mod**: 100 。**deterministic\\_proportional\\_steaming\\_division**: percentage.|'."\n" - ."\n" - .'* **Parameters in the DubboRules parameter**'."\n" - ."\n" - .'|Parameter|Data type|Example|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|condition|String|OR|The relationship between the conditions in the canary release rule. Valid values:**AND**: The conditions are in the logical AND relation. All conditions must be met at the same time.**OR**: The conditions are in the logical OR relation. At least one of the conditions must be met.|'."\n" - .'|methodName|String|echo|The method name of the Dubbo service.|'."\n" - .'|serviceName|String|com.alibaba.edas.boot.EchoService|The name of the Dubbo service.|'."\n" - .'|version|String|1.0.0|The version of the Dubbo service.|'."\n" - .'|items|Array of items||The list of conditions.|'."\n" - .'|group|String|DUBBO|The group of the Dubbo service that corresponds to the canary release rule.|'."\n" - ."\n" - .'**Parameters in the items parameter**'."\n" - ."\n" - .'|Parameter|Data type|Example|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|index|Integer|0|The index of the parameter. The value 0 indicates the first parameter.|'."\n" - .'|expr|String|.name|The expression that is used to obtain the value of the parameter. Valid values:**Empty**: obtains the value of the parameter.\\- **.name**: obtains the name property of the parameter. This expression is equivalent to args0.getName().\\- **.isEnabled()**: obtains the enabled property of the parameter. This expression is equivalent to args0.isEnabled().\\- **\\[0\\]**: indicates that the value of the parameter is an array and obtains the first value of the array. This expression works the same way as args0\\[0\\]. This expression does not start with a period (.).\\- \\*\\*.get(0) \\*\\*: indicates that the value of the parameter is a list and obtains the first value of the list. This expression is equivalent to args0.get(0).\\- **.get("key")**: indicates that the value of the parameter is a map and obtains the value of the key in the map. This expression is equivalent to args0.get("key").|'."\n" - .'|cond|String|\\==|The comparison operator. Valid values: **\\>**, **<**, **\\>=**, **<=**, **\\==**, and **!=**.|'."\n" - .'|value|String|test|The value of the parameter. This value is compared with the value that is obtained based on the **expr** and **index** parameters.|'."\n" - .'|operator|String|rawvalue|The operator. Valid values:**rawvalue**: direct comparison.**list**: whitelist.\\- **mod**: mods 100.\\- **deterministic\\_proportional\\_steaming\\_division**: percentage.|', ], - 'DeleteGreyTagRoute' => [ - 'summary' => 'Deletes a canary release rule based on the specified rule ID.', - 'path' => '/pop/v1/sam/tagroute/greyTagRoute', - 'methods' => [ - 'delete', + 'DescribeWebApplicationScalingConfig' => [ + 'summary' => 'Describe the scaling configuration of a web application.', + 'path' => '/pop/v2/api/web/application-scaling/{ApplicationId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '225945', + 'abilityTreeNodes' => ['FEATUREsaeWX6046'], + ], + 'parameters' => [ + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:sae-test'], + ], + [ + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****'], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationScalingConfigBody', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Data\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 1\\n },\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeWebApplicationScalingConfig', + 'description' => 'Call the DescribeWebApplicationScalingConfig operation to obtain the scaling configuration of a web application.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:13.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebApplicationScalingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DescribeWebApplicationTrafficConfig' => [ + 'summary' => 'Query the traffic configurations of a web application.', + 'path' => '/pop/v2/api/web/application-traffic/{ApplicationId}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'tags' => [], 'security' => [ [ 'AK' => [], ], ], - 'deprecated' => false, + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '10484', - 'abilityTreeNodes' => [ - 'FEATUREsaeETR3ZD', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '225946', + 'abilityTreeNodes' => ['FEATUREsaeOXSSSO'], ], 'parameters' => [ [ - 'name' => 'GreyTagRouteId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'title' => '规则ID', - 'description' => 'The rule ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test'], + ], + [ + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****'], ], ], 'responses' => [ 200 => [ - 'schema' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9D29CBD0-45D3-410B-9826-52F86F90****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The information about the canary release rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'GreyTagRouteId' => [ - 'description' => 'The ID of the canary release rule. The ID is globally unique.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the information of the change order was queried. Valid values:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: The information failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationTrafficConfigBody', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Data\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"219.145.XX.XX\\"\\n }\\n ]\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n },\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeWebApplicationTrafficConfig', + 'description' => 'Call the DescribeWebApplicationTrafficConfig operation to query the traffic configurations of a web application.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebApplicationTrafficConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', + ], + 'DescribeWebCustomDomain' => [ + 'summary' => 'Query the details of a custom domain name for a web application.', + 'path' => '/pop/v2/api/web/custom-domains/{DomainName}', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '225947', + 'abilityTreeNodes' => ['FEATUREsae5U7VP0'], + ], + 'parameters' => [ + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai'], + ], + [ + 'name' => 'DomainName', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The custom domain name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'example.com'], + ], + ], + 'responses' => [ + 200 => [ + 'description' => 'OK', + 'schema' => ['description' => 'OK.'."\n", '$ref' => '#/components/schemas/WebCustomDomain', 'title' => 'OK', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"accountId\\": \\"123xxxxxx\\",\\n \\"WebCertConfig\\": {\\n \\"CertName\\": \\"\\",\\n \\"Certificate\\": \\"\\",\\n \\"PrivateKey\\": \\"\\"\\n },\\n \\"CreatedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"DefaultForwardingAppName\\": \\"appxxxxx\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LastModifiedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"Protocol\\": \\"HTTP\\",\\n \\"WebTLSConfig\\": {\\n \\"CipherSuites\\": [\\n \\"\\"\\n ],\\n \\"MaxVersion\\": \\"\\",\\n \\"MinVersion\\": \\"\\"\\n },\\n \\"WebWAFConfig\\": {\\n \\"EnableWAF\\": true\\n },\\n \\"RouteConfig\\": {\\n \\"routes\\": [\\n {\\n \\"path\\": \\"\\",\\n \\"applicationName\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'DescribeWebCustomDomain', + 'description' => 'Query the details of a custom domain name for a web application.'."\n", + 'changeSet' => [ + ['createdAt' => '2024-08-28T10:49:33.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebCustomDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:namespace/{#NamespaceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9D29CBD0-45D3-410B-9826-52F86F90****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"GreyTagRouteId\\": 16\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteGreyTagRouteResponse>\\n <RequestId>9D29CBD0-45D3-410B-9826-52F86F90****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <GreyTagRouteId>16</GreyTagRouteId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DeleteGreyTagRouteResponse>","errorExample":""}]', - 'title' => 'DeleteGreyTagRoute', ], - 'UpdateGreyTagRoute' => [ - 'summary' => 'Updates a canary release rule.', - 'path' => '/pop/v1/sam/tagroute/greyTagRoute', - 'methods' => [ - 'put', + 'DescribeWebInstanceLogs' => [ + 'summary' => 'Obtain the logs of web application instances.', + 'path' => '/pop/v2/api/web/applications-observability/{ApplicationId}/instances/{InstanceId}/logs', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '225948', + 'abilityTreeNodes' => ['FEATUREsaeWFLA5T'], ], - 'schemes' => [ - 'http', - 'https', + 'parameters' => [ + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai'], + ], + [ + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '7e41aff0-9eca-45c9-ac48-675e09******'], + ], + [ + 'name' => 'InstanceId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The ID of the application instance.'."\n", 'type' => 'string', 'required' => true, 'example' => 'c-667b71bc-185b1067-5d99255c3abd'], + ], ], + 'responses' => [ + 200 => [ + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationInstanceLogsBody', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Data\\": {\\n \\"WebLogEntrys\\": [\\n {\\n \\"Message\\": \\"success\\"\\n }\\n ]\\n },\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DescribeWebInstanceLogs', + 'description' => 'Obtain the logs of web application instances.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebInstanceLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'DisableApplicationScalingRule' => [ + 'path' => '/pop/v1/sam/scale/disableApplicationScalingRule', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '10391', - 'abilityTreeNodes' => [ - 'FEATUREsaeETR3ZD', - ], + 'abilityTreeCode' => '6355', + 'abilityTreeNodes' => ['FEATUREsae5HLO11'], ], 'parameters' => [ [ - 'name' => 'Description', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '规则名称', - 'description' => 'The description of the canary release rule.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '灰度发布-地域灰度', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], [ - 'name' => 'ScRules', + 'name' => 'ScalingRuleName', 'in' => 'query', + 'schema' => ['description' => 'The name of the Auto Scaling policy.', 'type' => 'string', 'required' => true, 'example' => 'timer-0800-2100', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => 'SpringCloud规则', - 'description' => 'The canary release rule of the Spring Cloud application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"condition":"OR","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"param","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}]', + 'description' => 'The response.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- **success** is returned if the request is successful.'."\n" + ."\n" + .'- An error code is returned if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: The request was invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the Auto Scaling policy was disabled. Valid values:'."\n" + ."\n" + .'- **true**: The policy was disabled.'."\n" + ."\n" + .'- **false**: The policy failed to be disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DisableApplicationScalingRule', + 'summary' => 'Disables an Auto Scaling policy for an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-19T02:15:03.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableApplicationScalingRule'], + ], + ], + 'ramActions' => [ [ - 'name' => 'DubboRules', - 'in' => 'query', - 'schema' => [ - 'title' => 'Dubbo规则', - 'description' => 'The canary release rule of the Dubbo application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"condition":"OR","group":"DUBBO","items":[{"cond":"==","expr":".key1","index":0,"operator":"rawvalue","value":"value1"},{"cond":"==","expr":".key2","index":0,"operator":"rawvalue","value":"value2"}],"methodName":"echo","serviceName":"com.alibaba.edas.boot.EchoService","version":"1.0.0"}]', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:DisableApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'DisableArms' => [ + 'path' => '/pop/v1/arms/disableArms', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'GreyTagRouteId', - 'in' => 'query', - 'schema' => [ - 'title' => '规则ID', - 'description' => 'The ID of the canary release rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '6357', + 'abilityTreeNodes' => ['FEATUREsae8U8CHA'], + ], + 'parameters' => [ [ - 'name' => 'AlbRules', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The canary release rule of the application for which ALB gateway routing is configured.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"condition":"AND","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"sourceIp","value":"127.0.0.1"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}]', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69a26c', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9D29CBD0-45D3-410B-9826-52F86F90****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '6DA47906-6070-5A16-896D-67DCF38A6B7B', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of a request.', 'type' => 'string', 'example' => '0bc3b4ad17412276398692303e4cb1', 'title' => ''], 'Data' => [ - 'description' => 'The information about the canary release rule.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'GreyTagRouteId' => [ - 'description' => 'The ID of the canary release rule. The ID is globally unique.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], + 'Enable' => ['description' => 'Indicates whether ARMS monitoring is enabled. Valid values:', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the information of the change order was queried. Valid values:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: The information failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** parameter is not returned.'."\n" + ."\n" + .'- If the request fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:', 'type' => 'boolean', 'example' => 'True', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9D29CBD0-45D3-410B-9826-52F86F90****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"GreyTagRouteId\\": 1\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateGreyTagRouteResponse>\\n <RequestId>9D29CBD0-45D3-410B-9826-52F86F90****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <GreyTagRouteId>1</GreyTagRouteId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateGreyTagRouteResponse>","errorExample":""}]', - 'title' => 'UpdateGreyTagRoute', - 'requestParamsDescription' => '* Parameters in the **ScRules** parameter'."\n" - ."\n" - .'|Parameter|Type|Example|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|condition|String|OR|The relationship between the conditions in the canary release rule. Valid values:**AND**: The conditions are in the logical AND relation. All conditions must be met at the same time.**OR**: The conditions are in the logical OR relation. At least one of the conditions must be met.|'."\n" - .'|path|String|/path|The path of the canary release rule of the Spring Cloud application.|'."\n" - .'|items|Array of items||The conditions.|'."\n" - ."\n\n" - .'Parameters in the **items** parameter'."\n" - ."\n" - .'|Parameter|Type|Example|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|name|String|test|The name of the parameter.|'."\n" - .'|cond|String|\\==|The comparison operator. Valid values: **\\>**, **<**, **\\>=**, **<=**, **\\==**, and **!=**.|'."\n" - .'|type|String|cookie|The type of the comparison. Valid values:**param**: parameter**cookie**: cookie**header**: header|'."\n" - .'|value|String|test|The value of the parameter. This value is compared with the value that is obtained based on the **type** and **name** parameters.|'."\n" - .'|operator|String|rawvalue|The operator. Valid values:**rawvalue**: direct comparison.**list**: whitelist.**mod**: mods 100.**deterministic\\_proportional\\_steaming\\_division**: percentage.|'."\n" - ."\n\n" - .'* Parameters in the **DubboRules** parameter'."\n" - ."\n" - .'|Parameter|Type|Example|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|condition|String|OR|The relationship between the conditions in the canary release rule. Valid values:**AND**: The conditions are in the logical AND relation. All conditions must be met at the same time.**OR**: The conditions are in the logical OR relation. At least one of the conditions must be met.|'."\n" - .'|methodName|String|echo|The method name of the Dubbo service.|'."\n" - .'|serviceName|String|com.alibaba.edas.boot.EchoService|The name of the Dubbo service.|'."\n" - .'|version|String|1.0.0|The version of the Dubbo service.|'."\n" - .'|items|Array of items||The conditions.|'."\n" - .'|group|String|DUBBO|The group of the Dubbo service that corresponds to the canary release rule.|'."\n" - ."\n\n" - .'Parameters in the **items** parameter'."\n" - ."\n" - .'|Parameter|Type|Example|Description|'."\n" - .'|---|---|---|---|'."\n" - .'|index|Integer|0|The index of the parameter. The value 0 indicates the first parameter.|'."\n" - .'|expr|String|.name|The expression that is used to obtain the value of the parameter. Valid values:**Empty**: obtains the value of the parameter.**.name**: obtains the name property of the parameter. This expression works the same way as args0.getName().**.isEnabled()**: obtains the enabled property of the parameter. This expression works the same way as args0.isEnabled().**\\[0\\]**: indicates that the value of the parameter is an array and obtains the first value of the array. This expression works the same way as args0\\[0\\]. This expression does not start with a period (.).**.get(0)**: indicates that the value of the parameter is a list and obtains the first value of the list. This expression works the same way as args0.get(0).**.get("key")**: indicates that the value of the parameter is a map and obtains the value of the key in the map. This expression works the same way as args0.get("key").|'."\n" - .'|cond|String|\\==|The comparison operator. Valid values: **\\>**, **<**, **\\>=**, **<=**, **\\==**, and **!=**.|'."\n" - .'|value|String|test|The value of the parameter. This value is compared with the value that is obtained based on the **expr** and **index** parameters.|'."\n" - .'|operator|String|rawvalue|The operator. Valid values:**rawvalue**: direct comparison.**list**: whitelist.**mod**: mods 100.**deterministic\\_proportional\\_steaming\\_division**: percentage.|', - ], - 'DescribeGreyTagRoute' => [ - 'summary' => 'Queries the details of a canary release rule based on the specified rule ID.', - 'path' => '/pop/v1/sam/tagroute/greyTagRoute', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6DA47906-6070-5A16-896D-67DCF38A6B7B\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3b4ad17412276398692303e4cb1\\",\\n \\"Data\\": {\\n \\"Enable\\": true\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'DisableArms', + 'summary' => 'Disables ARMS monitoring.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:28.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableArms'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:DisableArms', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'DowngradeApplicationApmService' => [ + 'path' => '/pop/v1/sam/app/applicationApmService', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '10298', - 'abilityTreeNodes' => [ - 'FEATUREsaeETR3ZD', - ], + 'abilityTreeCode' => '6360', + 'abilityTreeNodes' => ['FEATUREsaeK7DHH9'], ], 'parameters' => [ [ - 'name' => 'GreyTagRouteId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '规则ID', - 'description' => 'The ID of the canary release rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'exclusiveMaximum' => false, - 'minimum' => '1', - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the interactive messaging application.', 'type' => 'string', 'required' => true, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '9D29CBD0-45D3-410B-9826-52F86F90****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****', 'title' => ''], + 'Message' => ['description' => 'The message that is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the trace. The ID is used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The information about the canary release rule.'."\n", + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'GreyTagRouteId' => [ - 'description' => 'The ID of the canary release rule. The ID is globally unique.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16', - ], - 'Name' => [ - 'description' => 'The name of the canary release rule.'."\n", - 'type' => 'string', - 'example' => 'rule-name', - ], - 'Description' => [ - 'description' => 'The description of the canary release rule.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ScRules' => [ - 'description' => 'The canary release rule of the Spring Cloud application.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'path' => [ - 'description' => 'The path of the canary release rule of the Spring Cloud application.'."\n", - 'type' => 'string', - 'example' => '/path', - ], - 'condition' => [ - 'description' => 'The relationship between the conditions in the canary release rule. Valid values:'."\n" - ."\n" - .'* **AND**: The conditions are in the logical AND relation. All conditions must be met at the same time.'."\n" - .'* **OR**: The conditions are in the logical OR relation. At least one of the conditions must be met.'."\n", - 'type' => 'string', - 'example' => 'OR', - ], - 'items' => [ - 'description' => 'The conditions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'description' => 'The type of the comparison. Valid values:'."\n" - ."\n" - .'* **param**: parameter'."\n" - .'* **cookie**: cookie'."\n" - .'* **header**: header'."\n", - 'type' => 'string', - 'example' => 'cookie', - ], - 'name' => [ - 'description' => 'The name of the parameter.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'operator' => [ - 'description' => 'The operator. Valid values:'."\n" - ."\n" - .'* **rawvalue**: direct comparison.'."\n" - .'* **list**: whitelist.'."\n" - .'* **mod**: mods 100.'."\n" - .'* **deterministic_proportional_steaming_division**: percentage.'."\n", - 'type' => 'string', - 'example' => 'rawvalue', - ], - 'value' => [ - 'description' => 'The value of the parameter. This value is compared with the value that is obtained based on the **type** and **name** parameters.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'cond' => [ - 'description' => 'The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==**, and **! =**.'."\n", - 'type' => 'string', - 'example' => '==', - ], - 'index' => [ - 'title' => 'abandon', - 'description' => 'This parameter is not returned for Spring Cloud applications.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'N/A', - ], - 'expr' => [ - 'title' => 'abandon', - 'description' => 'This parameter is not returned for Spring Cloud applications.'."\n", - 'type' => 'string', - 'example' => 'N/A', - ], - ], - ], - ], - ], - ], - ], - 'AlbRules' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'serviceId' => [ - 'description' => 'The service ID.'."\n", - 'type' => 'string', - 'example' => '22', - ], - 'ingressId' => [ - 'description' => 'The ID of the gateway routing rule.'."\n", - 'type' => 'string', - 'example' => '23', - ], - 'condition' => [ - 'description' => 'The condition mode of the canary release rule. Valid value: AND. This value indicates that that all conditions must be met.'."\n", - 'type' => 'string', - 'example' => 'AND', - ], - 'items' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'description' => 'The type of the comparison. Valid values:'."\n" - ."\n" - .'* **sourceIp**: SourceIp'."\n" - .'* **cookie**: cookie'."\n" - .'* **header**: header'."\n", - 'type' => 'string', - 'example' => 'cookie', - ], - 'name' => [ - 'description' => 'The name of the parameter.'."\n", - 'type' => 'string', - 'example' => 'example', - ], - 'operator' => [ - 'description' => 'The operator. Valid value: **rawvalue**. This value indicates direct comparison.'."\n", - 'type' => 'string', - 'example' => 'rawvalue', - ], - 'value' => [ - 'description' => 'The value of the parameter. This value is compared with the value that is obtained based on the type and name parameters.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'cond' => [ - 'description' => 'Valid value: ==.'."\n", - 'type' => 'string', - 'example' => '==', - ], - 'index' => [ - 'title' => 'abandon', - 'description' => 'This parameter is not returned for applications that are associated with Application Load Balancer (ALB) instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'N/A', - ], - 'expr' => [ - 'title' => 'abandon', - 'description' => 'This parameter is not returned for applications that are associated with ALB instances.'."\n", - 'type' => 'string', - 'example' => 'N/A', - ], - ], - ], - 'description' => '', - ], - ], - ], - 'description' => '', - ], - 'DubboRules' => [ - 'description' => 'The canary release rule of the Dubbo service.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'serviceName' => [ - 'description' => 'The name of the Dubbo service.'."\n", - 'type' => 'string', - 'example' => 'com.alibaba.edas.boot.EchoService', - ], - 'group' => [ - 'description' => 'The group of the Dubbo service that corresponds to the canary release rule.'."\n", - 'type' => 'string', - 'example' => 'DUBBO', - ], - 'version' => [ - 'description' => 'The version of the Dubbo service.'."\n", - 'type' => 'string', - 'example' => '1.0.0', - ], - 'methodName' => [ - 'description' => 'The method name of the Dubbo service.'."\n", - 'type' => 'string', - 'example' => 'echo', - ], - 'condition' => [ - 'description' => 'The relationship between the conditions in the canary release rule. Valid values:'."\n" - ."\n" - .'* **AND**: The conditions are in the logical AND relation. All conditions must be met at the same time.'."\n" - .'* **OR**: The conditions are in the logical OR relation. At least one of the conditions must be met.'."\n", - 'type' => 'string', - 'example' => 'OR', - ], - 'items' => [ - 'description' => 'The conditions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'index' => [ - 'description' => 'The index of the parameter. The value 0 indicates the first parameter.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'expr' => [ - 'description' => 'The expression that is used to obtain the value of the parameter. Valid values:'."\n" - ."\n" - .'* **Empty**: obtains the value of the parameter.'."\n" - .'* **.name**: obtains the name property of the parameter. This expression works the same way as args0.getName().'."\n" - .'* **.isEnabled()**: obtains the enabled property of the parameter. This expression works the same way as args0.isEnabled().'."\n" - .'* **\\[0]**: indicates that the value of the parameter is an array and obtains the first value of the array. This expression works the same way as args0\\[0]. This expression does not start with a period (.).'."\n" - .'* **.get(0)**: indicates that the value of the parameter is a list and obtains the first value of the list. This expression works the same way as args0.get(0).'."\n" - .'* **.get("key")**: indicates that the value of the parameter is a map and obtains the value of the key in the map. This expression works the same way as args0.get("key").'."\n", - 'type' => 'string', - 'example' => '.name', - ], - 'operator' => [ - 'description' => 'The operator. Valid values:'."\n" - ."\n" - .'* **rawvalue**: direct comparison.'."\n" - .'* **list**: whitelist.'."\n" - .'* **mod**: mods 100.'."\n" - .'* **deterministic_proportional_steaming_division**: percentage.'."\n", - 'type' => 'string', - 'example' => 'rawvalue', - ], - 'value' => [ - 'description' => 'The value of the parameter. This value is compared with the value that is obtained based on the **expr** and **index** parameters.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'cond' => [ - 'description' => 'The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==**, and **! =**.'."\n", - 'type' => 'string', - 'example' => '==', - ], - 'type' => [ - 'title' => 'abandon', - 'description' => 'This parameter is not returned for Dubbo services.'."\n", - 'type' => 'string', - 'example' => 'N/A', - ], - 'name' => [ - 'title' => 'abandon', - 'description' => 'This parameter is not returned for Dubbo services.'."\n", - 'type' => 'string', - 'example' => 'N/A', - ], - ], - ], - ], - ], - ], - ], - 'CreateTime' => [ - 'description' => 'The timestamp when the canary release rule was created. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1619007592013', - ], - 'UpdateTime' => [ - 'description' => 'The timestamp when the canary release rule was updated. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1609434061000', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '3faaf993-7aed-4bcd-b189-625e6a5a****', - ], + 'Status' => ['description' => 'Indicates whether ARMS advanced monitoring is disabled. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the information of the change order was queried. Valid values:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: The information failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The status code.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or the error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: The request failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether ARMS advanced monitoring is disabled. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9D29CBD0-45D3-410B-9826-52F86F90****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"GreyTagRouteId\\": 16,\\n \\"Name\\": \\"rule-name\\",\\n \\"Description\\": \\"test\\",\\n \\"ScRules\\": [\\n {\\n \\"path\\": \\"/path\\",\\n \\"condition\\": \\"OR\\",\\n \\"items\\": [\\n {\\n \\"type\\": \\"cookie\\",\\n \\"name\\": \\"test\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"index\\": 0,\\n \\"expr\\": \\"N/A\\"\\n }\\n ]\\n }\\n ],\\n \\"AlbRules\\": [\\n {\\n \\"serviceId\\": \\"22\\",\\n \\"ingressId\\": \\"23\\",\\n \\"condition\\": \\"AND\\",\\n \\"items\\": [\\n {\\n \\"type\\": \\"cookie\\",\\n \\"name\\": \\"example\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"index\\": 0,\\n \\"expr\\": \\"N/A\\"\\n }\\n ]\\n }\\n ],\\n \\"DubboRules\\": [\\n {\\n \\"serviceName\\": \\"com.alibaba.edas.boot.EchoService\\",\\n \\"group\\": \\"DUBBO\\",\\n \\"version\\": \\"1.0.0\\",\\n \\"methodName\\": \\"echo\\",\\n \\"condition\\": \\"OR\\",\\n \\"items\\": [\\n {\\n \\"index\\": 0,\\n \\"expr\\": \\".name\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"type\\": \\"N/A\\",\\n \\"name\\": \\"N/A\\"\\n }\\n ]\\n }\\n ],\\n \\"CreateTime\\": 1619007592013,\\n \\"UpdateTime\\": 1609434061000,\\n \\"AppId\\": \\"3faaf993-7aed-4bcd-b189-625e6a5a****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeGreyTagRouteResponse>\\n <RequestId>9D29CBD0-45D3-410B-9826-52F86F90****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <GreyTagRouteId>16</GreyTagRouteId>\\n <Name>rule-name</Name>\\n <Description>test</Description>\\n <ScRules>\\n <path>/path</path>\\n <condition>OR</condition>\\n <items>\\n <type>cookie</type>\\n <name>test</name>\\n <operator>rawvalue</operator>\\n <value>test</value>\\n <cond>==</cond>\\n <expr>N/A</expr>\\n </items>\\n </ScRules>\\n <DubboRules>\\n <serviceName>com.alibaba.edas.boot.EchoService</serviceName>\\n <group>DUBBO</group>\\n <version>1.0.0</version>\\n <methodName>echo</methodName>\\n <condition>OR</condition>\\n <items>\\n <index>0</index>\\n <expr>.name</expr>\\n <operator>rawvalue</operator>\\n <value>test</value>\\n <cond>==</cond>\\n <type>N/A</type>\\n <name>N/A</name>\\n </items>\\n </DubboRules>\\n <CreateTime>1619007592013</CreateTime>\\n <UpdateTime>1609434061000</UpdateTime>\\n <AppId>3faaf993-7aed-4bcd-b189-625e6a5a****</AppId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeGreyTagRouteResponse>","errorExample":""}]', - 'title' => 'DescribeGreyTagRoute', - ], - 'ListGreyTagRoute' => [ - 'summary' => 'Queries the details of a canary release rule based on an application ID.', - 'path' => '/pop/v1/sam/tagroute/greyTagRouteList', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Status\\": true\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": false\\n}","type":"json"}]', + 'title' => 'DowngradeApplicationApmService', + 'summary' => 'Disable ARMS Advanced Edition monitoring.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:28.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DowngradeApplicationApmService'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DowngradeApplicationApmService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'EnableApplicationScalingRule' => [ + 'path' => '/pop/v1/sam/scale/enableApplicationScalingRule', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '10488', - 'abilityTreeNodes' => [ - 'FEATUREsaeCJEQQD', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '6361', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'title' => '应用ID', - 'description' => '7171a6ca-d1cd-4928-8642-7d5cfe69\\*\\*\\*\\*'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + ], + [ + 'name' => 'ScalingRuleName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the auto scaling policy.', 'type' => 'string', 'required' => true, 'example' => 'timer-0800-2100', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '', + 'description' => 'The information that is returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '9D29CBD0-45D3-410B-9826-52F86F90****', - ], - 'Message' => [ - 'description' => 'The returned information. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The information about the canary release rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page. Valid value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The total number of canary release rules. Valid value: **1**.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Result' => [ - 'description' => 'The returned result.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'GreyTagRouteId' => [ - 'description' => 'The ID of the canary release rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Name' => [ - 'description' => 'The name of the canary release rule.'."\n", - 'type' => 'string', - 'example' => 'rule-name', - ], - 'Description' => [ - 'description' => 'The description of the canary release rule.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ScRules' => [ - 'description' => 'The canary release rule of the Spring Cloud application.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'path' => [ - 'description' => 'The path of the canary release rule of the Spring Cloud application.'."\n", - 'type' => 'string', - 'example' => '/path', - ], - 'condition' => [ - 'description' => 'The relationship between the conditions in the canary release rule. Valid values:'."\n" - ."\n" - .'* **AND**: The conditions are in the logical AND relation. All conditions must be met at the same time.'."\n" - .'* **OR**: The conditions are in the logical OR relation. At least one of the conditions must be met.'."\n", - 'type' => 'string', - 'example' => 'OR', - ], - 'items' => [ - 'description' => 'The conditions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'description' => 'The type of the comparison. Valid values:'."\n" - ."\n" - .'* **param**: parameter'."\n" - .'* **cookie**: cookie'."\n" - .'* **header**: header'."\n", - 'type' => 'string', - 'example' => 'cookie', - ], - 'name' => [ - 'description' => 'The name of the parameter.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'operator' => [ - 'description' => 'The operator. Valid values:'."\n" - ."\n" - .'* **rawvalue**: direct comparison.'."\n" - .'* **list**: whitelist.'."\n" - .'* **mod**: mods 100.'."\n" - .'* **deterministic_proportional_steaming_division**: percentage.'."\n", - 'type' => 'string', - 'example' => 'rawvalue', - ], - 'value' => [ - 'description' => 'The value of the parameter. This value is compared with the value that is obtained based on the **type** and **name** parameters.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'cond' => [ - 'description' => 'The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==**, and **! =**.'."\n", - 'type' => 'string', - 'example' => '==', - ], - 'index' => [ - 'title' => 'abandon', - 'description' => 'This parameter is not returned for Spring Cloud applications.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'N/A', - ], - 'expr' => [ - 'description' => 'This parameter is not returned for Spring Cloud applications.'."\n", - 'type' => 'string', - 'example' => 'N/A', - ], - ], - ], - ], - ], - ], - ], - 'AlbRules' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ingressId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '23', - ], - 'condition' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'AND', - ], - 'items' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'cookie', - ], - 'name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'example', - ], - 'operator' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'rawvalue', - ], - 'value' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test', - ], - 'cond' => [ - 'description' => '', - 'type' => 'string', - 'example' => '==', - ], - 'index' => [ - 'title' => 'abandon', - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'N/A', - ], - 'expr' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'N/A', - ], - ], - ], - ], - 'serviceName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 's-6366-e3****-99**', - ], - ], - ], - ], - 'DubboRules' => [ - 'description' => 'The canary release rule of the Dubbo service.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'serviceName' => [ - 'description' => 'The name of the Dubbo service.', - 'type' => 'string', - 'example' => 'com.alibaba.edas.boot.EchoService', - ], - 'group' => [ - 'description' => 'The group of the Dubbo service that corresponds to the canary release rule.', - 'type' => 'string', - 'example' => 'DUBBO', - ], - 'version' => [ - 'description' => 'The version of the Dubbo service.', - 'type' => 'string', - 'example' => '1.0.0', - ], - 'methodName' => [ - 'description' => 'The method name of the Dubbo service.', - 'type' => 'string', - 'example' => 'echo', - ], - 'condition' => [ - 'description' => 'The relationship between the conditions in the canary release rule. Valid values:'."\n" - ."\n" - .'- **AND**: The conditions are in the logical AND relation. All conditions must be met at the same time.'."\n" - .'- **OR**: The conditions are in the logical OR relation. At least one of the conditions must be met.', - 'type' => 'string', - 'example' => 'OR', - ], - 'items' => [ - 'description' => 'The conditions.', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'index' => [ - 'description' => 'The index of the parameter. The value 0 indicates the first parameter.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'expr' => [ - 'description' => 'The expression that is used to obtain the value of the parameter. The syntax of the expression must follow the standard of the SpEL. Valid values:'."\n" - ."\n" - .'- **Empty**: obtains the value of the parameter.'."\n" - .'- **.name**: obtains the name property of the parameter. This expression works the same way as args0.getName().'."\n" - .'- **.isEnabled()**: obtains the enabled property of the parameter. This expression works the same way as args0.isEnabled().'."\n" - .'- **[0]**: indicates that the value of the parameter is an array and obtains the first value of the array. This expression works the same way as args0[0]. This expression does not start with a period (.).'."\n" - .'- **.get(0)**: indicates that the value of the parameter is a list and obtains the first value of the list. This expression works the same way as args0.get(0).'."\n" - .'- **.get("key")**: indicates that the value of the parameter is a map and obtains the value of the key in the map. This expression works the same way as args0.get("key"). > For more information about the expressions that are used to obtain parameter values, see [Spring Expression Language (SpEL)](https://docs.spring.io/spring-integration/docs/current/reference/html/spel.html).', - 'type' => 'string', - 'example' => '.name', - ], - 'operator' => [ - 'description' => 'The operator. Valid values:'."\n" - ."\n" - .'- **rawvalue**: direct comparison.'."\n" - .'- **list**: whitelist.'."\n" - .'- **mod**: mods 100.'."\n" - .'- **deterministic_proportional_steaming_division**: percentage.', - 'type' => 'string', - 'example' => 'rawvalue', - ], - 'value' => [ - 'description' => 'The value of the parameter. This value is compared with the value that is obtained based on the **expr** and **index** parameters.', - 'type' => 'string', - 'example' => 'test', - ], - 'cond' => [ - 'description' => 'The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==**, and **! =**.', - 'type' => 'string', - 'example' => '==', - ], - 'type' => [ - 'title' => 'abandon', - 'description' => 'This parameter is not returned for Dubbo services.', - 'type' => 'string', - 'example' => 'N/A', - ], - 'name' => [ - 'title' => 'abandon', - 'description' => 'This parameter is not returned for Dubbo services.', - 'type' => 'string', - 'example' => 'N/A', - ], - ], - ], - ], - ], - ], - ], - 'CreateTime' => [ - 'description' => 'The timestamp when the canary release rule was created. Unit: milliseconds.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1619007592013', - ], - 'UpdateTime' => [ - 'description' => 'The timestamp when the canary release rule was updated. Unit: milliseconds.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1609434061000', - ], - ], - ], - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The returned error code. Valid values:'."\n" - ."\n" - .'- If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'- **2xx**: The call was successful.'."\n" - .'- **3xx**: The call was redirected.'."\n" - .'- **4xx**: The call failed.'."\n" - .'- **5xx**: A server error occurred.', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the information of the change order was queried. Valid values:'."\n" - ."\n" - .'- **true**: The information was queried.'."\n" - .'- **false**: The information failed to be queried.', - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned. Take note of the following rules:'."\n" + ."\n" + .'- success: If the call is successful, **success** is returned.'."\n" + ."\n" + .'- An error code: If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Take note of the following rules:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Specifies whether the instances are successfully restarted. Take note of the following rules:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**: The restart failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'EnableApplicationScalingRule', + 'summary' => 'Enables an auto scaling policy for an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-26T09:19:37.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-12-19T02:15:03.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-02-16T02:49:27.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableApplicationScalingRule'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:EnableApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"9D29CBD0-45D3-410B-9826-52F86F90****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 1,\\n \\"TotalSize\\": 1,\\n \\"Result\\": [\\n {\\n \\"GreyTagRouteId\\": 1,\\n \\"Name\\": \\"rule-name\\",\\n \\"Description\\": \\"test\\",\\n \\"ScRules\\": [\\n {\\n \\"path\\": \\"/path\\",\\n \\"condition\\": \\"OR\\",\\n \\"items\\": [\\n {\\n \\"type\\": \\"cookie\\",\\n \\"name\\": \\"test\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"index\\": 0,\\n \\"expr\\": \\"N/A\\"\\n }\\n ]\\n }\\n ],\\n \\"AlbRules\\": [\\n {\\n \\"ingressId\\": \\"23\\",\\n \\"condition\\": \\"AND\\",\\n \\"items\\": [\\n {\\n \\"type\\": \\"cookie\\",\\n \\"name\\": \\"example\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"index\\": 0,\\n \\"expr\\": \\"N/A\\"\\n }\\n ],\\n \\"serviceName\\": \\"s-6366-e3****-99**\\"\\n }\\n ],\\n \\"DubboRules\\": [\\n {\\n \\"serviceName\\": \\"com.alibaba.edas.boot.EchoService\\",\\n \\"group\\": \\"DUBBO\\",\\n \\"version\\": \\"1.0.0\\",\\n \\"methodName\\": \\"echo\\",\\n \\"condition\\": \\"OR\\",\\n \\"items\\": [\\n {\\n \\"index\\": 0,\\n \\"expr\\": \\".name\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"type\\": \\"N/A\\",\\n \\"name\\": \\"N/A\\"\\n }\\n ]\\n }\\n ],\\n \\"CreateTime\\": 1619007592013,\\n \\"UpdateTime\\": 1609434061000\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListGreyTagRouteResponse>\\n <RequestId>9D29CBD0-45D3-410B-9826-52F86F90****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <CurrentPage>1</CurrentPage>\\n <PageSize>1</PageSize>\\n <TotalSize>1</TotalSize>\\n <Result>\\n <GreyTagRouteId>1</GreyTagRouteId>\\n <Name>rule-name</Name>\\n <Description>test</Description>\\n <ScRules>\\n <path>/path</path>\\n <condition>OR</condition>\\n <items>\\n <type>cookie</type>\\n <name>test</name>\\n <operator>rawvalue</operator>\\n <value>test</value>\\n <cond>==</cond>\\n <expr>N/A</expr>\\n </items>\\n </ScRules>\\n <AlbRules>\\n <ingressId>23</ingressId>\\n <condition>AND</condition>\\n <items>\\n <type>cookie</type>\\n <name>example</name>\\n <operator>rawvalue</operator>\\n <value>test</value>\\n <cond>==</cond>\\n <expr>N/A</expr>\\n </items>\\n <serviceName>s-6366-e3****-99**</serviceName>\\n </AlbRules>\\n <DubboRules>\\n <serviceName>com.alibaba.edas.boot.EchoService</serviceName>\\n <group>DUBBO</group>\\n <version>1.0.0</version>\\n <methodName>echo</methodName>\\n <condition>OR</condition>\\n <items>\\n <index>0</index>\\n <expr>.name</expr>\\n <operator>rawvalue</operator>\\n <value>test</value>\\n <cond>==</cond>\\n <type>N/A</type>\\n <name>N/A</name>\\n </items>\\n </DubboRules>\\n <CreateTime>1619007592013</CreateTime>\\n <UpdateTime>1609434061000</UpdateTime>\\n </Result>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListGreyTagRouteResponse>","errorExample":""}]', - 'title' => 'ListGreyTagRoute', - 'description' => '> You can configure only one canary release rule for each application.'."\n", - 'requestParamsDescription' => '- **Parameters in the ScRule parameter**'."\n" - ."\n" - .'| Parameter | Type | Example | Description |'."\n" - .'| --------- | ---- | ------- | ----------- |'."\n" - .'| condition | String | OR | The relationship between the conditions in the canary release rule. Valid values:'."\n" - ."\n" - .'- **AND**: The conditions are in the logical AND relation. All conditions must be met at the same time.'."\n" - .'- **OR**: The conditions are in the logical OR relation. At least one of the conditions must be met. |'."\n" - .'| path | String | /path | The path of the canary release rule of the Spring Cloud application. |'."\n" - .'| items | Array of items | | The conditions. |'."\n" - .'**Parameters in the Item parameter**| Parameter | Type | Example | Description |'."\n" - .'| --------- | ---- | ------- | ----------- |'."\n" - .'| name | String | test | The name of the parameter. |'."\n" - .'| cond | String | == | The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==**, and **! =**. |'."\n" - .'| type | String | cookie | The type of the comparison. Valid values:'."\n" - ."\n" - .'- **param**: parameter'."\n" - .'- **cookie**: cookie'."\n" - .'- **header**: header |'."\n" - .'| value | String | test | The value of the parameter. This value is compared with the value that is obtained based on the **type** and **name** parameters. |'."\n" - .'| operator | String | rawvalue | The operator. Valid values:'."\n" - ."\n" - .'- **rawvalue**: direct comparison.'."\n" - .'- **list**: whitelist.'."\n" - .'- **mod**: mods 100.'."\n" - .'- **deterministic_proportional_steaming_division**: percentage. |'."\n" - .'- **Parameters in the DubboRule parameter**'."\n" - ."\n" - .'| Parameter | Type | Example | Description |'."\n" - .'| --------- | ---- | ------- | ----------- |'."\n" - .'| condition | String | OR | The relationship between the conditions in the canary release rule. Valid values:'."\n" - ."\n" - .'- **AND**: The conditions are in the logical AND relation. All conditions must be met at the same time.'."\n" - .'- **OR**: The conditions are in the logical OR relation. At least one of the conditions must be met. |'."\n" - .'| methodName | String | echo | The method name of the Dubbo service. |'."\n" - .'| serviceName | String | com.alibaba.edas.boot.EchoService | The name of the Dubbo service. |'."\n" - .'| version | String | 1.0.0 | The version of the Dubbo service. |'."\n" - .'| items | Array of items | | The conditions. |'."\n" - .'| group | String | DUBBO | The group of the Dubbo service that corresponds to the canary release rule. |'."\n" - .'**Parameters in the Item parameter**| Parameter | Type | Example | Description |'."\n" - .'| --------- | ---- | ------- | ----------- |'."\n" - .'| index | Integer | 0 | The index of the parameter. The value 0 indicates the first parameter. |'."\n" - .'| expr | String | .name | The expression that is used to obtain the value of the parameter. The syntax of the expression must follow the standard of the Spring Expression Language (SpEL). Valid values:'."\n" - ."\n" - .'- **Empty**: obtains the value of the parameter.'."\n" - .'- **.name**: obtains the name property of the parameter. This expression works the same way as args0.getName().'."\n" - .'- **.isEnabled()**: obtains the enabled property of the parameter. This expression works the same way as args0.isEnabled().'."\n" - .'- **[0]**: indicates that the value of the parameter is an array and obtains the first value of the array. This expression works the same way as args0[0]. This expression does not start with a period (.).'."\n" - .'- **.get(0)**: indicates that the value of the parameter is a list and obtains the first value of the list. This expression works the same way as args0.get(0).'."\n" - .'- **.get("key")**: indicates that the value of the parameter is a map and obtains the value of the key in the map. This expression works the same way as args0.get("key"). |'."\n" - .'| cond | String | == | The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==**, and **! =**. |'."\n" - .'| value | String | test | The value of the parameter. This value is compared with the value that is obtained based on the **expr** and **index** parameters. |'."\n" - .'| operator | String | rawvalue | The operator. Valid values:'."\n" - ."\n" - .'- **rawvalue**: direct comparison.'."\n" - .'- **list**: whitelist.'."\n" - .'- **mod**: mods 100.'."\n" - .'- **deterministic_proportional_steaming_division**: percentage. |', ], - 'CreateOrUpdateSwimmingLaneGroup' => [ - 'summary' => 'Creates or updates a lane group.', - 'path' => '/pop/v1/cas/gray/createOrUpdateSwimmingLaneGroup', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ExecJob' => [ + 'path' => '/pop/v1/sam/job/execJob', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '221430', - 'abilityTreeNodes' => [ - 'FEATUREsaeX255DA', - ], + 'abilityTreeCode' => '100732', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'GroupId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane group. This is required when you update a lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2047', - ], + 'schema' => ['description' => 'The job template ID.', 'type' => 'string', 'required' => true, 'example' => 'ee1a7a07-abcb-4652-a1d3-2d57f415****', 'title' => ''], ], [ - 'name' => 'GroupName', + 'name' => 'EventId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lane group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mse-test', - ], + 'schema' => ['description' => 'A customizable event ID that ensures idempotency. The system creates only one job for requests that have the same event ID.', 'type' => 'string', 'required' => false, 'example' => 'custom', 'title' => ''], ], [ - 'name' => 'NamespaceId', + 'name' => 'Command', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of a namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The startup command, which must be an executable that exists in the container. Example:'."\n" + ."\n" + .'```'."\n" + .'command:'."\n" + .' - echo'."\n" + .' - abc'."\n" + .' - >'."\n" + .' - file0'."\n" + .'```'."\n" + ."\n" + .'Based on this example, `Command` is `echo` and `CommandArgs` is `["abc", ">", "file0"]`.', 'type' => 'string', 'required' => false, 'example' => 'echo', 'title' => ''], ], [ - 'name' => 'AppIds', + 'name' => 'CommandArgs', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The ID of the baseline application.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the baseline application. You can click **Add** to add multiple baseline applications.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '00893b3a-0e24-45ed-be0c-1f20e07b****', - ], - 'required' => false, - ], + 'schema' => ['description' => 'The arguments for the **Command** parameter. The value must be a string that represents a JSON array. Format:'."\n" + ."\n" + .'`["a","b"]`'."\n" + ."\n" + .'In the preceding example for the `Command` parameter, `CommandArgs` is `["abc", ">", "file0"]`. The JSON array `["abc", ">", "file0"]` must be converted to a string. This parameter is optional.', 'type' => 'string', 'required' => false, 'example' => '["a","b"]', 'title' => ''], ], [ - 'name' => 'EntryAppType', + 'name' => 'Envs', 'in' => 'query', - 'schema' => [ - 'description' => 'The application entry type (gateway type).'."\n" - ."\n" - .'* **apig:** cloud-native API Gateway'."\n" - .'* **mse:** Java Services Gateway'."\n" - .'* **mse-gw:** MSE cloud-native Gateway'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mse-gw', - ], + 'schema' => ['description' => 'The container environment variables. You can specify custom environment variables or reference an existing ConfigMap. For more information about creating a ConfigMap, see [CreateConfigMap](~~176914~~).'."\n" + ."\n" + .'- Custom configuration'."\n" + ."\n" + .' - **name**: The name of the environment variable.'."\n" + ."\n" + .' - **value**: The value of the environment variable.'."\n" + ."\n" + .'- Reference a ConfigMap'."\n" + ."\n" + .' - **name**: The name of the environment variable. You can reference a single key or all keys. To reference all keys, use the `sae-sys-configmap-all-<ConfigMap name>` format. Example: `sae-sys-configmap-all-test1`.'."\n" + ."\n" + .' - **valueFrom**: The source of the environment variable. Set the value to `configMapRef`.'."\n" + ."\n" + .' - **configMapId**: The ID of the ConfigMap.'."\n" + ."\n" + .' - **key**: The key that you want to reference. If you want to reference all key-value pairs, do not specify this parameter.', 'type' => 'string', 'required' => false, 'example' => '[{"name":"envtmp","value":"0"}]', 'title' => ''], ], [ - 'name' => 'EntryAppId', + 'name' => 'JarStartOptions', 'in' => 'query', - 'schema' => [ - 'description' => 'The unique ID of the corresponding gateway.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mse_ingresspost-cn-axc49******', - ], + 'schema' => ['description' => 'Options for starting a job deployed from a JAR package. The default startup command is:'."\n" + .'`$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArg`', 'type' => 'string', 'required' => false, 'example' => '-Xms4G -Xmx4G', 'title' => ''], ], [ - 'name' => 'SwimVersion', + 'name' => 'JarStartArgs', 'in' => 'query', - 'schema' => [ - 'description' => 'The end-to-end grayscale version. Valid values: 0 and 2 (recommended).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2', - ], + 'schema' => ['description' => 'Arguments for starting a job deployed from a JAR package. The default startup command is:'."\n" + .'`$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`', 'type' => 'string', 'required' => false, 'example' => 'custom-args', 'title' => ''], + ], + [ + 'name' => 'WarStartOptions', + 'in' => 'query', + 'schema' => ['description' => 'The startup command for a job deployed from a WAR package. Configuration is the same as for an image-based deployment. For more information, see [Configure a startup command](~~96677~~).', 'type' => 'string', 'required' => false, 'example' => 'CATALINA_OPTS=\\"$CATALINA_OPTS $Options\\" catalina.sh run', 'title' => ''], + ], + [ + 'name' => 'Time', + 'in' => 'query', + 'schema' => ['description' => 'The time to trigger the job, specified in the `yyyy-MM-dd\'T\'HH:mm:ss\'Z\'` format.', 'type' => 'string', 'required' => false, 'example' => '2023-09-14T14:25:02Z', 'title' => ''], + ], + [ + 'name' => 'Replicas', + 'in' => 'query', + 'schema' => ['description' => 'The number of concurrent instances.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The returned information.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'Additional information. Valid values:'."\n" - ."\n" - .'* The error message returned because the request is normal and **success** is returned.'."\n" - .'* If the request is abnormal, the specific exception error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. This parameter is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '67DD9A98-9CCC-5BE8-8C9E-B45E72F4****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID for retrieving detailed information about the call.', 'type' => 'string', 'example' => '0b87b7e716575071334387401e****', 'title' => ''], 'Data' => [ - 'description' => 'The application information.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'GroupId' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2074', - ], + 'Data' => ['description' => 'The job ID.', 'type' => 'string', 'example' => 'manual-3db7a8fa-5d40-4edc-92e4-49d50eab****', 'title' => ''], + 'Msg' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Success' => ['description' => 'Whether the job was successfully executed.'."\n" + ."\n" + .'- **true**: The execution was successful.'."\n" + ."\n" + .'- **false**: The execution failed.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code or a POP error code.'."\n" + ."\n" + .'- **2xx**: Success.'."\n" + ."\n" + .'- **3xx**: Redirection.'."\n" + ."\n" + .'- **4xx**: Request error.'."\n" + ."\n" + .'- **5xx**: Server error.', 'type' => 'string', 'example' => '200', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: Redirection.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: Server error.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Whether the lane group is created. Valid values:'."\n" - ."\n" - .'* **true**: Created successfully.'."\n" - .'* **false**: The ConfigMap failed to be created.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is omitted for successful requests.'."\n" + ."\n" + .'- This parameter is included for failed requests. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or a POP error code.'."\n" + ."\n" + .'- **2xx**: Success.'."\n" + ."\n" + .'- **3xx**: Redirection.'."\n" + ."\n" + .'- **4xx**: Request error.'."\n" + ."\n" + .'- **5xx**: Server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'MseGatewayRule.CreateFailed', - 'errorMessage' => 'Create MSE Gateway rule failed.', - ], - [ - 'errorCode' => 'InternalApiError', - 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', - ], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'JobForbidPolicy', 'errorMessage' => 'You cannot execute new jobs because ongoing jobs exist.', 'description' => ''], + ['errorCode' => 'JobSuspend', 'errorMessage' => 'The job is suspended.', 'description' => ''], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"67DD9A98-9CCC-5BE8-8C9E-B45E72F4****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0b87b7e716575071334387401e****\\",\\n \\"Data\\": {\\n \\"Data\\": \\"manual-3db7a8fa-5d40-4edc-92e4-49d50eab****\\",\\n \\"Msg\\": \\"success\\",\\n \\"Success\\": \\"true\\",\\n \\"Code\\": \\"200\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ExecJob', + 'summary' => 'Call ExecJob to run a job.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-11-22T13:03:51.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"GroupId\\": 110272\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'CreateOrUpdateSwimmingLaneGroup', - ], - 'CreateOrUpdateSwimmingLane' => [ - 'summary' => 'Creates or updates a lane.', - 'path' => '/pop/v1/cas/gray/createOrUpdateSwimmingLane', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExecJob'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:ExecJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetApplication' => [ + 'summary' => 'Retrieves basic information about an application.', + 'path' => '/pop/v1/sam/app/getApplication', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '221506', - 'abilityTreeNodes' => [ - 'FEATUREsaeX255DA', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '238172', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'LaneId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '13857', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => false, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], [ - 'name' => 'LaneName', + 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the lane.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'The name of the application.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], [ - 'name' => 'LaneTag', + 'name' => 'NamespaceId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'required' => false, 'example' => 'cn-shenzhen', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The tag of the lane.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"alicloud.service.tag":"g1"}', + 'title' => 'Schema of Response', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****'], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- If the request is successful, the value is **success**.'."\n" + ."\n" + .'- If the request fails, the value is a specific error code.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query the details of the request.', 'type' => 'string', 'example' => 'ac1a0b2215622920113732501e****', 'title' => ''], + 'Application' => [ + 'description' => 'The details of the application.', + 'type' => 'object', + 'properties' => [ + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '443d638a-ef76-47c4-b707-61197d******', 'title' => ''], + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'AppDescription' => ['description' => 'The application description.', 'type' => 'string', 'example' => 'Test', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-shenzhen', 'title' => ''], + 'ScaleRuleType' => ['description' => 'The type of the auto scaling policy. Valid values:'."\n" + ."\n" + .'- **timing**: scheduled auto scaling.'."\n" + ."\n" + .'- **metric**: metric-based auto scaling.'."\n" + ."\n" + .'- **mix**: hybrid auto scaling.', 'type' => 'string', 'example' => 'timing', 'title' => ''], + 'ScaleRuleEnabled' => ['description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" + ."\n" + .'- **true**: The policy is enabled.'."\n" + ."\n" + .'- **false**: The policy is disabled.', 'type' => 'string', 'example' => 'true', 'title' => ''], + 'RunningInstances' => ['description' => 'The number of running instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + 'Instances' => ['description' => 'The total number of application instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '6', 'title' => ''], + 'Cpu' => ['description' => 'The CPU required for each instance, in millicores. This value cannot be 0. Valid values:'."\n" + ."\n" + .'- **500**'."\n" + ."\n" + .'- **1000**'."\n" + ."\n" + .'- **2000**'."\n" + ."\n" + .'- **4000**'."\n" + ."\n" + .'- **8000**'."\n" + ."\n" + .'- **12000**'."\n" + ."\n" + .'- **16000**'."\n" + ."\n" + .'- **32000**', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'Mem' => ['description' => 'The memory required for each instance, in MB. This value cannot be 0. The memory specification is coupled with the CPU specification. The following configurations are supported:'."\n" + ."\n" + .'- **1024**: corresponds to 500 or 1,000 millicores of CPU.'."\n" + ."\n" + .'- **2048**: corresponds to 500, 1,000, or 2,000 millicores of CPU.'."\n" + ."\n" + .'- **4096**: corresponds to 1,000, 2,000, or 4,000 millicores of CPU.'."\n" + ."\n" + .'- **8192**: corresponds to 2,000, 4,000, or 8,000 millicores of CPU.'."\n" + ."\n" + .'- **12288**: corresponds to 12,000 millicores of CPU.'."\n" + ."\n" + .'- **16384**: corresponds to 4,000, 8,000, or 16,000 millicores of CPU.'."\n" + ."\n" + .'- **24576**: corresponds to 12,000 millicores of CPU.'."\n" + ."\n" + .'- **32768**: corresponds to 16,000 millicores of CPU.'."\n" + ."\n" + .'- **65536**: corresponds to 8,000, 16,000, or 32,000 millicores of CPU.'."\n" + ."\n" + .'- **131072**: corresponds to 32,000 millicores of CPU.', 'type' => 'integer', 'format' => 'int32', 'example' => '4096', 'title' => ''], + 'MseEnabled' => ['description' => 'Indicates whether WebAssemblyFilter is enabled. Valid values:'."\n" + ."\n" + .'- **true**: enabled.'."\n" + ."\n" + .'- **false**: disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'MseNamespaceId' => ['description' => 'The namespace ID of the MSE instance.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ProgrammingLanguage' => ['description' => 'The programming language of the application. Valid values:'."\n" + ."\n" + .'- **java**: Java.'."\n" + ."\n" + .'- **php**: PHP.'."\n" + ."\n" + .'- **other**: other languages, such as Python, C++, Go, .NET, and Node.js.', 'type' => 'string', 'example' => 'java', 'title' => ''], + 'BaseAppId' => ['description' => 'The base application ID.', 'type' => 'string', 'example' => 'ee99cce6-1c8e-4bfa-96c3-3e2fa9******', 'title' => ''], + 'IsStateful' => ['description' => 'Indicates whether the application is stateful.', 'type' => 'boolean', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NoPermission', 'errorMessage' => 'Resource no permission', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"Application\\": {\\n \\"AppId\\": \\"443d638a-ef76-47c4-b707-61197d******\\",\\n \\"AppName\\": \\"test\\",\\n \\"AppDescription\\": \\"Test\\",\\n \\"NamespaceId\\": \\"cn-shenzhen\\",\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"ScaleRuleEnabled\\": \\"true\\",\\n \\"RunningInstances\\": 6,\\n \\"Instances\\": 6,\\n \\"Cpu\\": 2000,\\n \\"Mem\\": 4096,\\n \\"MseEnabled\\": true,\\n \\"MseNamespaceId\\": \\"test\\",\\n \\"ProgrammingLanguage\\": \\"java\\",\\n \\"BaseAppId\\": \\"ee99cce6-1c8e-4bfa-96c3-3e2fa9******\\",\\n \\"IsStateful\\": false\\n }\\n}","type":"json"}]', + 'title' => 'GetApplication', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:28.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-04T06:12:37.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:GetApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + 'translator' => 'machine', + ], + 'GetArmsTopNMetric' => [ + 'path' => '/pop/v1/sam/getArmsTopNMetric', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'GroupId', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '16756', + 'abilityTreeNodes' => ['FEATUREsaeK7DHH9'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane group to which the lane belongs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => 'b2a8a925-477a-eswa-b823-d5e22500****', - ], + 'schema' => ['description' => 'The field based on which you want to sort the returned entries.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'NamespaceId', + 'name' => 'OrderBy', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The number of entries to return. Valid values: 0 to 100.'."\n", 'type' => 'string', 'required' => true, 'example' => 'count', 'title' => ''], ], [ - 'name' => 'CanaryModel', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'Full-link Grayscale Mode:'."\n" - ."\n" - .'* 0: The request is routed based on the content of the request.'."\n" - .'* 1: routing based on percentages'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '0', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10', 'title' => ''], ], [ - 'name' => 'Enable', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'Lane Status'."\n" - ."\n" - .'* true: enabled'."\n" - .'* false: disabled'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The end of the time range to query.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1675823135951', 'title' => ''], ], [ - 'name' => 'AppEntryRule', + 'name' => 'EndTime', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The SAE application type. Valid values:'."\n" + ."\n" + .'* **micro_service**'."\n" + .'* **web**'."\n" + .'* **job**'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1675824035951', 'title' => ''], + ], + [ + 'name' => 'AppSource', + 'in' => 'query', + 'schema' => ['description' => 'The CPU allocation policy. Valid values:'."\n" + ."\n" + .'* **request**: CPU cores are allocated only when a request is initiated.'."\n" + .'* **always**: Fixed CPU cores are always allocated.'."\n", 'type' => 'string', 'required' => false, 'example' => 'micro_service', 'title' => ''], + ], + [ + 'name' => 'CpuStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The additional information that is returned. The following limits are imposed on the ID:'."\n" + ."\n" + .'* success: If the call is successful, **success** is returned.'."\n" + .'* An error code: If the call fails, an error code is returned.'."\n", 'type' => 'string', 'required' => false, 'example' => 'always', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The route configuration of the gateway.'."\n" - ."\n" - .'> This parameter is required if the gateway entry of the lane group is Java.'."\n", 'type' => 'object', 'properties' => [ - 'Paths' => [ - 'description' => 'The matched request path.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The request path.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/A', - ], - 'required' => false, - ], - 'Percentage' => [ - 'description' => 'The traffic ratio. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '50', - ], - 'ConditionJoiner' => [ - 'description' => 'Logical connectors between conditions:'."\n" - ."\n" - .'* AND: All conditions are met at the same time.'."\n" - .'* OR: Any condition is met.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AND', - ], - 'Conditions' => [ - 'description' => 'The conditions that trigger circuit breaking.'."\n", + 'Message' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => '3B763F98-0BA2-5C23-B6B8-558568D2C1C2', 'type' => 'string', 'example' => '3B763F98-0BA2-5C23-B6B8-558568D2****', 'title' => ''], + 'Data' => [ + 'description' => 'The details of applications.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Item'."\n", + 'description' => 'The details of the application.'."\n", 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The parameter type. Valid values:'."\n" - ."\n" - .'* header'."\n" - .'* param'."\n" - .'* Cookie: forwards requests based on cookies.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Header', - ], - 'Name' => [ - 'description' => 'The parameter name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 't', - ], - 'Condition' => [ - 'description' => 'Matching Rule:'."\n" - ."\n" - .'* The exact match. The condition is met if the traffic value and the condition value are exactly the same.'."\n" - .'* The exact match. The condition is met if the traffic value and the condition value are exactly the same.'."\n" - .'* The inclusive match. The condition is met if the traffic value is included in the specified list.'."\n" - .'* The percentage match. Principle: The condition is met if \'hash(get(`key`)) % 100 < value\'.'."\n" - .'* Regular match: a regular expression match. The condition is met when the match is based on regular expression rules.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '==', - ], - 'Value' => [ - 'description' => 'The match value of the condition.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'g1', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'IndependentPercentageEnable' => [ - 'description' => 'Whether to enable proportional grayscale.'."\n" - ."\n" - .'* true: enabled. After you enable this parameter, you must configure the PercentageByPath.'."\n" - .'* false: disables the service.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'PercentageByPath' => [ - 'description' => 'The traffic configuration.'."\n", - 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'integer', - 'format' => 'int32', - 'description' => 'Configure the traffic ratio for the configured path, ranging from 1 to 100.'."\n", - 'example' => '50', + 'AppId' => ['description' => 'The application ID.'."\n", 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'Name' => ['description' => 'The application name.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'RegionId' => ['description' => 'The namespace ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Count' => ['description' => 'The total number of requests.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + 'Error' => ['description' => 'The number of errors.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'Rt' => ['description' => 'The average response time. Unit: milliseconds.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '100', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'Code' => ['description' => 'The HTTP status code. The following limits are imposed on the ID:'."\n" + ."\n" + .'* **2xx**: The call was successful.'."\n" + .'* **3xx**: The call was redirected.'."\n" + .'* **4xx**: The call failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the list of applications was obtained. The following limits are imposed on the ID:'."\n" + ."\n" + .'* **true**: The namespaces were obtained.'."\n" + .'* **false**: no'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'required' => false, + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3B763F98-0BA2-5C23-B6B8-558568D2****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Count\\": 100,\\n \\"Error\\": 0,\\n \\"Rt\\": 100\\n }\\n ],\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetArmsTopNMetricResponse>\\n <Message>success</Message>\\n <RequestId>3B763F98-0BA2-5C23-B6B8-558568D2C1C2</RequestId>\\n <Data>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <Name>test</Name>\\n <RegionId>cn-hangzhou</RegionId>\\n <Count>100</Count>\\n <Error>0</Error>\\n <Rt>100</Rt>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</GetArmsTopNMetricResponse>","errorExample":""}]', + 'title' => 'GetArmsTopNMetric', + 'summary' => 'Queries the top N applications in Application Monitoring.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-03-28T05:28:44.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetArmsTopNMetric'], + ], + ], + 'ramActions' => [ [ - 'name' => 'MseGatewayEntryRule', - 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The route configuration of the MSE gateway.'."\n" - ."\n" - .'> If the **EntryAppType** is set to **apig** or **mse-gw**, it is required.'."\n", - 'type' => 'object', - 'properties' => [ - 'RouteIds' => [ - 'description' => 'The ID of the route.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the gateway route. Call the [ListGatewayRoute](~~409437~~) to obtain.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '78830', - ], - 'required' => false, - ], - 'Percentage' => [ - 'description' => 'The percentage of traffic replication. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'ConditionJoiner' => [ - 'description' => 'Logical connectors between conditions:'."\n" - ."\n" - .'* AND: All conditions are met at the same time.'."\n" - .'* OR: Any condition is met.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'AND', - ], - 'Conditions' => [ - 'description' => 'Routing Condition'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Configure routing conditions.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The parameter type. Valid values:'."\n" - ."\n" - .'* header'."\n" - .'* param'."\n" - .'* Cookie: forwards requests based on cookies.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'header ', - ], - 'Name' => [ - 'description' => 'The parameter name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'Condition' => [ - 'description' => 'The matching rule.'."\n" - ."\n" - .'* \\==: exact match.'."\n" - .'* ! =: exact match.'."\n" - .'* in: contains matches.'."\n" - .'* Percentage: Percentage matching.'."\n" - .'* Regular matching: specifies whether a regular expression is used to search for the original string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '==', - ], - 'Value' => [ - 'description' => 'The match value of the condition.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'g1', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'IndependentPercentageEnable' => [ - 'description' => 'Whether to enable proportional grayscale.'."\n" - ."\n" - .'* true: Enabled. After you enable this parameter, you must configure the PercentageByPath.'."\n" - .'* false: Disabled.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'PercentageByRoute' => [ - 'description' => 'The traffic configuration.'."\n", - 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - 'description' => 'Valid values: 1 to 100'."\n", - ], - ], + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:GetArmsTopNMetric', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], - 'required' => false, ], ], ], + ], + 'GetAvailabilityMetric' => [ + 'path' => '/pop/v1/sam/getAvailabilityMetric', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '14389', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], + ], + [ + 'name' => 'Limit', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'AppSource', + 'in' => 'query', + 'schema' => ['description' => 'The SAE application type. Valid values:'."\n" + ."\n" + .'* **micro_service**'."\n" + .'* **web**'."\n" + .'* **job**'."\n", 'type' => 'string', 'required' => false, 'example' => 'micro_service', 'title' => ''], + ], + [ + 'name' => 'CpuStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The CPU allocation policy. Valid values:'."\n" + ."\n" + .'* **request**: CPU cores are allocated only when a request is initiated.'."\n" + .'* **always**: Fixed CPU cores are always allocated.'."\n", 'type' => 'string', 'required' => false, 'example' => 'always', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Created or updated swimlane results.'."\n", + 'description' => 'The response parameters.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned. Value description:'."\n" - ."\n" - .'* If the request was successful, a success message is returned.'."\n" - .'* An error code is returned if the request failed.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'Message' => ['description' => 'The additional information that is returned. The following limits are imposed on the ID:'."\n" + ."\n" + .'* success: If the call is successful, **success** is returned.'."\n" + .'* An error code: If the call fails, an error code is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '3A92C4EA-4C53-5A1C-8AEB-F2DB1198****', 'title' => ''], 'Data' => [ - 'description' => 'The returned information.'."\n", - 'type' => 'object', - 'properties' => [ - 'LaneId' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '22318', + 'description' => 'The data entries returned.'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'The details about the aggregation type.'."\n", + 'type' => 'object', + 'properties' => [ + 'AppId' => ['description' => 'The application ID.'."\n", 'type' => 'string', 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], + 'Name' => ['description' => 'The application name.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'RegionId' => ['description' => 'The namespace ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Runnings' => ['description' => 'The current number of instances.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'Instances' => ['description' => 'The expected number of instances.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'ErrorInstances' => ['description' => 'The number of abnormal instances.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'EnableAutoscale' => ['description' => 'Indicates whether an auto scaling policy is enabled. Valid values:'."\n" + ."\n" + .'* **1**: An auto scaling policy is enabled.'."\n" + .'* **0**: No auto scaling policy is enabled.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: Success.'."\n" - .'* **3xx**: Redirection.'."\n" - .'* **4xx**: Request error.'."\n" - .'* **5xx**: Server error.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Whether the creation or update was successful. Valid values:'."\n" - ."\n" - .'* true: created.'."\n" - .'* false: failed to create.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The HTTP status code. The following limits are imposed on the ID:'."\n" + ."\n" + .'* **2xx**: The call was successful.'."\n" + .'* **3xx**: The call was redirected.'."\n" + .'* **4xx**: The call failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the list of applications was obtained. The following limits are imposed on the ID:'."\n" + ."\n" + .'* **true**: The namespaces were obtained.'."\n" + .'* **false**: no'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'MseGatewayRule.CreateFailed', - 'errorMessage' => 'Create MSE Gateway rule failed.', - ], - [ - 'errorCode' => 'InternalApiError', - 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3A92C4EA-4C53-5A1C-8AEB-F2DB1198****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"017f39b8-dfa4-4e16-a84b-1dcee4b1****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Runnings\\": 1,\\n \\"Instances\\": 0,\\n \\"ErrorInstances\\": 0,\\n \\"EnableAutoscale\\": 0\\n }\\n ],\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetAvailabilityMetricResponse>\\n <Message>success</Message>\\n <RequestId>3A92C4EA-4C53-5A1C-8AEB-F2DB11982D5F</RequestId>\\n <Data>\\n <AppId>017f39b8-dfa4-4e16-a84b-1dcee4b1****</AppId>\\n <Name>test</Name>\\n <RegionId>cn-hangzhou</RegionId>\\n <Runnings>1</Runnings>\\n <Instances>0</Instances>\\n <ErrorInstances>0</ErrorInstances>\\n <EnableAutoscale>0</EnableAutoscale>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</GetAvailabilityMetricResponse>","errorExample":""}]', + 'title' => 'GetAvailabilityMetric', + 'summary' => 'Queries the top N applications in which abnormal instances exist. The applications are sorted by the total number of abnormal instances.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-03-28T05:28:44.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"LaneId\\": 22318\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'CreateOrUpdateSwimmingLane', - ], - 'ListApplicationsForSwimmingLane' => [ - 'summary' => 'Obtains the application list for the end-to-end grayscale pull application list.', - 'path' => '/pop/v1/cas/gray/listApplicationsForSwimmingLane', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAvailabilityMetric'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:GetAvailabilityMetric', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetChangeOrderMetric' => [ + 'path' => '/pop/v1/sam/getChangeOrderMetric', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '221435', - 'abilityTreeNodes' => [ - 'FEATUREsaeUDWJ2L', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '14387', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of a namespace.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The ID of the region.', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'CreateTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application group. You can call the [DescribeApplicationGroups](~~126249~~) operation to obtain the ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => 'b2a8a925-477a-eswa-b823-d5e22500****', - ], + 'schema' => ['description' => 'The start time when the change order was created.', 'type' => 'string', 'required' => true, 'example' => '1661152748883', 'title' => ''], ], [ - 'name' => 'Tag', + 'name' => 'OrderBy', 'in' => 'query', - 'schema' => [ - 'description' => 'The canary tag'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"alicloud.service.tag":"gray"}'."\n", - ], + 'schema' => ['description' => 'The field by which to sort the query results. The value of this parameter must be a field in the response parameters.', 'type' => 'string', 'required' => true, 'example' => 'errorPercent', 'title' => ''], + ], + [ + 'name' => 'Limit', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return. Valid values: 0 to 100.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'AppSource', + 'in' => 'query', + 'schema' => ['description' => 'The type of the SAE application.'."\n" + ."\n" + .'- **micro\\_service**'."\n" + ."\n" + .'- **web**'."\n" + ."\n" + .'- **job**', 'type' => 'string', 'required' => false, 'example' => 'micro_service', 'title' => ''], + ], + [ + 'name' => 'CpuStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The CPU allocation policy.'."\n" + ."\n" + .'- **request**: CPU is allocated only when a request is received.'."\n" + ."\n" + .'- **always**: A fixed amount of CPU is always allocated.', 'type' => 'string', 'required' => false, 'example' => 'always', 'title' => ''], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], + ], + [ + 'name' => 'CoType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the change order.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The queried polices.'."\n", 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The message returned. The following limits are imposed on the ID:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* An error code is returned when a request failed.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- Returns **success** if the request is successful.'."\n" + ."\n" + .'- Returns an error code if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '3B763F98-0BA2-5C23-B6B8-558568D2****', 'title' => ''], 'Data' => [ - 'description' => 'The list of applications.'."\n", + 'description' => 'The list of application information.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the application list.'."\n", + 'description' => 'The application information.', 'type' => 'object', 'properties' => [ - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'demo-app', - ], - 'MseAppId' => [ - 'description' => 'The ID of the MSE instance.'."\n", - 'type' => 'string', - 'example' => 'mse-cn-hvm47******', - ], - 'MseAppName' => [ - 'description' => 'MSE Instance Name'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'MseNamespaceId' => [ - 'description' => 'The ID of the namespace to which the MSE instance belongs.'."\n", - 'type' => 'string', - 'example' => 'sae-test', - ], - 'BaseAppId' => [ - 'description' => 'The ID of the baseline application.'."\n", - 'type' => 'string', - 'example' => '8c573618-8d72-4407-baf4-f7b64b******', - ], - 'BaseAppName' => [ - 'description' => 'The name of the baseline application.'."\n", - 'type' => 'string', - 'example' => 'demo', - ], - 'ServiceTags' => [ - 'description' => 'The canary tag configured for the application.'."\n", - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'description' => 'The canary tag configured for the application.'."\n", - 'example' => '{"alicloud.service.tag":"gray"}', - ], - ], - ], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'Name' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'RegionId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Total' => ['description' => 'The total number of change orders.', 'type' => 'integer', 'format' => 'int64', 'example' => '4', 'title' => ''], + 'Error' => ['description' => 'The number of failed change orders.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'ErrorPercent' => ['description' => 'The percentage of failed change orders.', 'type' => 'number', 'format' => 'float', 'example' => '0.25', 'title' => ''], + 'TaskTimeCostMsAvg' => ['description' => 'The average task duration, in milliseconds.', 'type' => 'string', 'title' => '', 'example' => ''], + 'OptimizeSuggestions' => ['description' => 'The optimization suggestions.', 'type' => 'string', 'title' => '', 'example' => ''], + 'MaxTimeCostMs' => ['description' => 'The maximum duration, in milliseconds.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => ''], + 'AvgTimeCostMs' => ['description' => 'The average duration of a change order, in milliseconds.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', ], - ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, the **ErrorCode** parameter is returned. For more information, see **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of application instances was queried. Valid values:'."\n" - ."\n" - .'* **true**: The instance groups were obtained.'."\n" - .'* **false**: The instance groups failed to be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client-side error occurred.'."\n" + ."\n" + .'- **5xx**: A server-side error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InternalApiError', - 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3B763F98-0BA2-5C23-B6B8-558568D2****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Total\\": 4,\\n \\"Error\\": 1,\\n \\"ErrorPercent\\": 0.25,\\n \\"TaskTimeCostMsAvg\\": \\"\\",\\n \\"OptimizeSuggestions\\": \\"\\",\\n \\"MaxTimeCostMs\\": 0,\\n \\"AvgTimeCostMs\\": 0\\n }\\n ],\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'GetChangeOrderMetric', + 'summary' => 'To retrieve the top N applications with abnormal change orders, call the `GetChangeOrderMetric` API.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-04-01T07:06:32.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2024-03-28T05:28:44.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetChangeOrderMetric'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:GetChangeOrderMetric', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"0099b7be-5f5b-4512-a7fc-56049ef1****\\",\\n \\"AppName\\": \\"demo-app\\",\\n \\"MseAppId\\": \\"mse-cn-hvm47******\\",\\n \\"MseAppName\\": \\"test\\",\\n \\"MseNamespaceId\\": \\"sae-test\\",\\n \\"BaseAppId\\": \\"8c573618-8d72-4407-baf4-f7b64b******\\",\\n \\"BaseAppName\\": \\"demo\\",\\n \\"ServiceTags\\": {\\n \\"key\\": \\"{\\\\\\"alicloud.service.tag\\\\\\":\\\\\\"gray\\\\\\"}\\"\\n }\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'ListApplicationsForSwimmingLane', ], - 'ListSwimmingLaneGatewayRoutes' => [ - 'summary' => 'Query the gateway routes that are available for a lane', - 'path' => '/pop/v1/cas/gray/listSwimmingLaneGatewayRoutes', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetScaleAppMetric' => [ + 'path' => '/pop/v1/sam/getScaleAppMetric', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '221887', - 'abilityTreeNodes' => [ - 'FEATUREsaeX255DA', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '14220', + 'abilityTreeNodes' => ['FEATUREsae5HLO11'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'GatewayUniqueId', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'The unique ID of the gateway.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'gw-277c0727535f4aae917e48de0f******', - ], + 'schema' => ['description' => 'The number of entries to return. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'AppSource', + 'in' => 'query', + 'schema' => ['description' => 'The SAE application type. Valid values:'."\n" + ."\n" + .'* **micro_service**'."\n" + .'* **web**'."\n" + .'* **job**'."\n", 'type' => 'string', 'required' => false, 'example' => 'micro_service', 'title' => ''], + ], + [ + 'name' => 'CpuStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The CPU allocation policy. Valid values:'."\n" + ."\n" + .'* **request**: CPU cores are allocated only when a request is initiated.'."\n" + .'* **always**: Fixed CPU cores are always allocated.'."\n", 'type' => 'string', 'required' => false, 'example' => 'always', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The returned information.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'Additional information. Valid values:'."\n" - ."\n" - .'* The error message returned because the request is normal and **success** is returned.'."\n" - .'* If the request is abnormal, the specific exception error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. This parameter is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622246421415014e****', - ], + 'Message' => ['description' => 'The additional information that is returned. The following limits are imposed on the ID:'."\n" + ."\n" + .'* success: If the call is successful, **success** is returned.'."\n" + .'* An error code: If the call fails, an error code is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '3B763F98-0BA2-5C23-B6B8-558568D2****', 'title' => ''], 'Data' => [ - 'description' => 'Responses.'."\n", + 'description' => 'The details of applications.'."\n", 'type' => 'array', 'items' => [ - 'description' => 'Details.'."\n", + 'description' => 'The details of the application.'."\n", 'type' => 'object', 'properties' => [ - 'RouteId' => [ - 'description' => 'The ID of the route.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16933', - ], - 'RouteName' => [ - 'description' => 'The name of the route.'."\n", - 'type' => 'string', - 'example' => 'test-route', - ], - 'RoutePredicate' => [ - 'description' => 'The routing rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'PathPredicate' => [ - 'description' => 'The path matching rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The route URL.'."\n", - 'type' => 'string', - 'example' => '/Path', - ], - 'Type' => [ - 'description' => 'The type of the protection rule.'."\n", - 'type' => 'string', - 'example' => 'Header'."\n", - ], - ], - ], - ], - ], - ], + 'AppId' => ['description' => 'The application ID.'."\n", 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'Name' => ['description' => 'The application name.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'RegionId' => ['description' => 'The namespace ID.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Runnings' => ['description' => 'The current number of instances.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + 'MaxReplicas' => ['description' => 'The maximum number of instances.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values: Valid values:'."\n" - ."\n" - .'* **true**: The configurations were obtained.'."\n" - .'* **false**: The configurations failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The HTTP status code. The following limits are imposed on the ID:'."\n" + ."\n" + .'* **2xx**: The call was successful.'."\n" + .'* **3xx**: The call was redirected.'."\n" + .'* **4xx**: The call failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the microservice list was obtained. The following limits are imposed on the ID:'."\n" + ."\n" + .'* **true**: The namespaces were obtained.'."\n" + .'* **false**: no'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'MseGatewayRule.CreateFailed', - 'errorMessage' => 'Create MSE Gateway rule failed.', - ], - [ - 'errorCode' => 'InternalApiError', - 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3B763F98-0BA2-5C23-B6B8-558568D2****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Runnings\\": 10,\\n \\"MaxReplicas\\": 10\\n }\\n ],\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetScaleAppMetricResponse>\\n <Message>success</Message>\\n <RequestId>3B763F98-0BA2-5C23-B6B8-558568D2C1C2</RequestId>\\n <Data>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <Name>test</Name>\\n <RegionId>cn-hangzhou</RegionId>\\n <Runnings>10</Runnings>\\n <MaxReplicas>10</MaxReplicas>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</GetScaleAppMetricResponse>","errorExample":""}]', + 'title' => 'GetScaleAppMetric', + 'summary' => 'Queries the top N applications in which auto scaling takes effect.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-03-28T05:28:44.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": [\\n {\\n \\"RouteId\\": 16933,\\n \\"RouteName\\": \\"test-route\\",\\n \\"RoutePredicate\\": {\\n \\"PathPredicate\\": {\\n \\"Path\\": \\"/Path\\",\\n \\"Type\\": \\"Header\\\\n\\"\\n }\\n }\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'ListSwimmingLaneGatewayRoutes', - ], - 'ListSwimmingLaneGroupTags' => [ - 'summary' => 'Queries all lane tags.', - 'path' => '/pop/v1/cas/gray/listSwimmingLaneGroupTags', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetScaleAppMetric'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:GetScaleAppMetric', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetWarningEventMetric' => [ + 'path' => '/pop/v1/sam/getWarningEventMetric', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '221498', - 'abilityTreeNodes' => [ - 'FEATUREsaeX255DA', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '14386', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of a namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The region ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2074', - ], + 'schema' => ['description' => 'The beginning of the time range to query.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1675823135951', 'title' => ''], + ], + [ + 'name' => 'EndTime', + 'in' => 'query', + 'schema' => ['description' => 'The end of the time range to query.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1675824035951', 'title' => ''], + ], + [ + 'name' => 'Limit', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return. Valid values: 0 to 100.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'AppSource', + 'in' => 'query', + 'schema' => ['description' => 'The SAE application type. Valid values:'."\n" + ."\n" + .'* **micro_service**'."\n" + .'* **web**'."\n" + .'* **job**'."\n", 'type' => 'string', 'required' => false, 'example' => 'micro_service', 'title' => ''], + ], + [ + 'name' => 'CpuStrategy', + 'in' => 'query', + 'schema' => ['description' => 'The CPU allocation policy. Valid values:'."\n" + ."\n" + .'* **request**: CPU cores are allocated only when a request is initiated.'."\n" + .'* **always**: Fixed CPU cores are always allocated.'."\n", 'type' => 'string', 'required' => false, 'example' => 'always', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The returned information.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '30375C38-F4ED-4135-A0AE-5C75DC7F****', - ], - 'Message' => [ - 'description' => 'Additional information. Valid values:'."\n" - ."\n" - .'* The error message returned because the request is normal and **success** is returned.'."\n" - .'* If the request is abnormal, the specific exception error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. This parameter is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622920113732501e****', - ], + 'Message' => ['description' => 'The additional information that is returned. The following limits are imposed on the ID:'."\n" + ."\n" + .'* success: If the call is successful, **success** is returned.'."\n" + .'* An error code: If the call fails, an error code is returned.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.'."\n", 'type' => 'string', 'example' => '3B763F98-0BA2-5C23-B6B8-558568D2****', 'title' => ''], 'Data' => [ - 'description' => 'Responses.'."\n", + 'description' => '3B763F98-0BA2-5C23-B6B8-558568D2C1C2', 'type' => 'array', 'items' => [ - 'description' => 'Details.'."\n", + 'description' => 'The details of applications.'."\n", 'type' => 'object', 'properties' => [ - 'Tag' => [ - 'description' => 'The label of the lane.'."\n", - 'type' => 'string', - 'example' => '{"alicloud.service.tag":"g1"}'."\n", - ], - 'Metadata' => [ - 'description' => 'The metadata.'."\n", - 'type' => 'string', - 'example' => '{"version":"1.0.0","owner":"team-a"}'."\n", - ], + 'AppId' => ['description' => 'The details of the application.'."\n", 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'Name' => ['description' => 'The application ID.'."\n", 'type' => 'string', 'example' => 'test', 'title' => ''], + 'RegionId' => ['description' => 'The application name.'."\n", 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'WarningCount' => ['description' => 'The namespace ID.'."\n", 'type' => 'integer', 'format' => 'int64', 'example' => '10', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'ErrorCode' => [ - 'description' => 'Error code. Valid values:'."\n" - ."\n" - .'* If the request is successful, no **ErrorCode** fields are returned.'."\n" - .'* Request failed: **ErrorCode** fields are returned. For more information, see **Error codes**.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: Redirection.'."\n" - .'* **4xx**: Request error.'."\n" - .'* **5xx**: Server error.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Whether the data is successful. Valid values:'."\n" - ."\n" - .'* **true**: The request is successful.'."\n" - .'* **false**: Failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'Code' => ['description' => 'The number of Warning events.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'The HTTP status code. The following limits are imposed on the ID:'."\n" + ."\n" + .'* **2xx**: The call was successful.'."\n" + .'* **3xx**: The call was redirected.'."\n" + .'* **4xx**: The call failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'MseGatewayRule.CreateFailed', - 'errorMessage' => 'Create MSE Gateway rule failed.', - ], - [ - 'errorCode' => 'InternalApiError', - 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'Sls.NotExist', 'errorMessage' => 'SLS configuration does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30375C38-F4ED-4135-A0AE-5C75DC7F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"Data\\": [\\n {\\n \\"Tag\\": \\"g1\\\\n\\",\\n \\"Metadata\\": \\"{\\\\\\\\\\\\\\"tag\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"g1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"priority\\\\\\\\\\\\\\":100,\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"tag\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"desc\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sys-label\\\\\\\\\\\\\\"}\\\\n\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'ListSwimmingLaneGroupTags', - ], - 'DescribeSwimmingLane' => [ - 'summary' => 'Queries details about swimlanes.', - 'path' => '/pop/v1/cas/gray/describeSwimmingLane', - 'methods' => [ - 'get', + 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3B763F98-0BA2-5C23-B6B8-558568D2****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"WarningCount\\": 10\\n }\\n ],\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetWarningEventMetricResponse>\\n <Message>success</Message>\\n <RequestId>3B763F98-0BA2-5C23-B6B8-558568D2C1C2</RequestId>\\n <Data>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <Name>test</Name>\\n <RegionId>cn-hangzhou</RegionId>\\n <WarningCount>10</WarningCount>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</GetWarningEventMetricResponse>","errorExample":""}]', + 'title' => 'GetWarningEventMetric', + 'summary' => 'Queries the top N applications in which Warning events occur.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-03-28T05:28:44.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetWarningEventMetric'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:GetWarningEventMetric', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetWebshellToken' => [ + 'path' => '/pop/v1/sam/instance/webshellToken', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '221504', - 'abilityTreeNodes' => [ - 'FEATUREsaeX255DA', - ], + 'abilityTreeCode' => '6366', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of a namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The ID of the interactive messaging application.', 'type' => 'string', 'required' => true, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'PodName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2074', - ], + 'schema' => ['description' => 'The name of the pod.', 'type' => 'string', 'required' => true, 'example' => 'hello-podsdfsdfsdfsdf', 'title' => ''], ], [ - 'name' => 'LaneId', + 'name' => 'ContainerName', 'in' => 'query', + 'schema' => ['description' => 'The name of the init container.'."\n" + ."\n" + .'Note:'."\n" + ."\n" + .'- If you specify this parameter, Cloud Assistant runs the command in the specified container of the instances.'."\n" + ."\n" + .'- If this parameter is specified, the command can run only on Linux instances on which Cloud Assistant Agent 2.2.3.344 or later is installed.'."\n" + ."\n" + .' - For information about how to query the version of Cloud Assistant Agent, see [Install Cloud Assistant Agent](~~64921~~).'."\n" + ."\n" + .' - For information about how to upgrade Cloud Assistant Agent, see [Upgrade or disable upgrades for Cloud Assistant Agent](~~134383~~).'."\n" + ."\n" + .'- If this parameter is specified, the `Username` parameter that is specified in a request to call this operation and the `WorkingDir` parameter that is specified in a request to call the [CreateCommand](~~64844~~) operation do not take effect. You can run the command only in the default working directory of the container by using the default user of the container. For more information, see [Use Cloud Assistant to run commands in containers](~~456641~~).'."\n" + ."\n" + .'- If this parameter is specified, only shell scripts can be run in Linux containers. You cannot add a command in the format similar to `#!/usr/bin/python` at the beginning of a script to specify a script interpreter. For more information, see [Use Cloud Assistant to run commands in containers](~~456641~~).', 'type' => 'string', 'required' => false, 'example' => 'ad-helper', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '9637', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message. Value description:'."\n" + ."\n" + .'- If the request was successful, a success message is returned.'."\n" + ."\n" + .'- An error code is returned if the request failed.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the trace.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'Token' => ['description' => 'The information about the token.', 'type' => 'string', 'example' => 'zWWpvRj_5pzof4hfo7-hGynM8oGMmO_7', 'title' => ''], + 'HttpUrl' => ['description' => 'Webshell page address', 'type' => 'string', 'example' => 'HttpUrl : "https://saenext.console.aliyun.com/cn-shenzhen/app-list/app1/micro-app/shell/pod1?tokenId=xxx', 'title' => ''], + 'WebSocketUrl' => ['description' => 'The WebSocket address.', 'type' => 'string', 'example' => 'wss://sae-webshell.console.aliyun.com/websocket/eamWebshell?tokenId=xxx®ion=cn-shenzhen', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code returned if the call failed. Value values:'."\n" + ."\n" + .'- If the request was successful, **ErrorCode** is not returned.'."\n" + ."\n" + .'- If the request failed, the **ErrorCode** parameter is returned. For more information, see **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: The request failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'OperationFailed.RPCError', 'errorMessage' => 'Internal RPC request processing error.', 'description' => 'Internal RPC request processing error.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Token\\": \\"zWWpvRj_5pzof4hfo7-hGynM8oGMmO_7\\",\\n \\"HttpUrl\\": \\"HttpUrl : \\\\\\"https://saenext.console.aliyun.com/cn-shenzhen/app-list/app1/micro-app/shell/pod1?tokenId=xxx\\",\\n \\"WebSocketUrl\\": \\"wss://sae-webshell.console.aliyun.com/websocket/eamWebshell?tokenId=xxx®ion=cn-shenzhen\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'GetWebshellToken', + 'summary' => 'Obtains the token used to remotely log on to the Webshell of an instance.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-05-07T09:45:49.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-01-02T02:45:29.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetWebshellToken'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:GetWebshellToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], + ], + 'ListAllSwimmingLaneGroups' => [ + 'summary' => 'Returns a list of all swimlane groups.', + 'path' => '/pop/v1/cas/gray/listSwimmingLaneGroups', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'abilityTreeCode' => '221433', + 'abilityTreeNodes' => ['FEATUREsaeX255DA'], + ], + 'parameters' => [ + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The returned information.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '30375C38-F4ED-4135-A0AE-5C75DC7F****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* The error message returned because the request is normal and **success** is returned.'."\n" - .'* If the request is abnormal, the specific exception error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. This parameter is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '30375C38-F4ED-4135-A0AE-5C75DC7F****'], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- **success** is returned if the request is successful.'."\n" + ."\n" + .'- An error message is returned if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of a request.', 'type' => 'string', 'example' => 'ac1a0b2215622246421415014e****', 'title' => ''], 'Data' => [ - 'description' => 'Responses.'."\n", - 'type' => 'object', - 'properties' => [ - 'LaneId' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9488', - ], - 'LaneName' => [ - 'description' => 'The name of the lane group.'."\n", - 'type' => 'string', - 'example' => 'mse-test', - ], - 'LaneTag' => [ - 'description' => 'The label of the lane.'."\n", - 'type' => 'string', - 'example' => '{"alicloud.service.tag":"g1"}', - ], - 'Enable' => [ - 'description' => 'Lane status:'."\n" + 'description' => 'The returned data.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the swimming lane groups.', + 'type' => 'object', + 'properties' => [ + 'GroupId' => ['description' => 'The ID of the swimming lane group.', 'type' => 'integer', 'format' => 'int64', 'example' => '110283', 'title' => ''], + 'GroupName' => ['description' => 'The name of the swimming lane group.', 'type' => 'string', 'example' => 'mse-test', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'MseNamespaceId' => ['description' => 'The ID of the namespace to which the MSE instance belongs.', 'type' => 'string', 'example' => 'sae-ent'."\n", 'title' => ''], + 'CanaryModel' => ['description' => 'The canary release mode.'."\n" ."\n" - .'* true: enabled'."\n" - .'* false: disabled'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'EnableRules' => [ - 'description' => 'Whether the traffic rule is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'CanaryModel' => [ - 'description' => 'The routing mode for end-to-end canary release.'."\n" + .'- 0: content-based routing'."\n" ."\n" - .'* 0: routing based on request content'."\n" - .'* 1: routing based on percentages'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Apps' => [ - 'description' => 'The apps.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The application information.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '6b4c0f64-f679-4580-8105-91eac4******', - ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'MseAppId' => [ - 'description' => 'The ID of the MSE instance.'."\n", - 'type' => 'string', - 'example' => 'mse-cn-53y49******', - ], - 'MseAppName' => [ - 'description' => 'The name of the MSE instance.'."\n", - 'type' => 'string', - 'example' => 'sae-test', - ], - 'mseNamespaceId' => [ - 'description' => 'The ID of the MSE namespace.'."\n", - 'type' => 'string', - 'example' => '6733e538-d52f-48e6-91a4-192f91******', - ], - ], + .'- 1: percentage-based routing', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'AppIds' => [ + 'description' => 'The IDs of the applications that are associated with the swimming lane group.', + 'type' => 'array', + 'items' => ['description' => 'An application ID.', 'type' => 'string', 'example' => '['."\n" + .' "1409e354-8b4c-4c53-ab35-f2765e******",'."\n" + .' "ef41218e-f96c-4d92-a5ed-1f6e83******",'."\n" + .' "52cc2015-265b-4cd6-8bb8-21ea4f******"'."\n" + .' ]', 'title' => ''], + 'title' => '', + 'example' => '', ], - ], - 'AppEntryRule' => [ - 'description' => 'Apply ingress rules.'."\n", - 'type' => 'object', - 'properties' => [ - 'Paths' => [ - 'description' => 'The request path.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The URL path.'."\n", - 'type' => 'string', - 'example' => '/Path', - ], - ], - 'Percentage' => [ - 'description' => 'The traffic ratio. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'ConditionJoiner' => [ - 'description' => 'Logical connectors between conditions:'."\n" - ."\n" - .'* AND: All conditions are met at the same time.'."\n" - .'* OR: Any condition is met.'."\n", - 'type' => 'string', - 'example' => 'AND', - ], - 'Conditions' => [ - 'description' => 'The matching condition.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The condition item.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'Parameter type.'."\n", - 'type' => 'string', - 'example' => 'Header', - ], - 'Name' => [ - 'description' => 'The name of the parameter.'."\n", - 'type' => 'string', - 'example' => 't', - ], - 'Condition' => [ - 'description' => 'The matching rule.'."\n", - 'type' => 'string', - 'example' => '==', - ], - 'Value' => [ - 'description' => 'The match value of the condition.'."\n", - 'type' => 'string', - 'example' => 'g1', - ], - 'Values' => [ - 'description' => 'The match value of the condition.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The match value of the condition.'."\n", - 'type' => 'string', - 'example' => 'g1', - ], - ], - ], - ], - ], - 'IndependentPercentageEnable' => [ - 'description' => 'Whether to enable proportional grayscale.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'PercentageByPath' => [ - 'description' => 'Traffic matching.'."\n", + 'Apps' => [ + 'description' => 'The information about the applications.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of an application.', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'integer', - 'format' => 'int32', - 'description' => 'The traffic ratio.'."\n", - 'example' => '100', - ], + 'properties' => [ + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'f5aad0d0-3e56-44cd-8199-9887a0******', 'title' => ''], + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'MseAppId' => ['description' => 'The ID of the MSE instance.', 'type' => 'string', 'example' => 'mse-cn-53y49******', 'title' => ''], + 'MseAppName' => ['description' => 'The name of the MSE instance.', 'type' => 'string', 'example' => 'demo', 'title' => ''], + 'MseNamespaceId' => ['description' => 'The ID of the namespace to which the MSE instance belongs.', 'type' => 'string', 'example' => 'sae-ent', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - ], - 'MseGatewayEntryRule' => [ - 'description' => 'MSE gateway routes.'."\n", - 'type' => 'object', - 'properties' => [ - 'RouteIds' => [ - 'description' => 'The list of route IDs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the route.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '["1001","1002"]', - ], - ], - 'Routes' => [ - 'description' => 'The detailed configuration of the routing rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The route configurations.'."\n", - 'type' => 'object', - 'properties' => [ - 'RouteId' => [ - 'description' => 'The route ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9504', - ], - 'RouteName' => [ - 'description' => 'The name of the route.'."\n", - 'type' => 'string', - 'example' => 'demo'."\n", - ], - 'RoutePredicate' => [ - 'description' => 'The routing rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'PathPredicate' => [ - 'description' => 'The path matching rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'Path' => [ - 'description' => 'The path.'."\n", - 'type' => 'string', - 'example' => '/Path', - ], - 'Type' => [ - 'description' => 'The matching rule.'."\n", - 'type' => 'string', - 'example' => 'Header', - ], - ], - ], - ], - ], - ], - ], - ], - 'Percentage' => [ - 'description' => 'The proportion of path traffic.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'Conditions' => [ - 'description' => 'The matching condition.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'Item'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the parameter.'."\n", - 'type' => 'string', - 'example' => 'Header', - ], - 'Name' => [ - 'description' => 'The parameter name.'."\n", - 'type' => 'string', - 'example' => 't', - ], - 'Condition' => [ - 'description' => 'The matching rule.'."\n", - 'type' => 'string', - 'example' => '==', - ], - 'Value' => [ - 'description' => 'The match value of the condition.'."\n", - 'type' => 'string', - 'example' => 'g1', - ], - ], - ], - ], - 'PercentageByRoute' => [ - 'description' => 'The traffic configuration.'."\n", - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'integer', - 'format' => 'int32', - 'description' => 'Configure the traffic ratio. The range is 1 to 100.'."\n", - 'example' => '100', - ], - ], - 'IndependentPercentageEnable' => [ - 'description' => 'Whether to enable proportional grayscale.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ConditionJoiner' => [ - 'description' => 'The logical connector between conditions.'."\n", - 'type' => 'string', - 'example' => 'AND', + 'EntryAppType' => ['description' => 'The type of the ingress application. This parameter is equivalent to the gateway type.'."\n" + ."\n" + .'- **apig:** API Gateway'."\n" + ."\n" + .'- **mse-gw:** cloud-native gateway'."\n" + ."\n" + .'- **mse:** Java service gateway', 'type' => 'string', 'example' => 'mse-gw', 'title' => ''], + 'EntryAppId' => ['description' => 'The ID of the gateway.', 'type' => 'string', 'example' => 'bq4g5bumop@e05bd4328******', 'title' => ''], + 'EntryApp' => [ + 'description' => 'The ingress application.', + 'type' => 'object', + 'properties' => [ + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '09805e5d-9b8d-42cd-9442-03c498******', 'title' => ''], + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'AppType' => ['description' => 'The application type.', 'type' => 'string', 'example' => 'mse', 'title' => ''], + 'MseAppId' => ['description' => 'The ID of the MSE instance.', 'type' => 'string', 'example' => 'mse-cn-53y49******'."\n", 'title' => ''], + 'MseAppName' => ['description' => 'The name of the MSE instance.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'MseNamespaceId' => ['description' => 'The ID of the namespace to which the MSE instance belongs.', 'type' => 'string', 'example' => 'sae-ent', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'SwimVersion' => ['description' => 'The version of the canary release. Valid values: 0 and 2. We recommend that you use 2.', 'type' => 'string', 'example' => '2', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values: Valid values:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: Query failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- For a list of error codes, see the "**Error codes**" section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: The request was invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'MseGatewayRule.CreateFailed', - 'errorMessage' => 'Create MSE Gateway rule failed.', - ], - [ - 'errorCode' => 'InternalApiError', - 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'MseGatewayRule.CreateFailed', 'errorMessage' => 'Create MSE Gateway rule failed.', 'description' => 'Failed to create an MSE microservices gateway route.'], + ['errorCode' => 'InternalApiError', 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30375C38-F4ED-4135-A0AE-5C75DC7F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": [\\n {\\n \\"GroupId\\": 110283,\\n \\"GroupName\\": \\"mse-test\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"MseNamespaceId\\": \\"sae-ent\\\\n\\",\\n \\"CanaryModel\\": 0,\\n \\"AppIds\\": [\\n \\"[\\\\n \\\\\\"1409e354-8b4c-4c53-ab35-f2765e******\\\\\\",\\\\n \\\\\\"ef41218e-f96c-4d92-a5ed-1f6e83******\\\\\\",\\\\n \\\\\\"52cc2015-265b-4cd6-8bb8-21ea4f******\\\\\\"\\\\n ]\\"\\n ],\\n \\"Apps\\": [\\n {\\n \\"AppId\\": \\"f5aad0d0-3e56-44cd-8199-9887a0******\\",\\n \\"AppName\\": \\"test\\",\\n \\"MseAppId\\": \\"mse-cn-53y49******\\",\\n \\"MseAppName\\": \\"demo\\",\\n \\"MseNamespaceId\\": \\"sae-ent\\"\\n }\\n ],\\n \\"EntryAppType\\": \\"mse-gw\\",\\n \\"EntryAppId\\": \\"bq4g5bumop@e05bd4328******\\",\\n \\"EntryApp\\": {\\n \\"AppId\\": \\"09805e5d-9b8d-42cd-9442-03c498******\\",\\n \\"AppName\\": \\"test\\",\\n \\"AppType\\": \\"mse\\",\\n \\"MseAppId\\": \\"mse-cn-53y49******\\\\n\\",\\n \\"MseAppName\\": \\"test\\",\\n \\"MseNamespaceId\\": \\"sae-ent\\"\\n },\\n \\"SwimVersion\\": \\"2\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListAllSwimmingLaneGroups', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListAllSwimmingLaneGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30375C38-F4ED-4135-A0AE-5C75DC7F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"LaneId\\": 9488,\\n \\"LaneName\\": \\"mse-test\\",\\n \\"LaneTag\\": \\"{\\\\\\"alicloud.service.tag\\\\\\":\\\\\\"g1\\\\\\"}\\",\\n \\"Enable\\": true,\\n \\"EnableRules\\": true,\\n \\"CanaryModel\\": 0,\\n \\"Apps\\": [\\n {\\n \\"AppId\\": \\"6b4c0f64-f679-4580-8105-91eac4******\\",\\n \\"AppName\\": \\"test\\",\\n \\"MseAppId\\": \\"mse-cn-53y49******\\",\\n \\"MseAppName\\": \\"sae-test\\",\\n \\"mseNamespaceId\\": \\"6733e538-d52f-48e6-91a4-192f91******\\"\\n }\\n ],\\n \\"AppEntryRule\\": {\\n \\"Paths\\": [\\n \\"/Path\\"\\n ],\\n \\"Percentage\\": 50,\\n \\"ConditionJoiner\\": \\"AND\\",\\n \\"Conditions\\": [\\n {\\n \\"Type\\": \\"Header\\",\\n \\"Name\\": \\"t\\",\\n \\"Condition\\": \\"==\\",\\n \\"Value\\": \\"g1\\",\\n \\"Values\\": [\\n \\"g1\\"\\n ]\\n }\\n ],\\n \\"IndependentPercentageEnable\\": true,\\n \\"PercentageByPath\\": {\\n \\"key\\": 100\\n }\\n },\\n \\"MseGatewayEntryRule\\": {\\n \\"RouteIds\\": [\\n 0\\n ],\\n \\"Routes\\": [\\n {\\n \\"RouteId\\": 9504,\\n \\"RouteName\\": \\"demo\\\\n\\",\\n \\"RoutePredicate\\": {\\n \\"PathPredicate\\": {\\n \\"Path\\": \\"/Path\\",\\n \\"Type\\": \\"Header\\"\\n }\\n }\\n }\\n ],\\n \\"Percentage\\": 100,\\n \\"Conditions\\": [\\n {\\n \\"Type\\": \\"Header\\",\\n \\"Name\\": \\"t\\",\\n \\"Condition\\": \\"==\\",\\n \\"Value\\": \\"g1\\"\\n }\\n ],\\n \\"PercentageByRoute\\": {\\n \\"key\\": 100\\n },\\n \\"IndependentPercentageEnable\\": true,\\n \\"ConditionJoiner\\": \\"AND\\"\\n }\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DescribeSwimmingLane', ], 'ListAllSwimmingLanes' => [ - 'summary' => 'Queries all swimlanes.', + 'summary' => 'Lists all swimlanes.', 'path' => '/pop/v1/cas/gray/listSwimmingLanes', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ @@ -20945,1220 +17102,914 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '221500', - 'abilityTreeNodes' => [ - 'FEATUREsaeX255DA', - ], + 'abilityTreeNodes' => ['FEATUREsaeX255DA'], ], 'parameters' => [ [ 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of a namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2074', - ], + 'schema' => ['description' => 'The swimming lane group ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2074', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'The returned information.'."\n", + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****', - ], - 'Message' => [ - 'description' => 'Additional information. Valid values:'."\n" - ."\n" - .'* The error message returned because the request is normal and **success** is returned.'."\n" - .'* If the request is abnormal, the specific exception error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. This parameter is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****'], + 'Message' => ['description' => 'The response message. Valid values:'."\n" + ."\n" + .'- Returns **success** if the request is successful.'."\n" + ."\n" + .'- Returns a specific error code if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The output parameters of the node.'."\n", + 'description' => 'The response data.', 'type' => 'array', 'items' => [ - 'description' => 'The details of the configuration.'."\n", + 'description' => 'The details of the swimming lanes.', 'type' => 'object', 'properties' => [ - 'LaneId' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '16401', - ], - 'LaneName' => [ - 'description' => 'The name of the lane group.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'LaneTag' => [ - 'description' => 'The tag of the lane.'."\n", - 'type' => 'string', - 'example' => '{"alicloud.service.tag":"g1"}'."\n", - ], - 'CanaryModel' => [ - 'description' => 'Full-link Grayscale Mode:'."\n" - ."\n" - .'* 0: The request is routed based on the content of the request.'."\n" - .'* 1: Proportional routing'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'Enable' => [ - 'description' => 'Lane status:'."\n" - ."\n" - .'* true: enabled'."\n" - .'* false: disabled'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'EnableRules' => [ - 'description' => 'Whether the traffic rule is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'LaneId' => ['description' => 'The swimming lane ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '16401', 'title' => ''], + 'LaneName' => ['description' => 'The swimming lane name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'LaneTag' => ['description' => 'The swimming lane tag.', 'type' => 'string', 'example' => 'g1'."\n", 'title' => ''], + 'CanaryModel' => ['description' => 'The canary model for the end-to-end canary release:'."\n" + ."\n" + .'- 0: Route by request content.'."\n" + ."\n" + .'- 1: Route by percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'Enable' => ['description' => 'Indicates whether the swimming lane is enabled.'."\n" + ."\n" + .'- true: enabled'."\n" + ."\n" + .'- false: disabled', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'EnableRules' => ['description' => 'Indicates whether traffic rules are enabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'Apps' => [ - 'description' => 'The associated application.'."\n", + 'description' => 'The applications associated with the swimming lane.', 'type' => 'array', 'items' => [ - 'description' => 'The details of the application.'."\n", + 'description' => 'The application details.', 'type' => 'object', 'properties' => [ - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '8ea0c468-8165-416d-beae-531abb******', - ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'MseAppId' => [ - 'description' => 'The ID of the MSE instance.'."\n", - 'type' => 'string', - 'example' => 'mse-cn-53y49******', - ], - 'MseAppName' => [ - 'description' => 'The name of the MSE instance.'."\n", - 'type' => 'string', - 'example' => 'sae-test', - ], - 'MseNamespaceId' => [ - 'description' => 'The ID of the namespace to which the MSE instance belongs.'."\n", - 'type' => 'string', - 'example' => 'space', - ], - ], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '8ea0c468-8165-416d-beae-531abb******', 'title' => ''], + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'MseAppId' => ['description' => 'The MSE instance ID.', 'type' => 'string', 'example' => 'mse-cn-53y49******', 'title' => ''], + 'MseAppName' => ['description' => 'The MSE instance name.', 'type' => 'string', 'example' => 'sae-test', 'title' => ''], + 'MseNamespaceId' => ['description' => 'The ID of the namespace in which the MSE instance resides.', 'type' => 'string', 'example' => 'sae-ent'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], 'AppEntryRule' => [ - 'description' => 'Apply ingress rules.'."\n", + 'description' => 'The application entry rule.', 'type' => 'object', 'properties' => [ 'Paths' => [ - 'description' => 'The request path.'."\n", + 'description' => 'The request paths.', 'type' => 'array', - 'items' => [ - 'description' => 'The request paths.'."\n", - 'type' => 'string', - 'example' => '/', - ], - ], - 'Percentage' => [ - 'description' => 'The traffic ratio. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'ConditionJoiner' => [ - 'description' => 'Logical connectors between conditions:'."\n" - ."\n" - .'* AND: All conditions are met at the same time.'."\n" - .'* OR: Any condition is met.'."\n", - 'type' => 'string', - 'example' => 'AND', + 'items' => ['description' => 'A request path.', 'type' => 'string', 'example' => '/', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'Percentage' => ['description' => 'The percentage of traffic (0-100) to be routed when the route by percentage model is used.', 'type' => 'integer', 'format' => 'int32', 'example' => '50', 'title' => ''], + 'ConditionJoiner' => ['description' => 'The logical operator used to join conditions:'."\n" + ."\n" + .'- AND: All conditions must be met.'."\n" + ."\n" + .'- OR: One of the conditions must be met.', 'type' => 'string', 'example' => 'AND', 'title' => ''], 'Conditions' => [ - 'description' => 'The matching condition.'."\n", + 'description' => 'The matching conditions.', 'type' => 'array', 'items' => [ - 'description' => 'Item'."\n", + 'description' => 'A matching condition.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the parameter.'."\n", - 'type' => 'string', - 'example' => 'Header', - ], - 'Name' => [ - 'description' => 'The parameter name.'."\n", - 'type' => 'string', - 'example' => 't', - ], - 'Condition' => [ - 'description' => 'The matching rule.'."\n", - 'type' => 'string', - 'example' => '==', - ], - 'Value' => [ - 'description' => 'The match value.'."\n", - 'type' => 'string', - 'example' => 'g1', - ], + 'Type' => ['description' => 'The parameter type.', 'type' => 'string', 'example' => 'Header', 'title' => ''], + 'Name' => ['description' => 'The parameter name.', 'type' => 'string', 'example' => 't', 'title' => ''], + 'Condition' => ['description' => 'The matching rule.', 'type' => 'string', 'example' => '==', 'title' => ''], + 'Value' => ['description' => 'The value to match in the condition.', 'type' => 'string', 'example' => 'g1', 'title' => ''], 'Values' => [ - 'description' => 'The match value of the condition.'."\n", + 'description' => 'The values to match in the condition.', 'type' => 'array', - 'items' => [ - 'description' => 'The match value of the condition.'."\n", - 'type' => 'string', - 'example' => 'g1', - ], + 'items' => ['description' => 'A value to match in the condition.', 'type' => 'string', 'example' => 'g1', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'IndependentPercentageEnable' => [ - 'description' => 'Whether to enable proportional grayscale.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'IndependentPercentageEnable' => ['description' => 'Indicates whether to enable canary release by percentage.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], 'PercentageByPath' => [ - 'description' => 'Traffic matching.'."\n", + 'description' => 'A map of paths to their corresponding traffic percentages.', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - 'description' => 'The traffic ratio.'."\n", - ], + 'additionalProperties' => ['description' => 'The traffic percentage.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], 'MseGatewayEntryRule' => [ - 'description' => 'MSE gateway routing'."\n", + 'description' => 'The MSE gateway route.', 'type' => 'object', 'properties' => [ 'RouteIds' => [ - 'description' => 'The IDs of the route tables.'."\n", + 'description' => 'The route IDs.', 'type' => 'array', - 'items' => [ - 'description' => 'The route ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '["1001","1002"]', - ], + 'items' => ['description' => 'A route ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '103092', 'title' => ''], + 'title' => '', + 'example' => '', ], 'Routes' => [ - 'description' => 'The detailed configuration of the routing rule.'."\n", + 'description' => 'The route configurations.', 'type' => 'array', 'items' => [ - 'description' => 'The route configurations.'."\n", + 'description' => 'The route configuration.', 'type' => 'object', 'properties' => [ - 'RouteId' => [ - 'description' => 'The route ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '9504'."\n", - ], - 'RouteName' => [ - 'description' => 'The name of the route.'."\n", - 'type' => 'string', - 'example' => 'demo'."\n", - ], + 'RouteId' => ['description' => 'The route ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '9504'."\n", 'title' => ''], + 'RouteName' => ['description' => 'The route name.', 'type' => 'string', 'example' => 'demo'."\n", 'title' => ''], 'RoutePredicate' => [ - 'description' => 'The routing rule.'."\n", + 'description' => 'The route\'s matching rule.', 'type' => 'object', 'properties' => [ 'PathPredicate' => [ - 'description' => 'The path matching rule.'."\n", + 'description' => 'The path matching rule.', 'type' => 'object', 'properties' => [ - 'path' => [ - 'description' => 'The path.'."\n", - 'type' => 'string', - 'example' => '/Path'."\n", - ], - 'type' => [ - 'description' => 'The matching rule.'."\n", - 'type' => 'string', - 'example' => 'Header'."\n", - ], + 'path' => ['description' => 'The path.', 'type' => 'string', 'example' => '/Path'."\n", 'title' => ''], + 'type' => ['description' => 'The matching rule.', 'type' => 'string', 'example' => 'Header'."\n", 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'Percentage' => [ - 'description' => 'The proportion of path traffic.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'ConditionJoiner' => [ - 'description' => 'The logical connector between conditions.'."\n", - 'type' => 'string', - 'example' => 'AND', - ], + 'Percentage' => ['description' => 'The percentage of traffic for the path.', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'title' => ''], + 'ConditionJoiner' => ['description' => 'The logical operator used to join conditions.', 'type' => 'string', 'example' => 'AND', 'title' => ''], 'Conditions' => [ - 'description' => 'The matching condition.'."\n", + 'description' => 'The matching conditions.', 'type' => 'array', 'items' => [ - 'description' => 'The condition item.'."\n", + 'description' => 'A condition item.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the parameter.'."\n", - 'type' => 'string', - 'example' => 'Header'."\n", - ], - 'Name' => [ - 'description' => 'The parameter name.'."\n", - 'type' => 'string', - 'example' => 't'."\n", - ], - 'Condition' => [ - 'description' => 'The matching rule.'."\n", - 'type' => 'string', - 'example' => '=='."\n", - ], - 'Value' => [ - 'description' => 'The match value of the condition.'."\n", - 'type' => 'string', - 'example' => 'g1'."\n", - ], + 'Type' => ['description' => 'The parameter type.', 'type' => 'string', 'example' => 'Header'."\n", 'title' => ''], + 'Name' => ['description' => 'The parameter name.', 'type' => 'string', 'example' => 't'."\n", 'title' => ''], + 'Condition' => ['description' => 'The matching rule.', 'type' => 'string', 'example' => '=='."\n", 'title' => ''], + 'Value' => ['description' => 'The value to match in the condition.', 'type' => 'string', 'example' => 'g1'."\n", 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'IndependentPercentageEnable' => [ - 'description' => 'Whether to enable proportional grayscale.'."\n", - 'type' => 'boolean', - 'example' => 'true'."\n", - ], + 'IndependentPercentageEnable' => ['description' => 'Indicates whether to enable canary release by percentage.', 'type' => 'boolean', 'example' => 'true'."\n", 'title' => ''], 'PercentageByRoute' => [ - 'description' => 'The traffic configuration.'."\n", + 'description' => 'A map of route IDs to their corresponding traffic percentages.', 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100'."\n", - 'description' => 'Configure the traffic ratio. The range is 1 to 100.'."\n", - ], + 'additionalProperties' => ['description' => 'The traffic percentage. Valid values: 1 to 100.', 'type' => 'integer', 'format' => 'int32', 'example' => '"2":1'."\n", 'title' => ''], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - ], - 'ErrorCode' => [ - 'description' => 'Error code. Valid values:'."\n" - ."\n" - .'* If the request is successful, no **ErrorCode** fields are returned.'."\n" - .'* Request failed: **ErrorCode** fields are returned. For more information, see **Error codes**.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The interface status or POP error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: Redirection.'."\n" - .'* **4xx**: Request error.'."\n" - .'* **5xx**: Server error.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Whether the data is successful. Valid values:'."\n" - ."\n" - .'* **true**: The application instances were restarted.'."\n" - .'* **false**: Restart failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- The **ErrorCode** parameter is omitted if the request is successful.'."\n" + ."\n" + .'- The **ErrorCode** parameter is returned if the request fails. For details, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code returned. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: The request is invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurs.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request is successful. Valid values:'."\n" + ."\n" + .'- **true**: The request is successful.'."\n" + ."\n" + .'- **false**: The request fails.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'MseGatewayRule.CreateFailed', - 'errorMessage' => 'Create MSE Gateway rule failed.', - ], - [ - 'errorCode' => 'InternalApiError', - 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'MseGatewayRule.CreateFailed', 'errorMessage' => 'Create MSE Gateway rule failed.', 'description' => 'Failed to create an MSE microservices gateway route.'], + ['errorCode' => 'InternalApiError', 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"LaneId\\": 16401,\\n \\"LaneName\\": \\"test\\",\\n \\"LaneTag\\": \\"g1\\\\n\\",\\n \\"CanaryModel\\": 0,\\n \\"Enable\\": true,\\n \\"EnableRules\\": true,\\n \\"Apps\\": [\\n {\\n \\"AppId\\": \\"8ea0c468-8165-416d-beae-531abb******\\",\\n \\"AppName\\": \\"test\\",\\n \\"MseAppId\\": \\"mse-cn-53y49******\\",\\n \\"MseAppName\\": \\"sae-test\\",\\n \\"MseNamespaceId\\": \\"sae-ent\\\\n\\"\\n }\\n ],\\n \\"AppEntryRule\\": {\\n \\"Paths\\": [\\n \\"/\\"\\n ],\\n \\"Percentage\\": 50,\\n \\"ConditionJoiner\\": \\"AND\\",\\n \\"Conditions\\": [\\n {\\n \\"Type\\": \\"Header\\",\\n \\"Name\\": \\"t\\",\\n \\"Condition\\": \\"==\\",\\n \\"Value\\": \\"g1\\",\\n \\"Values\\": [\\n \\"g1\\"\\n ]\\n }\\n ],\\n \\"IndependentPercentageEnable\\": true,\\n \\"PercentageByPath\\": {\\n \\"key\\": 100\\n }\\n },\\n \\"MseGatewayEntryRule\\": {\\n \\"RouteIds\\": [\\n 103092\\n ],\\n \\"Routes\\": [\\n {\\n \\"RouteId\\": 9504,\\n \\"RouteName\\": \\"demo\\\\n\\",\\n \\"RoutePredicate\\": {\\n \\"PathPredicate\\": {\\n \\"path\\": \\"/Path\\\\n\\",\\n \\"type\\": \\"Header\\\\n\\"\\n }\\n }\\n }\\n ],\\n \\"Percentage\\": 100,\\n \\"ConditionJoiner\\": \\"AND\\",\\n \\"Conditions\\": [\\n {\\n \\"Type\\": \\"Header\\\\n\\",\\n \\"Name\\": \\"t\\\\n\\",\\n \\"Condition\\": \\"==\\\\n\\",\\n \\"Value\\": \\"g1\\\\n\\"\\n }\\n ],\\n \\"IndependentPercentageEnable\\": true,\\n \\"PercentageByRoute\\": {\\n \\"key\\": 0\\n }\\n }\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"LaneId\\": 16401,\\n \\"LaneName\\": \\"test\\",\\n \\"LaneTag\\": \\"g1\\\\n\\",\\n \\"CanaryModel\\": 0,\\n \\"Enable\\": true,\\n \\"EnableRules\\": true,\\n \\"Apps\\": [\\n {\\n \\"AppId\\": \\"8ea0c468-8165-416d-beae-531abb******\\",\\n \\"AppName\\": \\"test\\",\\n \\"MseAppId\\": \\"mse-cn-53y49******\\",\\n \\"MseAppName\\": \\"sae-test\\",\\n \\"MseNamespaceId\\": \\"sae-ent\\\\n\\"\\n }\\n ],\\n \\"AppEntryRule\\": {\\n \\"Paths\\": [\\n \\"/\\"\\n ],\\n \\"Percentage\\": 50,\\n \\"ConditionJoiner\\": \\"AND\\",\\n \\"Conditions\\": [\\n {\\n \\"Type\\": \\"Header\\",\\n \\"Name\\": \\"t\\",\\n \\"Condition\\": \\"==\\",\\n \\"Value\\": \\"g1\\",\\n \\"Values\\": [\\n \\"g1\\"\\n ]\\n }\\n ],\\n \\"IndependentPercentageEnable\\": true,\\n \\"PercentageByPath\\": {\\n \\"key\\": 100\\n }\\n },\\n \\"MseGatewayEntryRule\\": {\\n \\"RouteIds\\": [\\n 103092\\n ],\\n \\"Routes\\": [\\n {\\n \\"RouteId\\": 9504,\\n \\"RouteName\\": \\"demo\\\\n\\",\\n \\"RoutePredicate\\": {\\n \\"PathPredicate\\": {\\n \\"path\\": \\"/Path\\\\n\\",\\n \\"type\\": \\"Header\\\\n\\"\\n }\\n }\\n }\\n ],\\n \\"Percentage\\": 100,\\n \\"ConditionJoiner\\": \\"AND\\",\\n \\"Conditions\\": [\\n {\\n \\"Type\\": \\"Header\\\\n\\",\\n \\"Name\\": \\"t\\\\n\\",\\n \\"Condition\\": \\"==\\\\n\\",\\n \\"Value\\": \\"g1\\\\n\\"\\n }\\n ],\\n \\"IndependentPercentageEnable\\": true,\\n \\"PercentageByRoute\\": {\\n \\"key\\": 0\\n }\\n }\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'ListAllSwimmingLanes', - ], - 'ListAllSwimmingLaneGroups' => [ - 'summary' => 'Queries all lane groups.', - 'path' => '/pop/v1/cas/gray/listSwimmingLaneGroups', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListAllSwimmingLanes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListAppEvents' => [ + 'path' => '/pop/v1/sam/app/listAppEvents', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '221433', - 'abilityTreeNodes' => [ - 'FEATUREsaeX255DA', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6369', + 'abilityTreeNodes' => ['FEATUREsae5BSSHJ'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of a namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return per page. The value must be an integer from 0 to 10,000.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => false, 'example' => 'f7730764-d88f-4b9a-8d8e-cd8efbfe****', 'title' => ''], + ], + [ + 'name' => 'ObjectKind', + 'in' => 'query', + 'schema' => ['description' => 'The object kind. Valid values:'."\n" + ."\n" + .'- **Deployment**: The application.'."\n" + ."\n" + .'- **Pod**: The application instance.'."\n" + ."\n" + .'- **Service**: The Server Load Balancer (SLB) instance.'."\n" + ."\n" + .'- **HorizontalPodAutoscaler**: The auto scaling policy.'."\n" + ."\n" + .'- **CloneSet**: The application.', 'type' => 'string', 'required' => false, 'example' => 'Pod', 'title' => ''], + ], + [ + 'name' => 'ObjectName', + 'in' => 'query', + 'schema' => ['description' => 'The name of the object. Prefix matching is supported.', 'type' => 'string', 'required' => false, 'example' => 'errew-b86bf540-b4dc-47d8-a42f-b4997c14bd8f-5595cbddd6-x****', 'title' => ''], + ], + [ + 'name' => 'EventType', + 'in' => 'query', + 'schema' => ['description' => 'The event type. Valid values:'."\n" + ."\n" + .'- **Warning**: An event that indicates a potential problem.'."\n" + ."\n" + .'- **Normal**: An event that indicates a routine operation.', 'type' => 'string', 'required' => false, 'example' => 'Warning', 'title' => ''], + ], + [ + 'name' => 'Reason', + 'in' => 'query', + 'schema' => ['description' => 'The reason for the event. Prefix matching is supported.', 'type' => 'string', 'required' => false, 'example' => 'Started', 'title' => ''], + ], + [ + 'name' => 'Namespace', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the region where the namespace is located.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The returned information.'."\n", + 'description' => 'The data returned for the request.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '30375C38-F4ED-4135-A0AE-5C75DC7F****', - ], - 'Message' => [ - 'description' => 'Additional information. Valid values:'."\n" - ."\n" - .'* The error message returned because the request is normal and **success** is returned.'."\n" - .'* If the request is abnormal, the specific exception error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. This parameter is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622246421415014e****', - ], + 'Message' => ['description' => 'Additional information about the request result.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****', 'title' => ''], 'Data' => [ - 'description' => 'Responses.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The slim information of the lane group.'."\n", - 'type' => 'object', - 'properties' => [ - 'GroupId' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2074', - ], - 'GroupName' => [ - 'description' => 'The name of a lane group.'."\n", - 'type' => 'string', - 'example' => 'mse-test', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'MseNamespaceId' => [ - 'description' => 'The ID of the namespace to which the MSE instance belongs.'."\n", - 'type' => 'string', - 'example' => 'sae-test', - ], - 'CanaryModel' => [ - 'description' => 'Full-link Grayscale Mode:'."\n" - ."\n" - .'* 0: The request is routed based on the content of the request.'."\n" - .'* 1: Proportional routing'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'AppIds' => [ - 'description' => 'The IDs of the applications associated with the lane group.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of application IDs.'."\n", - 'type' => 'string', - 'example' => '["dbe87ff5-e0d8-405e-a552-231387******","5aad0d0-3e56-44cd-8199-9887a02******"]', - ], - ], - 'Apps' => [ - 'description' => 'The application information.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'f5aad0d0-3e56-44cd-8199-9887a0******', - ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'MseAppId' => [ - 'description' => 'The ID of the MSE instance.'."\n", - 'type' => 'string', - 'example' => 'mse-cn-53y49******', - ], - 'MseAppName' => [ - 'description' => 'The name of the MSE instance.'."\n", - 'type' => 'string', - 'example' => 'demo', - ], - 'MseNamespaceId' => [ - 'description' => 'The ID of the namespace to which the MSE instance belongs.'."\n", - 'type' => 'string', - 'example' => '6733e538-d52f-48e6-91a4-192f91******', - ], - ], - ], - ], - 'EntryAppType' => [ - 'description' => 'The application entry type (gateway type).'."\n" - ."\n" - .'* **apig:** cloud-native API Gateway'."\n" - .'* **mse-gw:** an MSE cloud original gateway'."\n" - .'* **mse:** Java Services Gateway'."\n", - 'type' => 'string', - 'example' => 'mse-gw', - ], - 'EntryAppId' => [ - 'description' => 'The ID of the gateway.'."\n", - 'type' => 'string', - 'example' => 'mse_ingresspost-cn-axc49******', - ], - 'EntryApp' => [ - 'description' => 'The entry application.'."\n", + 'description' => 'The event list.', + 'type' => 'object', + 'properties' => [ + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'AppEventEntity' => [ + 'description' => 'An array of application events.', + 'type' => 'array', + 'items' => [ + 'description' => 'A single event object.', 'type' => 'object', 'properties' => [ - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '09805e5d-9b8d-42cd-9442-03c498******', - ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'AppType' => [ - 'description' => 'The type of the application.'."\n", - 'type' => 'string', - 'example' => 'mse', - ], - 'MseAppId' => [ - 'description' => 'The ID of the MSE instance.'."\n", - 'type' => 'string', - 'example' => 'mse-cn-53y49******'."\n", - ], - 'MseAppName' => [ - 'description' => 'MSE Instance Name'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'MseNamespaceId' => [ - 'description' => 'The ID of the namespace to which the MSE instance belongs.'."\n", - 'type' => 'string', - 'example' => 'demo', - ], + 'ObjectKind' => ['description' => 'The object kind.', 'type' => 'string', 'example' => 'Pod', 'title' => ''], + 'EventType' => ['description' => 'The event type.', 'type' => 'string', 'example' => 'Normal', 'title' => ''], + 'LastTimestamp' => ['description' => 'The timestamp of the event\'s last occurrence.', 'type' => 'string', 'example' => '2020-02-19T05:01:28Z', 'title' => ''], + 'Message' => ['description' => 'The event message.', 'type' => 'string', 'example' => 'Created container', 'title' => ''], + 'ObjectName' => ['description' => 'The object name.', 'type' => 'string', 'example' => 'errew-b86bf540-b4dc-47d8-a42f-b4997c14bd8f-5595cbddd6-2****', 'title' => ''], + 'Reason' => ['description' => 'The reason for the event.', 'type' => 'string', 'example' => 'Created', 'title' => ''], + 'FirstTimestamp' => ['description' => 'The timestamp of the event\'s first occurrence.', 'type' => 'string', 'example' => '2020-02-19T05:01:28Z', 'title' => ''], + 'CauseAnalysis' => ['description' => 'The cause analysis.', 'type' => 'string', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], - 'SwimVersion' => [ - 'description' => 'The end-to-end grayscale version. Valid values: 0 and 2 (recommended).'."\n", - 'type' => 'string', - 'example' => '2', - ], + 'title' => '', + 'example' => '', ], + 'TotalSize' => ['description' => 'The total count of application events.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values: Valid values:'."\n" - ."\n" - .'* **true**: The information was queried.'."\n" - .'* **false**: The information failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** parameter is not returned.'."\n" + ."\n" + .'- If the request fails, the **ErrorCode** parameter is returned. For more information, see the **Error Codes** section.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code returned for the request. Valid values:'."\n" + ."\n" + .'- **2xx**: Success.'."\n" + ."\n" + .'- **3xx**: Redirection.'."\n" + ."\n" + .'- **4xx**: Client error.'."\n" + ."\n" + .'- **5xx**: Server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'MseGatewayRule.CreateFailed', - 'errorMessage' => 'Create MSE Gateway rule failed.', - ], - [ - 'errorCode' => 'InternalApiError', - 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', - ], + ['errorCode' => 'get.event.error', 'errorMessage' => 'Failed to obtain event information.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"AppEventEntity\\": [\\n {\\n \\"ObjectKind\\": \\"Pod\\",\\n \\"EventType\\": \\"Normal\\",\\n \\"LastTimestamp\\": \\"2020-02-19T05:01:28Z\\",\\n \\"Message\\": \\"Created container\\",\\n \\"ObjectName\\": \\"errew-b86bf540-b4dc-47d8-a42f-b4997c14bd8f-5595cbddd6-2****\\",\\n \\"Reason\\": \\"Created\\",\\n \\"FirstTimestamp\\": \\"2020-02-19T05:01:28Z\\",\\n \\"CauseAnalysis\\": \\"\\"\\n }\\n ],\\n \\"TotalSize\\": 20,\\n \\"PageSize\\": 10\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListAppEvents', + 'summary' => 'To list application events, call the `ListAppEvents` API.', + 'changeSet' => [ + ['createdAt' => '2026-04-16T07:39:54.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-04-13T12:48:10.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-04-13T02:34:54.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-06-20T10:09:44.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAppEvents'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListAppEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30375C38-F4ED-4135-A0AE-5C75DC7F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": [\\n {\\n \\"GroupId\\": 110283,\\n \\"GroupName\\": \\"mse-test\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"MseNamespaceId\\": \\"sae-ent\\\\n\\",\\n \\"CanaryModel\\": 0,\\n \\"AppIds\\": [\\n \\"[\\\\n \\\\\\"1409e354-8b4c-4c53-ab35-f2765e******\\\\\\",\\\\n \\\\\\"ef41218e-f96c-4d92-a5ed-1f6e83******\\\\\\",\\\\n \\\\\\"52cc2015-265b-4cd6-8bb8-21ea4f******\\\\\\"\\\\n ]\\"\\n ],\\n \\"Apps\\": [\\n {\\n \\"AppId\\": \\"f5aad0d0-3e56-44cd-8199-9887a0******\\",\\n \\"AppName\\": \\"test\\",\\n \\"MseAppId\\": \\"mse-cn-53y49******\\",\\n \\"MseAppName\\": \\"demo\\",\\n \\"MseNamespaceId\\": \\"sae-ent\\"\\n }\\n ],\\n \\"EntryAppType\\": \\"mse-gw\\",\\n \\"EntryAppId\\": \\"bq4g5bumop@e05bd4328******\\",\\n \\"EntryApp\\": {\\n \\"AppId\\": \\"09805e5d-9b8d-42cd-9442-03c498******\\",\\n \\"AppName\\": \\"test\\",\\n \\"AppType\\": \\"mse\\",\\n \\"MseAppId\\": \\"mse-cn-53y49******\\\\n\\",\\n \\"MseAppName\\": \\"test\\",\\n \\"MseNamespaceId\\": \\"sae-ent\\"\\n },\\n \\"SwimVersion\\": \\"2\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'ListAllSwimmingLaneGroups', ], - 'DeleteSwimmingLaneGroup' => [ - 'summary' => 'Deletes a lane group.', - 'path' => '/pop/v1/cas/gray/deleteSwimmingLaneGroup', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListAppServices' => [ + 'summary' => 'Lists microservices.', + 'path' => '/pop/v1/sam/service/listAppServices', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '221434', - 'abilityTreeNodes' => [ - 'FEATUREsaeX255DA', - ], + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '219797', + 'abilityTreeNodes' => ['FEATUREsaeUDWJ2L'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of a namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:demo', - ], + 'schema' => ['description' => 'The application ID. Specify exactly one of the following parameters: `VpcId`, `NamespaceId`, or `AppId`.', 'type' => 'string', 'required' => false, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'ServiceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2074', - ], + 'schema' => ['description' => 'The service type. Valid values:'."\n" + ."\n" + .'- **dubbo**'."\n" + ."\n" + .'- **springCloud**'."\n" + ."\n" + .'- **hsf**'."\n" + ."\n" + .'- **k8sService**', 'type' => 'string', 'required' => false, 'example' => 'springCloud', 'title' => ''], + ], + [ + 'name' => 'RegistryType', + 'in' => 'query', + 'schema' => ['description' => 'The service registry type. Valid values:'."\n" + ."\n" + .'- **0**: SAE Nacos'."\n" + ."\n" + .'- **1**: self-managed service registry'."\n" + ."\n" + .'- **2**: MSE Nacos'."\n" + ."\n" + .'- **9**: SAE K8s Service', 'type' => 'string', 'required' => false, 'example' => '0', 'title' => ''], + ], + [ + 'name' => 'NacosInstanceId', + 'in' => 'query', + 'schema' => ['description' => 'The instance ID of MSE Nacos. This parameter is required if the service registry is MSE Nacos.', 'type' => 'string', 'required' => false, 'example' => 'mse-cn-sco3r0u****', 'title' => ''], + ], + [ + 'name' => 'NacosNamespaceId', + 'in' => 'query', + 'schema' => ['description' => 'The namespace ID of MSE Nacos. This parameter is required if the service registry is MSE Nacos.', 'type' => 'string', 'required' => false, 'example' => 'mse-test', 'title' => ''], + ], + [ + 'name' => 'PageNumber', + 'in' => 'query', + 'schema' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], + ], + [ + 'name' => 'VpcId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the VPC. Specify exactly one of the following parameters: `VpcId`, `NamespaceId`, or `AppId`.', 'type' => 'string', 'required' => false, 'example' => 'vpc-2ze0i263cnn311nvj****', 'title' => ''], + ], + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'schema' => ['description' => 'The namespace ID. Specify exactly one of the following parameters: `VpcId`, `NamespaceId`, or `AppId`.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'null'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'null'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'null null'."\n" - ."\n" - .'* null****'."\n" - .'* null'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'null'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622920113732501e****', - ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to query the details of a call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The list of services.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of a service.', + 'type' => 'object', + 'properties' => [ + 'ServiceName' => ['description' => 'The name of the service.', 'type' => 'string', 'example' => 'frontend', 'title' => ''], + 'ServiceGroup' => ['description' => 'The service group.', 'type' => 'string', 'example' => 'DEFAULT_GROUP', 'title' => ''], + 'ServiceVersion' => ['description' => 'The version of the service.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'InstanceCount' => ['description' => 'The number of instances of the service.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'ServiceType' => ['description' => 'The type of the service. Valid values:'."\n" + ."\n" + .'- **dubbo**'."\n" + ."\n" + .'- **springCloud**'."\n" + ."\n" + .'- **hsf**'."\n" + ."\n" + .'- **k8sService**', 'type' => 'string', 'example' => 'springCloud', 'title' => ''], + 'ServiceProtocol' => ['description' => 'The protocol used by the service.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'ServicePorts' => [ + 'description' => 'A list of ports.', + 'type' => 'array', + 'items' => ['description' => 'The port number.', 'type' => 'integer', 'format' => 'int32', 'example' => '8000', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'ServicePortAndProtocol' => [ + 'description' => 'A map of ports and protocols.', + 'type' => 'object', + 'additionalProperties' => ['description' => 'A port and protocol pair.', 'type' => 'string', 'example' => '8000:TCP', 'title' => ''], + 'title' => '', + 'example' => '', + ], + 'RegistryType' => ['description' => 'The type of the service registry. Valid values:'."\n" + ."\n" + .'- **0**: SAE Nacos'."\n" + ."\n" + .'- **1**: self-managed registry'."\n" + ."\n" + .'- **2**: MSE Nacos'."\n" + ."\n" + .'- **9**: SAE K8s Service', 'type' => 'string', 'example' => '0', 'title' => ''], + 'NamespaceId' => ['description' => 'The ID of the namespace that contains the app.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'NamespaceName' => ['description' => 'The name of the namespace.', 'type' => 'string', 'example' => 'Test namespace', 'title' => ''], + 'AppId' => ['description' => 'The app ID.', 'type' => 'string', 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], + 'AppName' => ['description' => 'The name of the app.', 'type' => 'string', 'example' => 'demo-app', 'title' => ''], + 'SecurityGroupId' => ['description' => 'The security group ID.', 'type' => 'string', 'example' => 'sg-wz969ngg2e49q5i4****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values: Valid values:'."\n" - ."\n" - .'* **true**: The policy was deleted.'."\n" - .'* **false**: Delete failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. This parameter is returned only if the request fails. For more information, see the **Error codes** section.'."\n" + ."\n" + .'- Successful requests do not return the **ErrorCode** field.'."\n" + ."\n" + .'- Failed requests return the **ErrorCode** field. For more information, see the **error code** list in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or a POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: The request is invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" + ."\n" + .'- **true**: The call was successful.'."\n" + ."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'MseGatewayRule.CreateFailed', - 'errorMessage' => 'Create MSE Gateway rule failed.', - ], - [ - 'errorCode' => 'InternalApiError', - 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', - ], + ['errorCode' => 'Micro.Service.NotFound', 'errorMessage' => 'The micro service not found {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"ServiceName\\": \\"frontend\\",\\n \\"ServiceGroup\\": \\"DEFAULT_GROUP\\",\\n \\"ServiceVersion\\": \\"1.0.0\\",\\n \\"InstanceCount\\": \\"1\\",\\n \\"ServiceType\\": \\"springCloud\\",\\n \\"ServiceProtocol\\": \\"HTTP\\",\\n \\"ServicePorts\\": [\\n 8000\\n ],\\n \\"ServicePortAndProtocol\\": {\\n \\"key\\": \\"8000:TCP\\"\\n },\\n \\"RegistryType\\": \\"0\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"NamespaceName\\": \\"Test namespace\\",\\n \\"AppId\\": \\"0099b7be-5f5b-4512-a7fc-56049ef1****\\",\\n \\"AppName\\": \\"demo-app\\",\\n \\"SecurityGroupId\\": \\"sg-wz969ngg2e49q5i4****\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListAppServices', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DeleteSwimmingLaneGroup', - ], - 'UpdateSwimmingLaneEnableAttribute' => [ - 'summary' => 'Update the enabled property of the swimlane.', - 'path' => '/pop/v1/cas/gray/updateSwimmingLaneEnableAttribute', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListAppServices', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'machine', + ], + 'ListAppServicesPage' => [ + 'summary' => 'Call `ListAppServicesPage` to get a list of application services.', + 'path' => '/pop/v1/sam/service/listAppServicesPage', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '221727', - 'abilityTreeNodes' => [ - 'FEATUREsaeX255DA', - ], + 'abilityTreeCode' => '100639', + 'abilityTreeNodes' => ['FEATUREsaeY046YN'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of a namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '6dcc8c9e-d3da-478a-a066-86dcf820****', 'title' => ''], ], [ - 'name' => 'GroupId', + 'name' => 'ServiceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane group.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '2074', - ], + 'schema' => ['description' => 'The service type. Valid values:'."\n" + ."\n" + .'- **Dubbo**'."\n" + ."\n" + .'- **Spring Cloud**', 'type' => 'string', 'required' => true, 'example' => 'springCloud', 'title' => ''], ], [ - 'name' => 'LaneId', + 'name' => 'PageNumber', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the lane.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '9637', - ], + 'schema' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Enable', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'Lane status:'."\n" - ."\n" - .'* true: enabled'."\n" - .'* false: disabled'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'The page size. The value must be an integer from 0 to 9,999.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '9999', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The returned information.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'Additional information. Valid values:'."\n" - ."\n" - .'* The error message returned because the request is normal and **success** is returned.'."\n" - .'* If the request is abnormal, the specific exception error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. This parameter is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622920113732501e****', - ], - 'ErrorCode' => [ - 'description' => 'Error code. Valid values:'."\n" - ."\n" - .'* If the request is successful, no **ErrorCode** fields are returned.'."\n" - .'* Request failed: **ErrorCode** fields are returned. For more information, see **Error codes**.'."\n", - 'type' => 'string', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '2583E089-99C2-562E-8B7E-73512136****', 'title' => ''], + 'Message' => ['description' => 'A message that describes the outcome of the request.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query the details of a request.', 'type' => 'string', 'example' => '0be3e0c816394483660457498e****', 'title' => ''], + 'Data' => [ + 'description' => 'The service list.', + 'type' => 'array', + 'items' => [ + 'description' => 'The service list.', + 'type' => 'object', + 'properties' => [ + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of entries.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'PageNumber' => ['description' => 'The page number.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page. The value must be in the range of 0 to 9999.', 'type' => 'string', 'example' => '9999', 'title' => ''], + 'Result' => [ + 'description' => 'The returned results.', + 'type' => 'array', + 'items' => [ + 'description' => 'The returned results.', + 'type' => 'object', + 'properties' => [ + 'EdasAppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'cn-zhangjiakou-micro-service-******', 'title' => ''], + 'Version' => ['description' => 'The service version. This value is user-defined.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'InstanceNum' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'EdasAppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'hc4fs1****@98314c8790b****', 'title' => ''], + 'ServiceName' => ['description' => 'The service name.', 'type' => 'string', 'example' => 'edas.service.provider', 'title' => ''], + 'Group' => ['description' => 'The service group. This value is user-defined.', 'type' => 'string', 'example' => 'springCloud', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The interface status or POP error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: Redirection.'."\n" - .'* **4xx**: Request error.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Whether the data is successful. Valid values:'."\n" - ."\n" - .'* **true**: The policy was deleted.'."\n" - .'* **false**: The policy failed to be deleted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The API status code or POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: Success.'."\n" + ."\n" + .'- **3xx**: Redirect.'."\n" + ."\n" + .'- **4xx**: client error.'."\n" + ."\n" + .'- **5xx**: server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'MseGatewayRule.CreateFailed', - 'errorMessage' => 'Create MSE Gateway rule failed.', - ], - [ - 'errorCode' => 'InternalApiError', - 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', + ['errorCode' => 'Micro.Service.NotFound', 'errorMessage' => 'The micro service not found {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"2583E089-99C2-562E-8B7E-73512136****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0be3e0c816394483660457498e****\\",\\n \\"Data\\": [\\n {\\n \\"CurrentPage\\": \\"1\\",\\n \\"TotalSize\\": \\"1\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": \\"9999\\",\\n \\"Result\\": [\\n {\\n \\"EdasAppName\\": \\"cn-zhangjiakou-micro-service-******\\",\\n \\"Version\\": \\"1.0.0\\",\\n \\"InstanceNum\\": 1,\\n \\"EdasAppId\\": \\"hc4fs1****@98314c8790b****\\",\\n \\"ServiceName\\": \\"edas.service.provider\\",\\n \\"Group\\": \\"springCloud\\"\\n }\\n ]\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListAppServicesPage', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:26.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-10-25T08:48:55.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-03-03T12:42:21.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2021-11-17T02:28:51.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '350', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAppServicesPage'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:ListAppServicesPage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'UpdateSwimmingLaneEnableAttribute', ], - 'GetApplication' => [ - 'summary' => 'Queries the basic information of an application.', - 'path' => '/pop/v1/sam/app/getApplication', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListAppVersions' => [ + 'path' => '/pop/v1/sam/app/listAppVersions', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '238172', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '6371', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], - ], - [ - 'name' => 'AppName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shenzhen', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The result returned.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****', - ], - 'Message' => [ - 'description' => 'The additional information returned. Valid values:'."\n" - ."\n" - .'* When a request is successful, **success**is returned.'."\n" - .'* An error code is returned when a request failed.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622920113732501e****', - ], - 'Application' => [ - 'description' => 'The details of the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => '443d638a-ef76-47c4-b707-61197d******', - ], - 'AppName' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'AppDescription' => [ - 'description' => 'The description of the application.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'NamespaceId' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'example' => 'cn-shenzhen', - ], - 'ScaleRuleType' => [ - 'description' => 'The type of the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **timing**: a scheduled auto scaling policy.'."\n" - .'* **metric**: a metric-based auto scaling policy.'."\n" - .'* **mix**: a hybrid auto scaling policy.'."\n", - 'type' => 'string', - 'example' => 'timing', - ], - 'ScaleRuleEnabled' => [ - 'description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" - ."\n" - .'* **true**: The auto scaling policy is enabled.'."\n" - .'* **false**: The auto scaling policy is disabled.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'RunningInstances' => [ - 'description' => 'The number of application instances that are running.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'Instances' => [ - 'description' => 'The number of application instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'i-8ps2o182102o1jv05bys', - ], - 'Cpu' => [ - 'description' => 'The CPU specifications that are required for each instance. Unit: millicores. This parameter cannot be set to 0. Valid values:'."\n" + 'Message' => ['description' => 'Additional information about the call.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****', 'title' => ''], + 'Data' => [ + 'description' => 'The version information.', + 'type' => 'array', + 'items' => [ + 'description' => 'The version information.', + 'type' => 'object', + 'properties' => [ + 'Type' => ['description' => 'The application type. Valid values:'."\n" ."\n" - .'* **500**'."\n" - .'* **1000**'."\n" - .'* **2000**'."\n" - .'* **4000**'."\n" - .'* **8000**'."\n" - .'* **12000**'."\n" - .'* **16000**'."\n" - .'* **32000**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'Mem' => [ - 'description' => 'The memory size that is required by each instance. Unit: MB. This parameter cannot be set to 0. The values of this parameter correspond to the values of the Cpu parameter:'."\n" + .'- **image**: The application is deployed using an image.'."\n" ."\n" - .'* This parameter is set to **1024** if the Cpu parameter is set to 500 or 1000.'."\n" - .'* This parameter is set to **2048** if the Cpu parameter is set to 500, 1000, or 2000.'."\n" - .'* This parameter is set to **4096** if the Cpu parameter is set to 1000, 2000, or 4000.'."\n" - .'* This parameter is set to **8192** if the Cpu parameter is set to 2000, 4000, or 8000.'."\n" - .'* This parameter is set to **12288** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **16384** if the Cpu parameter is set to 4000, 8000, or 16000.'."\n" - .'* This parameter is set to **24576** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **32768** if the Cpu parameter is set to 16000.'."\n" - .'* This parameter is set to **65536** if the Cpu parameter is set to 8000, 16000, or 32000.'."\n" - .'* This parameter is set to **131072** if the Cpu parameter is set to 32000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4096', - ], - 'MseEnabled' => [ - 'description' => 'Specifies whether to enable WebAssembly Filter. Valid values:'."\n" + .'- **url**: The application is deployed using a code package.', 'type' => 'string', 'example' => 'image', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the version was created.', 'type' => 'string', 'example' => '1590124643553', 'title' => ''], + 'BuildPackageUrl' => ['description' => 'The download URL of the code package. If you uploaded the package using SAE, note the following:'."\n" ."\n" - .'* true: enables this parameter.'."\n" - .'* false: disables this parameter.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'MseNamespaceId' => [ - 'description' => 'The ID of the namespace to which the MSE instance belongs.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'ProgrammingLanguage' => [ - 'description' => 'The programming language that is used to create the application. Valid values:'."\n" + .'- This URL is not a direct download link. You must call the GetPackageVersionAccessableUrl operation to obtain a downloadable URL that is valid for 10 minutes.'."\n" ."\n" - .'* **java** :Java.'."\n" - .'* **php**: PHP.'."\n" - .'* **other**: other programming languages, such as Python, C++, Go, .NET, and Node.js'."\n", - 'type' => 'string', - 'example' => 'java', - ], - 'BaseAppId' => [ - 'description' => 'The ID of the basic application.'."\n", - 'type' => 'string', - 'example' => 'ee99cce6-1c8e-4bfa-96c3-3e2fa9******', - ], - 'IsStateful' => [ - 'type' => 'boolean', + .'- SAE stores the package for a maximum of 90 days. After this period, the URL is not returned and the package cannot be downloaded.', 'type' => 'string', 'example' => 'https://edas-hz.oss-cn-hangzhou.aliyuncs.com/apps/K8s_APP_ID/1d0e7884-60f0-41d2-89dd-ec1f3c69****/hello-sae.war', 'title' => ''], + 'WarUrl' => ['description' => 'The URL of the WAR package.', 'type' => 'string', 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/****/1362469756373809_shared_repo:42646692-66e7-4a21-b629-897752975cdf_159012464****', 'title' => ''], + 'Id' => ['description' => 'The version ID.', 'type' => 'string', 'example' => 'a0ce266c-d354-423a-9bd6-4083405a****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call is successful.'."\n" + ."\n" + .'- **3xx**: The call is redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the historical versions of the application were successfully queried. Valid values:'."\n" + ."\n" + .'- **true**: The query was successful.'."\n" + ."\n" + .'- **false**: The query failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.NoPermission', - 'errorMessage' => 'Resource no permission', - ], - ], - 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', - ], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Data\\": [\\n {\\n \\"Type\\": \\"image\\",\\n \\"CreateTime\\": \\"1590124643553\\",\\n \\"BuildPackageUrl\\": \\"https://edas-hz.oss-cn-hangzhou.aliyuncs.com/apps/K8s_APP_ID/1d0e7884-60f0-41d2-89dd-ec1f3c69****/hello-sae.war\\",\\n \\"WarUrl\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/****/1362469756373809_shared_repo:42646692-66e7-4a21-b629-897752975cdf_159012464****\\",\\n \\"Id\\": \\"a0ce266c-d354-423a-9bd6-4083405a****\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListAppVersions', + 'summary' => 'Lists the historical versions of an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-10-25T08:48:55.000Z', 'description' => 'Request parameters changed'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"Application\\": {\\n \\"AppId\\": \\"443d638a-ef76-47c4-b707-61197d******\\",\\n \\"AppName\\": \\"test\\",\\n \\"AppDescription\\": \\"测试\\",\\n \\"NamespaceId\\": \\"cn-shenzhen\\",\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"ScaleRuleEnabled\\": \\"true\\",\\n \\"RunningInstances\\": 6,\\n \\"Instances\\": 6,\\n \\"Cpu\\": 2000,\\n \\"Mem\\": 4096,\\n \\"MseEnabled\\": true,\\n \\"MseNamespaceId\\": \\"test\\",\\n \\"ProgrammingLanguage\\": \\"java\\",\\n \\"BaseAppId\\": \\"ee99cce6-1c8e-4bfa-96c3-3e2fa9******\\",\\n \\"IsStateful\\": true\\n }\\n}","type":"json"}]', - 'title' => 'GetApplication', - ], - 'DescribeApplicationConfig' => [ - 'path' => '/pop/v1/sam/app/describeApplicationConfig', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAppVersions'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListAppVersions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListApplications' => [ + 'summary' => 'Retrieves a list of applications.', + 'path' => '/pop/v1/sam/app/listApplications', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -22168,1450 +18019,508 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '6317', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '6370', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The app id.', - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'VersionId', + 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The version id.', - 'type' => 'string', - 'required' => false, - 'example' => '0026ff7f-2b57-4127-bdd0-9bf202bb****', - ], + 'schema' => ['description' => 'The number of entries per page in a paging query. Valid values: \\[0,10000].', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'AppName', + 'in' => 'query', + 'schema' => ['description' => 'The application name.', 'type' => 'string', 'required' => false, 'example' => 'demo-app', 'title' => ''], + ], + [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:demo', 'title' => ''], + ], + [ + 'name' => 'Tags', + 'in' => 'query', + 'schema' => ['description' => 'The tag key-value pairs. Valid values:'."\n" + .'- **key**: the tag key. The length must be in the range of \\[1,128].'."\n" + .'- **value**: the tag value. The length must be in the range of \\[1,128].'."\n" + ."\n" + .'Tags are case-sensitive. If you specify multiple tags, all specified tags are created and attached to the resource. Each tag key on the same resource can have only one tag value. If you add a tag key that already exists, the corresponding tag value is updated to the new value.'."\n" + ."\n" + .'Tags cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => '[{"key":"key","value":"value"}]', 'title' => ''], + ], + [ + 'name' => 'OrderBy', + 'in' => 'query', + 'schema' => ['description' => 'The field by which to sort applications. Valid values:'."\n" + ."\n" + .'- **runnings**: sorts by the current number target instances.'."\n" + .'- **instances**: sorts by the target number target instances.', 'type' => 'string', 'required' => false, 'example' => 'runnings', 'title' => ''], + ], + [ + 'name' => 'Reverse', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to sort application instances by running status. If instances have the same status, they are sorted by instance ID. Valid values:'."\n" + .' - **true**: sorts in ascending order. Instances are arranged based on the startup sequence. For example, to reach the running state, an instance must go through steps such as starting the container, pulling the image, and initializing the instance.'."\n" + .' - **false**: sorts in descending order.'."\n" + ."\n" + .'The ascending order of instances is as follows:'."\n" + ."\n" + .'1. **Error**: an error occurred during instance startup.'."\n" + .'2. **CrashLoopBackOff**: the container failed to start, encountered an error during startup, and encountered an error again after restart.'."\n" + .'3. **ErrImagePull**: an error occurred while pulling the container image for the instance.'."\n" + .'4. **ImagePullBackOff**: the container image cannot be obtained.'."\n" + .'5. **Pending**: the instance is waiting to be scheduled.'."\n" + .'6. **Unknown**: an unknown exception occurred.'."\n" + .'7. **Terminating**: the instance is being terminated.'."\n" + .'8. **NotFound**: the instance cannot be found.'."\n" + .'9. **PodInitializing**: the instance is being initialized.'."\n" + .'10. **Init:0/1**: the instance is initializing.'."\n" + .'11. **Running**: the instance is running.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'FieldType', + 'in' => 'query', + 'schema' => ['description' => 'The dimension by which to filter applications. Valid values:'."\n" + ."\n" + .'- **appName**: application name.'."\n" + .'- **appIds**: application ID.'."\n" + .'- **slbIps**: SLB IP address.'."\n" + .'- **instanceIps**: instance IP address.', 'type' => 'string', 'required' => false, 'example' => 'appName', 'title' => ''], + ], + [ + 'name' => 'FieldValue', + 'in' => 'query', + 'schema' => ['description' => 'The application name, application ID, SLB IP address, or instance IP address of the target application.', 'type' => 'string', 'required' => false, 'example' => 'demo-app', 'title' => ''], + ], + [ + 'name' => 'AppSource', + 'in' => 'query', + 'schema' => ['description' => 'The Serverless App Engine (SAE) application type.'."\n" + ."\n" + .'- **micro_service.**'."\n" + .'- **web.**'."\n" + .'- **job.**', 'type' => 'string', 'required' => false, 'example' => 'micro_service', 'title' => ''], + ], + [ + 'name' => 'IsStateful', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether the application is stateful.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], + ], + [ + 'name' => 'NewSaeVersion', + 'in' => 'query', + 'schema' => ['description' => 'The application version. Valid values:'."\n" + ."\n" + .'- lite: Lite Edition'."\n" + .'- std: Standard Edition'."\n" + .'- pro: Professional Edition', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], + ], + [ + 'name' => 'ProgrammingLanguage', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****', - ], - 'Message' => [ - 'description' => 'The returned information.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622246421415014e****', - ], + 'Message' => ['description' => 'The additional information about the call result.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****', 'title' => ''], 'Data' => [ - 'description' => 'The information about the application.'."\n", + 'description' => 'The application list.', 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-2ze0i263cnn311nvj****', - ], - 'Readiness' => [ - 'description' => 'The details of the health check that was performed on the container. If the container fails this health check multiple times, the system disables and restarts the container. Containers that fail health checks cannot receive traffic from Server Load Balancer (SLB) instances. You can use the **exec**, **httpGet**, or **tcpSocket** method to perform health checks. For more information, see the description of the **Liveness** parameter.'."\n" - ."\n" - .'> You can use only one method to perform the health check.'."\n", - 'type' => 'string', - 'example' => '{"exec":{"command":["curl http://localhost:8080"]},"initialDelaySeconds":20,"timeoutSeconds":5}', - ], - 'ConfigMapMountDesc' => [ - 'description' => 'The details of the ConfigMap.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key-value pair that is stored in the ConfigMap.'."\n", - 'type' => 'string', - 'example' => 'k1', - ], - 'ConfigMapName' => [ - 'description' => 'The name of the ConfigMap.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'MountPath' => [ - 'description' => 'The path on which the ConfigMap is mounted.'."\n", - 'type' => 'string', - 'example' => '/tmp', - ], - 'ConfigMapId' => [ - 'description' => 'The ID of the ConfigMap.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'example' => 'sg-wz969ngg2e49q5i4****', - ], - 'BatchWaitTime' => [ - 'description' => 'The interval between batches in a phased release. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Jdk' => [ - 'description' => 'The version of the Java development kit (JDK) on which the deployment package of the application depends. The following versions are supported:'."\n" - ."\n" - .'* **Open JDK 8**'."\n" - .'* **Open JDK 7**'."\n" - .'* **Dragonwell 11**'."\n" - .'* **Dragonwell 8**'."\n" - .'* **openjdk-8u191-jdk-alpine3.9**'."\n" - .'* **openjdk-7u201-jdk-alpine3.9**'."\n" - ."\n" - .'This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'example' => 'Open JDK 8', - ], - 'ImageUrl' => [ - 'description' => 'The URL of the image. This parameter is returned only if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'example' => 'docker.io/library/nginx:1.14.2', - ], - 'SlsConfigs' => [ - 'description' => 'The logging configurations of Log Service.'."\n" - ."\n" - .'* To use Log Service resources that are automatically created by SAE, set this parameter to `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" - .'* To use custom Log Service resources, set this parameter to `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" - ."\n" - .'The following parameters are involved:'."\n" - ."\n" - .'* **projectName**: the name of the Log Service project.'."\n" - .'* **logDir**: the path in which logs are stored.'."\n" - .'* **logType**: the log type. **stdout**: the standard output log of the container. You can specify only one stdout value for this parameter. If you leave this parameter empty, file logs are collected.'."\n" - .'* **logstoreName**: the name of the Logstore in Log Service.'."\n" - .'* **logtailName**: the name of the Logtail configuration in Log Service. If you do not configure this parameter, a new Logtail configuration is created.'."\n" - ."\n" - .'If you do not need to modify the logging configurations when you deploy the application, configure the **SlsConfigs** parameter only in the first request. You do not need to include this parameter in subsequent requests. If you no longer need to use Log Service, leave the **SlsConfigs** parameter empty in the request.'."\n", - 'type' => 'string', - 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', - ], - 'Liveness' => [ - 'description' => 'The details of the availability check that was performed on the container. If the container fails this health check multiple times, the system disables and restarts the container. You can use one of the following methods to perform the health check:'."\n" - ."\n" - .'* Sample code of the **exec** method: `{"exec":{"command":["sh","-c","cat/home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}`'."\n" - .'* Sample code of the **httpGet** method: `{"httpGet":{"path":"/","port":18091,"scheme":"HTTP","isContainKeyWord":true,"keyWord":"SAE"},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" - .'* Sample code of the **tcpSocket** method: `{"tcpSocket":{"port":18091},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}`'."\n" - ."\n" - .'> You can use only one method to perform the health check.'."\n" - ."\n" - .'The following parameters are involved:'."\n" - ."\n" - .'* **exec.command**: the health check command.'."\n" - .'* **httpGet.path**: the request path.'."\n" - .'* **httpGet.scheme**: the protocol that is used to perform the health check. Valid values: **HTTP** and **HTTPS**.'."\n" - .'* **httpGet.isContainKeyWord**: indicates whether the response contains keywords. Valid values: **true** and **false**. If this field is not returned, the advanced settings are not used.'."\n" - .'* **httpGet.keyWord**: the custom keyword. This parameter is available only if the **isContainKeyWord** field is returned.'."\n" - .'* **tcpSocket.port**: the port that is used to check the status of TCP connections.'."\n" - .'* **initialDelaySeconds**: the delay of the health check. Default value: 10. Unit: seconds.'."\n" - .'* **periodSeconds**: the interval at which health checks are performed. Default value: 30. Unit: seconds.'."\n" - .'* **timeoutSeconds**: the timeout period of the health check. Default value: 1. Unit: seconds. If you set this parameter to 0 or leave this parameter empty, the timeout period is automatically set to 1 second.'."\n", - 'type' => 'string', - 'example' => '{"exec":{"command":["curl http://localhost:8080"]},"initialDelaySeconds":20,"timeoutSeconds":3}', - ], - 'Tags' => [ - 'description' => 'The details of the tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'k1', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - ], - ], - ], - 'PackageUrl' => [ - 'description' => 'The URL of the deployment package. This parameter is returned only if the **PackageType** parameter is set to **FatJar** or **War**.'."\n", - 'type' => 'string', - 'example' => 'https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war', - ], - 'PackageType' => [ - 'description' => 'The type of the deployment package. Valid values:'."\n" - ."\n" - .'* If you deploy the application by using a Java Archive (JAR) package, you can set this parameter to **FatJar**, **War**, or **Image**.'."\n" - ."\n" - .'* If you deploy the application by using a PHP package, you can set this parameter to one of the following values:'."\n" - ."\n" - .' * **PhpZip**'."\n" - .' * **IMAGE_PHP\\_5\\_4**'."\n" - .' * **IMAGE_PHP\\_5\\_4\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_5\\_5**'."\n" - .' * **IMAGE_PHP\\_5\\_5\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_5\\_6**'."\n" - .' * **IMAGE_PHP\\_5\\_6\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_0**'."\n" - .' * **IMAGE_PHP\\_7\\_0\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_1**'."\n" - .' * **IMAGE_PHP\\_7\\_1\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_2**'."\n" - .' * **IMAGE_PHP\\_7\\_2\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_3**'."\n" - .' * **IMAGE_PHP\\_7\\_3\\_ALPINE**'."\n", - 'type' => 'string', - 'example' => 'War', - ], - 'PreStop' => [ - 'description' => 'The script that is run before the container is stopped. Example: `{"exec":{"command":["cat","/etc/group"]}}`'."\n", - 'type' => 'string', - 'example' => '{"exec":{"command":["cat","/etc/group"]}}', - ], - 'PackageVersion' => [ - 'description' => 'The version of the deployment package. This parameter is returned only if the **PackageType** parameter is set to **FatJar** or **War**.'."\n", - 'type' => 'string', - 'example' => '1.0', - ], - 'JarStartArgs' => [ - 'description' => 'The arguments in the JAR package. The arguments are used to start the application container. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'example' => 'start', - ], - 'AppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'demo-app', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - 'JarStartOptions' => [ - 'description' => 'The option settings in the JAR package. The settings are used to start the application container. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'example' => '-Dtest=true', - ], - 'Replicas' => [ - 'description' => 'The number of application instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'UpdateStrategy' => [ - 'description' => 'The deployment policy. If the minimum number of available instances is 1, the value of the **UpdateStrategy** parameter is an empty string (""). If the minimum number of available instances is greater than 1, the following strategies can be configured:'."\n" - ."\n" - .'* The application is deployed on an instance. The remaining instances are automatically classified into two release batches whose interval is set to 1. In this case, the parameter is set to `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}`.'."\n" - .'* The application is deployed on an instance. The remaining instances are manually classified into two release batches. In this case, the parameter is set to `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}`.'."\n" - .'* All instances are automatically classified into two release batches. The application is deployed on the instances of the two batches in parallel. In this case, the parameter is set to `{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}`'."\n" - ."\n" - .'The following parameters are involved:'."\n" - ."\n" - .'* **type**: the type of the release policy. Valid values: **GrayBatchUpdate** and **BatchUpdate**.'."\n" - ."\n" - .'* **batchUpdate**: the phased release policy.'."\n" - ."\n" - .' * **batch**: the number of release batches.'."\n" - .' * **releaseType**: the processing method for the batches. Valid values: **auto** and **manual**.'."\n" - .' * **batchWaitTime**: the interval between release batches. Unit: seconds.'."\n" - ."\n" - .'* **grayUpdate**: the number of release batches in the phased release after a canary release. This parameter is returned only if the **type** parameter is set to **GrayBatchUpdate**.'."\n", - 'type' => 'string', - 'example' => '{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}', - ], - 'MinReadyInstances' => [ - 'description' => 'The minimum number of available instances. Valid values:'."\n" - ."\n" - .'* If you set the value to **0**, business interruptions occur when the application is updated.'."\n" - .'* If you set the value to **-1**, the minimum number of available instances is automatically set to a system-recommended value. The value is the nearest integer to which the calculated result of the following formula is rounded up: Current number of instances × 25%. For example, if five instances are available, the minimum number of available instances is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.'."\n" - ."\n" - .'> Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MinReadyInstanceRatio' => [ - 'description' => 'The percentage of the minimum number of available instances. Valid values:'."\n" - ."\n" - .'* **-1**: the default value. This value indicates that the minimum number of available instances is not measured by percentage. If you do not configure this parameter, the default value **-1** is used.'."\n" - .'* **0 to 100**: indicates that the minimum number of available instances is calculated by using the following formula: Current number of instances × (Value of MinReadyInstanceRatio × 100%). If the calculated result is not an integer, the result is rounded up to the nearest integer. For example, if the percentage is set to **50**% and five instances are available, the minimum number of available instances is 3.'."\n" - ."\n" - .'> If the **MinReadyInstance** and **MinReadyInstanceRatio** parameters are returned and the value of the **MinReadyInstanceRatio** parameter is not **-1**, the value of the **MinReadyInstanceRatio** parameter takes effect. If the **MinReadyInstances** parameter is set to **5** and the **MinReadyInstanceRatio** parameter is set to **50**, the value of the **MinReadyInstanceRatio** parameter determines the minimum number of available instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - 'Memory' => [ - 'description' => 'The size of memory required by each instance. Unit: MB. You cannot set this parameter to 0. The values of this parameter correspond to the values of the Cpu parameter:'."\n" - ."\n" - .'* This parameter is set to **1024** if the Cpu parameter is set to 500 or 1000.'."\n" - .'* This parameter is set to **2048** if the Cpu parameter is set to 500, 1000, or 1000.'."\n" - .'* This parameter is set to **4096** if the Cpu parameter is set to 1000, 2000, or 4000.'."\n" - .'* This parameter is set to **8192** if the Cpu parameter is set to 2000, 4000, or 8000.'."\n" - .'* This parameter is set to **12288** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **16384** if the Cpu parameter is set to 4000, 8000, or 16000.'."\n" - .'* This parameter is set to **24567** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **32768** if the Cpu parameter is set to 16000.'."\n" - .'* This parameter is set to **65536** if the Cpu parameter is set to 8000, 16000, or 32000.'."\n" - .'* This parameter is set to **131072** if the Cpu parameter is set to 32000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2048', - ], - 'Php' => [ - 'description' => 'The version of PHP supporting PHP deployment packages. Image is not supported.', - 'type' => 'string', - 'example' => 'PHP-FPM 7.0', - ], - 'PhpConfig' => [ - 'description' => 'The details of the PHP configuration file.'."\n", - 'type' => 'string', - 'example' => 'k1=v1', - ], - 'PhpConfigLocation' => [ - 'description' => 'The path on which the PHP configuration file for application startup is mounted. Make sure that the PHP server uses this configuration file during the startup.'."\n", - 'type' => 'string', - 'example' => '/usr/local/etc/php/php.ini', - ], - 'PostStart' => [ - 'description' => 'The script that is run immediately after the container is started. Example: `{"exec":{"command":["cat","/etc/group"]}}`'."\n", - 'type' => 'string', - 'example' => '{"exec":{"command":["cat","/etc/group"]}}', - ], - 'TerminationGracePeriodSeconds' => [ - 'description' => 'The timeout period for a graceful shutdown. Default value: 30. Unit: seconds. Valid values: 1 to 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'CommandArgs' => [ - 'description' => 'The parameters of the image startup command. The CommandArgs parameter contains the parameters that are required for the **Command** parameter. Format:'."\n" - ."\n" - .'`["a","b"]`'."\n" - ."\n" - .'In the preceding **Command** example, the CommandArgs parameter is set to `CommandArgs=["abc", ">", "file0"]`. The data type of `["abc", ">", "file0"]` must be an array of strings in the JSON format. You do not need to configure this parameter if it does not exist in the Command parameter.'."\n", - 'type' => 'string', - 'example' => '["a","b"]', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'MountHost' => [ - 'description' => 'The mount target of the NAS file system in the VPC where the application is deployed. If you do not need to modify this configuration during the deployment, configure the **MountHost** parameter only in the first request. You do not need to include this parameter in subsequent requests. If you need to remove this configuration, leave the **MountHost** parameter empty in the request.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'TomcatConfig' => [ - 'description' => 'The Tomcat configuration. If you want to delete the configuration, set this parameter to {} or leave this parameter empty. The following parameters are involved:'."\n" - ."\n" - .'* **port**: the port number. Valid values: 1024 to 65535. The root permissions are required to perform operations on ports whose number is smaller than 1024. Enter a value that ranges from 1025 to 65535 because the container has only the admin permissions. If you do not configure this parameter, the default port number 8080 is used.'."\n" - .'* **contextPath**: the path. Default value: /. This value indicates the root directory.'."\n" - .'* **maxThreads**: the maximum number of connections in the connection pool. Default value: 400.'."\n" - .'* **uriEncoding**: the URI encoding scheme in the Tomcat container. Valid values: **UTF-8**, **ISO-8859-1**, **GBK**, and **GB2312**. If you do not configure this parameter, the default value **ISO-8859-1** is used.'."\n" - .'* **useBodyEncoding**: indicates whether to use the encoding scheme that is specified by **BodyEncoding for URL**. Default value: **true**.'."\n", - 'type' => 'string', - 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', - ], - 'RegionId' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the vSwitch.'."\n", - 'type' => 'string', - 'example' => 'vsw-2ze559r1z1bpwqxwp****', - ], - 'Cpu' => [ - 'description' => 'The CPU specifications that are required for each instance. Unit: millicores. You cannot set this parameter to 0. Valid values:'."\n" - ."\n" - .'* **500**'."\n" - .'* **1000**'."\n" - .'* **2000**'."\n" - .'* **4000**'."\n" - .'* **8000**'."\n" - .'* **16000**'."\n" - .'* **32000**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'Envs' => [ - 'description' => 'The environment variables. Variable description:'."\n" - ."\n" - .'* **name**: the name of the environment variable.'."\n" - .'* **value**: the value or reference of the environment variable.'."\n", - 'type' => 'string', - 'example' => '[{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}]', - ], - 'MountDesc' => [ - 'description' => 'The details of the mounted NAS file system.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'MountPath' => [ - 'description' => 'The path on which the NAS file system is mounted.'."\n", - 'type' => 'string', - 'example' => '/tmp', - ], - 'NasPath' => [ - 'description' => 'The directory in the NAS file system.'."\n", - 'type' => 'string', - 'example' => '/', - ], - ], - ], - ], - 'EnableAhas' => [ - 'description' => 'Indicates whether access to Application High Availability Service (AHAS) is enabled. Valid values:'."\n" - ."\n" - .'* **true**: Access to AHAS is enabled.'."\n" - .'* **false**: Access to AHAS is disabled.'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'CustomHostAlias' => [ - 'description' => 'The custom mappings between hostnames and IP addresses in the container. Valid values:'."\n" - ."\n" - .'* **hostName**: the domain name or hostname.'."\n" - .'* **ip**: the IP address.'."\n", - 'type' => 'string', - 'example' => '[{"hostName":"test.host.name","ip":"0.0.0.0"}]', - ], - 'WebContainer' => [ - 'description' => 'The version of the Tomcat container on which the deployment package depends. Valid values:'."\n" - ."\n" - .'* **apache-tomcat-7.0.91**'."\n" - .'* **apache-tomcat-8.5.42**'."\n" - ."\n" - .'This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'example' => 'apache-tomcat-7.0.91', - ], - 'Command' => [ - 'description' => 'The command that is used to start the image. The command must be an existing executable object in the container. Example:'."\n" - ."\n" - .'```'."\n" - ."\n" - .'command:'."\n" - .' - echo'."\n" - .' - abc'."\n" - .' - >'."\n" - .' - file0'."\n" - .'```'."\n" - ."\n" - .'In this example, the Command parameter is set to `Command="echo", CommandArgs=["abc", ">", "file0"]`.'."\n", - 'type' => 'string', - 'example' => 'echo', - ], - 'WarStartOptions' => [ - 'description' => 'The option settings in the WAR package. The settings are used to start the application container. The default startup command is `java $JAVA_OPTS $CATALINA_OPTS -Options org.apache.catalina.startup.Bootstrap "$@" start`.'."\n", - 'type' => 'string', - 'example' => 'custom-option', - ], - 'PhpArmsConfigLocation' => [ - 'description' => 'The path on which the PHP configuration file for application monitoring is mounted. Make sure that the PHP server loads the configuration file.'."\n" - ."\n" - .'SAE automatically generates the corresponding configuration file. No manual operations are required.'."\n", - 'type' => 'string', - 'example' => '/usr/local/etc/php/conf.d/arms.ini', - ], - 'NasId' => [ - 'description' => 'The ID of the NAS file system.'."\n", - 'type' => 'string', - 'example' => 'AKSN89**', - ], - 'OssAkId' => [ - 'title' => 'OSS读写的AK', - 'description' => 'The AccessKey ID that is used to read data from and write data to Object Storage Service (OSS) buckets.'."\n", - 'type' => 'string', - 'example' => 'xxxxxx', - ], - 'OssAkSecret' => [ - 'title' => 'OSS读写的secret', - 'description' => 'The AccessKey secret that is used to read data from and write data to OSS buckets.'."\n", - 'type' => 'string', - 'example' => 'xxxxxx', - ], - 'OssMountDescs' => [ - 'title' => 'OSS挂载描述信息', - 'description' => 'The description of the mounted OSS bucket.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'bucketName' => [ - 'title' => 'Bucket名称', - 'description' => 'The name of the OSS bucket.'."\n", - 'type' => 'string', - 'example' => 'oss-bucket', - ], - 'bucketPath' => [ - 'title' => 'Bucket中Oss Key名称', - 'description' => 'The directory or object in OSS. If the specified directory or object does not exist, an error is returned.'."\n", - 'type' => 'string', - 'example' => 'data/user.data', - ], - 'mountPath' => [ - 'title' => '挂载到容器的路径', - 'description' => 'The path of the container in SAE. The parameter value that you specified overwrites the original value. If the specified path does not exist, SAE automatically creates the path.'."\n", - 'type' => 'string', - 'example' => '/usr/data/user.data', - ], - 'readOnly' => [ - 'title' => '是否只读', - 'description' => 'Indicates whether the application can use the container path to read data from or write data to resources in the directory of the OSS bucket. Valid values:'."\n" - ."\n" - .'* **true**: The application has the read-only permissions.'."\n" - .'* **false**: The application has the read and write permissions.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - 'EdasContainerVersion' => [ - 'description' => 'The version of the container, such as Ali-Tomcat, in which an application developed based on High-speed Service Framework (HSF) is deployed.'."\n", - 'type' => 'string', - 'example' => '3.5.3', - ], - 'Timezone' => [ - 'description' => 'The time zone. Default value: **Asia/Shanghai**.'."\n", - 'type' => 'string', - 'example' => 'Asia/Shanghai', - ], - 'AppDescription' => [ - 'description' => 'The description of the application.'."\n", - 'type' => 'string', - 'example' => 'The application description.', - ], - 'EnableGreyTagRoute' => [ - 'title' => '开启流量灰度', - 'description' => 'Indicates whether canary release rules are enabled. Canary release rules apply only to applications in Spring Cloud and Dubbo frameworks. Valid values:'."\n" - ."\n" - .'* **true**: The canary release rules are enabled.'."\n" - .'* **false**: The canary release rules are disabled.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'MseApplicationId' => [ - 'title' => '对应MSE产品侧应用ID', - 'description' => 'The ID of the microservice application.'."\n", - 'type' => 'string', - 'example' => 'xxxxxxx@xxxxx', - ], - 'AcrInstanceId' => [ - 'title' => 'ACR 企业版实例 ID', - 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'example' => 'cri-xxxxxx', - ], - 'AcrAssumeRoleArn' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role that is used to pull images across accounts. For more information, see [Pull images across Alibaba Cloud accounts](~~190675~~) and [Grant permissions across Alibaba Cloud accounts by using a RAM role](~~223585~~).'."\n", - 'type' => 'string', - 'example' => 'acs:ram::123456789012****:role/adminrole', - ], - 'ImagePullSecrets' => [ - 'description' => 'The ID of the corresponding secret dictionary.', - 'type' => 'string', - 'example' => '10', - ], - 'AssociateEip' => [ - 'title' => '是否绑定EIP', - 'description' => 'Indicates whether an elastic IP address (EIP) is associated with the application instance. Valid values:'."\n" - ."\n" - .'* **true**: The EIP is associated with the application instance.'."\n" - .'* **false**: The EIP is not associated with the application instance.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'KafkaConfigs' => [ - 'description' => 'The logging configurations of Message Queue for Apache Kafka. The following parameters are involved:'."\n" - ."\n" - .'* **KafkaConfigs**: the configurations of Message Queue for Apache Kafka.'."\n" - ."\n" - .'* **createTime**: the time when the Message Queue for Apache Kafka instance was created.'."\n" - ."\n" - .'* **kafkaTopic**: the message topic that is used to classify messages.'."\n" - ."\n" - .'* **logDir**: the path in which logs are stored.'."\n" - ."\n" - .'* **logType**: the type of collected logs. Valid values:'."\n" - ."\n" - .' * **file_log**: the file log that is stored in the container. The path of the file logs in the container is returned.'."\n" - .' * **stdout**: the standard output log of the container. You can specify only one stdout value.'."\n" - ."\n" - .'* **kafkaEndpoint**: the endpoint of the Message Queue for Apache Kafka service.'."\n" - ."\n" - .'* **kafkaInstanceId**: the ID of the Message Queue for Apache Kafka instance.'."\n" - ."\n" - .'* **region**: the region where the Message Queue for Apache Kafka instance resides.'."\n", - 'type' => 'string', - 'example' => '[{"createTime":1646304855512,"kafkaTopic":"test","logDir":"/tmp/a.log","logType":"file_log"},{"createTime":1646304855512,"kafkaTopic":"test2","logDir":"/sae-stdlog/kafka-jar*/*","logType":"stdout"}],"kafkaEndpoint":"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX","kafkaInstanceId":"alikafka_pre-cn-7pp2l8kr****","region":"cn-beijing"}]', - ], - 'ProgrammingLanguage' => [ - 'description' => 'The programming language that is used to create the application. Valid values:'."\n" - ."\n" - .'* **java**: Java'."\n" - .'* **php**: PHP'."\n" - .'* **other**: Other programming languages, such as Python, C++, Go, .NET, and Node.js.'."\n", - 'type' => 'string', - 'example' => 'java', - ], - 'PvtzDiscovery' => [ - 'description' => 'Enable K8s Service discovery and registration.', - 'type' => 'string', - 'example' => '{"serviceName":"bwm-poc-sc-gateway-cn-beijing-front","namespaceId":"cn-beijing:front","portAndProtocol":{"18012":"TCP"},"enable":true}', - ], - 'SwimlanePvtzDiscovery' => [ - 'description' => 'Configuration of K8s Service discovery and registration, and full-chain gray-release feature.', - 'type' => 'string', - 'example' => '{\\"enable\\":\\"false\\",\\"namespaceId\\":\\"cn-beijing:test\\",\\"portAndProtocol\\":{\\"2000:TCP\\":\\"18081\\"},\\"portProtocols\\":[{\\"port\\":2000,\\"protocol\\":\\"TCP\\",\\"targetPort\\":18081}],\\"pvtzDiscoveryName\\":\\"cn-beijing-1421801774382676\\",\\"serviceId\\":\\"3513\\",\\"serviceName\\":\\"demo-gray.test\\"}', - ], - 'MicroRegistration' => [ - 'description' => 'The Nacos registry. Valid values:'."\n" - ."\n" - .'* **0**: SAE built-in Nacos registry'."\n" - .'* **1**: self-managed Nacos registry'."\n" - .'* **2** : MSE Nacos registry'."\n", - 'type' => 'string', - 'example' => '"0"', - ], - 'NasConfigs' => [ - 'description' => 'The configurations for mounting the NAS file system.'."\n", - 'type' => 'string', - 'example' => '[{"mountPath":"/test1","readOnly":false,"nasId":"nasId1","mountDomain":"nasId1.cn-shenzhen.nas.aliyuncs.com","nasPath":"/test1"},{"nasId":"nasId2","mountDomain":"nasId2.cn-shenzhen.nas.aliyuncs.com","readOnly":false,"nasPath":"/test2","mountPath":"/test2"}]', - ], - 'Python' => [ - 'description' => 'The Python environment. PYTHON 3.9.15 is supported.'."\n", - 'type' => 'string', - 'example' => 'PYTHON 3.9.15', - ], - 'PythonModules' => [ - 'description' => 'The configurations for installing custom module dependencies. By default, the dependencies defined by the requirements.txt file in the root directory are installed. If no software package is configured, you can specify dependencies based on your business requirements.'."\n", - 'type' => 'string', - 'example' => 'Flask==2.0', - ], - 'MseApplicationName' => [ - 'description' => 'The application name of SAE service registered in MSE.', - 'type' => 'string', - 'example' => 'cn-shenzhen-alb-demo-5c****', - ], - 'AppSource' => [ - 'description' => 'The SAE application type.'."\n" - ."\n" - .'* micro_service'."\n" - .'* web'."\n" - .'* job'."\n", - 'type' => 'string', - 'example' => 'micro_service', - ], - 'ServiceTags' => [ - 'description' => 'The canary tag configured for the application.'."\n", - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'string', - 'example' => 'tag1', - 'description' => 'The canary tag'."\n", - ], - ], - 'Dotnet' => [ - 'description' => 'The version of .NET.'."\n" - ."\n" - .'- .NET 3.1'."\n" - .'- .NET 5.0'."\n" - .'- .NET 6.0'."\n" - .'- .NET 7.0'."\n" - .'- .NET 8.0', - 'type' => 'string', - 'example' => '.NET 8.0', - ], - 'MicroRegistrationConfig' => [ - 'description' => 'The configuration of registration center. Takes effect only the type of registration center is MSE enterprise Nacos.', - 'type' => 'string', - 'example' => '{\\"instanceId\\":\\"mse-cn-1ls43******\\",\\"namespace\\":\\"62ee12fb-c279-4da4-be96-21**********\\"}', - ], - 'EnableIdle' => [ - 'description' => 'Enable idle mode.'."\n" - ."\n" - .'- true: enable'."\n" - ."\n" - .'- false: disable', - 'type' => 'boolean', - 'example' => 'false', - ], - 'EnableNewArms' => [ - 'description' => 'Enable new ARMS feature.'."\n" - ."\n" - .'- true: enable'."\n" - ."\n" - .'- false: disable', - 'type' => 'boolean', - 'example' => 'false', - ], - 'EnableCpuBurst' => [ - 'description' => 'Enable CPU Burst.'."\n" - ."\n" - .'- true: enable'."\n" - ."\n" - .'- false: disable', - 'type' => 'string', - 'example' => 'true', - ], - 'OidcRoleName' => [ - 'description' => 'The name of the RAM role used to authenticate the user identity.'."\n" - ."\n" - .'> You need to create an OpenID Connect (OIDC) identity provider (IdP) and an identity provider (IdP) for role-based single sign-on (SSO) in advance. For more information, see [Creates an OpenID Connect (OIDC) identity provider (IdP)](~~2331022~~) and [Creates an identity provider (IdP) for role-based single sign-on (SSO)](~~2331016~~).'."\n", - 'type' => 'string', - 'example' => 'sae-test', - ], - 'SecretMountDesc' => [ - 'description' => 'Secret mount description.', - 'type' => 'array', - 'items' => [ - 'description' => 'Secret mount description.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key to Base64 encode values.', - 'type' => 'string', - 'example' => 'task-center', - ], - 'SecretName' => [ - 'description' => 'The name of the secret.'."\n", - 'type' => 'string', - 'example' => 'dummy-name-opaque-894', - ], - 'MountPath' => [ - 'description' => 'The mount path.', - 'type' => 'string', - 'example' => '/opt/www/runtime/logs', - ], - 'SecretId' => [ - 'description' => 'The secret ID of the instance.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '520', - ], - ], - ], - ], - 'SidecarContainersConfig' => [ - 'description' => 'The configuration of the Sidecar container.', - 'type' => 'array', - 'items' => [ - 'description' => 'The configuration of the Sidecar container.', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The container name.', - 'type' => 'string', - 'example' => 'test', - ], - 'Cpu' => [ - 'description' => 'Set the CPU resource limit of the primary container that can be used by Sidecar container.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'Memory' => [ - 'description' => 'Set the memory limit of the primary container that can be used by Sidecar container.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'ImageUrl' => [ - 'description' => 'The URL of the image.'."\n", - 'type' => 'string', - 'example' => 'registry.cn-beijing.aliyuncs.com/sae-dev-test/nginx:stable', - ], - 'AcrInstanceId' => [ - 'description' => 'The ID of Container Registry Enterprise Edition instance. This parameter is required when the **ImageUrl** parameter is set to the URL of an image in an ACR Enterprise Edition instance.', - 'type' => 'string', - 'example' => 'cri-fhzlneorxala66ip', - ], - 'Command' => [ - 'description' => 'The command that is used to start the image. The command must be an existing executable object in the container. Sample statements:'."\n" - ."\n" - .' command:'."\n" - .' - echo'."\n" - .' - abc'."\n" - .' - >'."\n" - .' - file0'."\n" - ."\n" - .'In this example, the Command parameter is set to `Command="echo", CommandArgs=["abc", ">", "file0"]`.'."\n", - 'type' => 'string', - 'example' => '/bin/sh', - ], - 'CommandArgs' => [ - 'description' => 'The parameters of the image startup command. The CommandArgs parameter specifies the parameters that are required for the **Command** parameter. You can specify the name in one of the following formats:'."\n" - ."\n" - .'`["a","b"]`'."\n" - ."\n" - .'In the preceding example, the CommandArgs parameter is set to `CommandArgs=["abc", ">", "file0"]`. The data type of `["abc", ">", "file0"]` must be an array of strings in the JSON format. This parameter is optional.'."\n", - 'type' => 'string', - 'example' => '[\\"-c\\",\\"echo \\\\\\"test\\\\\\" > /home/nas/test.log && sleep 10000000s\\"]', - ], - 'Envs' => [ - 'description' => 'The environment variables. You can configure custom environment variables or reference a ConfigMap. If you want to reference a ConfigMap, you must first create a ConfigMap. For more information, see [CreateConfigMap](~~176914~~). Take note of the following rules:'."\n" - ."\n" - .'* Customize'."\n" - ."\n" - .' * **name**: the name of the environment variable.'."\n" - .' * **value**: the value of the environment variable.'."\n" - ."\n" - .'* Reference ConfigMap'."\n" - ."\n" - .' * **name**: the name of the environment variable. You can reference one or all keys. If you want to reference all keys, specify `sae-sys-configmap-all-<ConfigMap name>`. Example: `sae-sys-configmap-all-test1`.'."\n" - .' * **valueFrom**: the reference of the environment variable. Set the value to `configMapRef`.'."\n" - .' * **configMapId**: the ConfigMap ID.'."\n" - .' * **key**: the key. If you want to reference all keys, do not configure this parameter.'."\n", - 'type' => 'string', - 'example' => '[{\\"name\\":\\"k1\\",\\"value\\":\\"c8e3a815-e5d3-4adf-abb3-98b106a607c4\\"}]', - ], - 'ConfigMapMountDesc' => [ - 'description' => 'The description of the **ConfigMap** instance mounted to the application. Use configurations created on the Configuration Items page to configure containers. The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **congfigMapId**: the ID of the ConfigMap instance. You can call the [ListNamespacedConfigMaps](~~176917~~) operation to obtain the ID.'."\n" - .'* **key**: the key.'."\n" - ."\n" - .'> You can use the `sae-sys-configmap-all` key to mount all keys.'."\n" - ."\n" - .'* **mountPath**: the mount path in the container.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The description of the ConfigMap instance mounted to the application.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The ConfigMap key', - 'type' => 'string', - 'example' => 'key', - ], - 'ConfigMapName' => [ - 'description' => 'The ConfigMap name.', - 'type' => 'string', - 'example' => 'ConfigMap-test', - ], - 'MountPath' => [ - 'description' => 'The mount path.', - 'type' => 'string', - 'example' => '/mnt/test', - ], - 'ConfigMapId' => [ - 'description' => 'The ConfigMap ID.', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '7361', - ], - ], - ], - ], - 'EmptyDirDesc' => [ - 'description' => 'Shared temporary storage mounted to the primary container and the Sidecar container.', - 'type' => 'array', - 'items' => [ - 'description' => 'Shared temporary storage.', - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'description' => 'The name of the shared temporary storage.', - 'type' => 'string', - 'example' => 'sidecar-container', - ], - 'MountPath' => [ - 'description' => 'Mount path of the data volume within the container.', - 'type' => 'string', - 'example' => '/mnt/cache', - ], - ], - ], - ], - ], - ], - ], - 'InitContainersConfig' => [ - 'description' => 'Initialize container configuration.', + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of applications.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PageSize' => ['description' => 'The page size.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'Applications' => [ + 'description' => 'The application list.', 'type' => 'array', 'items' => [ - 'description' => 'Initialize container configuration.', + 'description' => 'The application list information.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'description' => 'The name of the initialized container.', - 'type' => 'string', - 'example' => 'init-container', - ], - 'ImageUrl' => [ - 'description' => 'The image URL of the initialized container.', - 'type' => 'string', - 'example' => 'registry.cn-shenzhen.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0', - ], - 'Command' => [ - 'description' => 'The command that is used to start the image. The command must be an existing executable object in the container. Sample statements:'."\n" - ."\n" - .' command:'."\n" - .' - echo'."\n" - .' - abc'."\n" - .' - >'."\n" - .' - file0'."\n" - ."\n" - .'In this example, the Command parameter is set to `Command="echo", CommandArgs=["abc", ">", "file0"]`.'."\n", - 'type' => 'string', - 'example' => '/bin/sh', - ], - 'CommandArgs' => [ - 'description' => 'The parameters of the image startup command. The CommandArgs parameter specifies the parameters that are required for the **Command** parameter. You can specify the name in one of the following formats:'."\n" - ."\n" - .'`["a","b"]`'."\n" - ."\n" - .'In the preceding example, the CommandArgs parameter is set to `CommandArgs=["abc", ">", "file0"]`. The data type of `["abc", ">", "file0"]` must be an array of strings in the JSON format. This parameter is optional.'."\n", - 'type' => 'string', - 'example' => '["a","b"]'."\n", - ], - 'Envs' => [ - 'description' => 'The environment variables. You can configure custom environment variables or reference a ConfigMap. If you want to reference a ConfigMap, you must first create a ConfigMap. For more information, see [CreateConfigMap](~~176914~~). Take note of the following rules:'."\n" - ."\n" - .'* Customize'."\n" - ."\n" - .' * **name**: the name of the environment variable.'."\n" - .' * **value**: the value of the environment variable.'."\n" - ."\n" - .'* Reference ConfigMap'."\n" - ."\n" - .' * **name**: the name of the environment variable. You can reference one or all keys. If you want to reference all keys, specify `sae-sys-configmap-all-<ConfigMap name>`. Example: `sae-sys-configmap-all-test1`.'."\n" - .' * **valueFrom**: the reference of the environment variable. Set the value to `configMapRef`.'."\n" - .' * **configMapId**: the ConfigMap ID.'."\n" - .' * **key**: the key. If you want to reference all keys, do not configure this parameter.'."\n", - 'type' => 'string', - 'example' => '[{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}]'."\n", - ], - 'ConfigMapMountDesc' => [ - 'description' => 'The information of ConfigMap.', + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'demo-app', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-beijing:demo', 'title' => ''], + 'AppDeletingStatus' => ['description' => 'Indicates whether the application is being deleted. Valid values:'."\n" + ."\n" + .'- **true**: The application is being deleted.'."\n" + .'- **false**: The application is not being deleted.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'f7730764-d88f-4b9a-8d8e-cd8efbfe****', 'title' => ''], + 'Tags' => [ + 'description' => 'The application tags.', 'type' => 'array', 'items' => [ - 'description' => 'The key-value pair of ConfigMap.', + 'description' => 'The application tag information.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key.', - 'type' => 'string', - 'example' => 'k1'."\n", - ], - 'ConfigMapName' => [ - 'description' => 'The name of the ConfigMap.', - 'type' => 'string', - 'example' => 'test'."\n", - ], - 'MountPath' => [ - 'description' => 'The mount path.', - 'type' => 'string', - 'example' => '/tmp'."\n", - ], - 'ConfigMapId' => [ - 'description' => 'ConfigMap ID。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'key', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'value', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'EmptyDirDesc' => [ + 'RunningInstances' => ['description' => 'The number of running instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Instances' => ['description' => 'The number of application instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'AppDescription' => ['description' => 'The application description.', 'type' => 'string', 'example' => 'description', 'title' => ''], + 'Cpu' => ['description' => 'The CPU required for each instance, in millicores. This value cannot be 0. Only the following defined specifications are supported:'."\n" + ."\n" + .'- **500**'."\n" + .'- **1000**'."\n" + .'- **2000**'."\n" + .'- **4000**'."\n" + .'- **8000**'."\n" + .'- **16000**'."\n" + .'- **32000**', 'type' => 'integer', 'format' => 'int32', 'example' => '1000', 'title' => ''], + 'Mem' => ['description' => 'The memory required for each instance, in MB. This value cannot be 0. The memory has a one-to-one mapping with CPU. Only the following defined specifications are supported:'."\n" + ."\n" + .'- **1024**: corresponds to 500 and 1000 millicores of CPU.'."\n" + .'- **2048**: corresponds to 500, 1000, and 2000 millicores of CPU.'."\n" + .'- **4096**: corresponds to 1000, 2000, and 4000 millicores of CPU.'."\n" + .'- **8192**: corresponds to 2000, 4000, and 8000 millicores of CPU.'."\n" + .'- **12288**: corresponds to 12000 millicores of CPU.'."\n" + .'- **16384**: corresponds to 4000, 8000, and 16000 millicores of CPU.'."\n" + .'- **24576**: corresponds to 12000 millicores of CPU.'."\n" + .'- **32768**: corresponds to 16000 millicores of CPU.'."\n" + .'- **65536**: corresponds to 8000, 16000, and 32000 millicores of CPU.'."\n" + .'- **131072**: corresponds to 32000 millicores of CPU.', 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''], + 'MseEnabled' => ['description' => 'Indicates whether MSE microservice governance is enabled for the application.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'MseNamespaceId' => ['description' => 'The MSE microservice governance namespace.'."\n" + ."\n" + .'- default: Free Edition'."\n" + ."\n" + .'- sae-pro: Professional Edition'."\n" + ."\n" + .'- sae-ent: Enterprise Edition', 'type' => 'string', 'example' => 'sae-ent', 'title' => ''], + 'BaseAppId' => ['description' => 'The base application ID. This property exists only for canary release applications.', 'type' => 'string', 'example' => 'xxx-xxx-xx-xxx', 'title' => ''], + 'ProgrammingLanguage' => ['description' => 'The programming language of the application.', 'type' => 'string', 'example' => 'java', 'title' => ''], + 'Children' => [ + 'description' => 'The list of canary release applications for this application.', 'type' => 'array', 'items' => [ + 'description' => 'The detailed information.', 'type' => 'object', 'properties' => [ - 'Name' => [ - 'type' => 'string', - ], - 'MountPath' => [ - 'type' => 'string', + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'app1', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-beijing:demo', 'title' => ''], + 'AppDeletingStatus' => ['description' => 'Indicates whether the application is being deleted.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'xxx-xxx-xxx-xxx', 'title' => ''], + 'ScaleRuleEnabled' => ['description' => 'Indicates whether the elastic scaling policy is enabled.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'ScaleRuleType' => ['description' => 'The type of the elastic scaling rule.', 'type' => 'string', 'example' => 'timing', 'title' => ''], + 'Tags' => [ + 'description' => 'The application tags.', + 'type' => 'array', + 'items' => [ + 'description' => 'The application tags.', + 'type' => 'object', + 'properties' => [ + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'key', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'value', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'RunningInstances' => ['description' => 'The number of running instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'Instances' => ['description' => 'The number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'AppDescription' => ['description' => 'The application description.', 'type' => 'string', 'example' => 'Test application', 'title' => ''], + 'Cpu' => ['description' => 'The CPU size.', 'type' => 'integer', 'format' => 'int32', 'example' => '2000', 'title' => ''], + 'Mem' => ['description' => 'The memory size.', 'type' => 'integer', 'format' => 'int32', 'example' => '2048', 'title' => ''], + 'MseEnabled' => ['description' => 'Indicates whether MSE microservice governance is enabled for the application.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'BaseAppId' => ['description' => 'The base application ID.', 'type' => 'string', 'example' => ' ee99cce6-1c8e-4bfa-96c3-3e2fa9******', 'title' => ''], + 'ProgrammingLanguage' => ['description' => 'The programming language of the application.', 'type' => 'string', 'example' => 'java', 'title' => ''], + 'AppType' => ['description' => 'The deployment type of the application.', 'type' => 'string', 'example' => 'Image', 'title' => ''], + 'NamespaceName' => ['description' => 'The namespace name.', 'type' => 'string', 'example' => 'demo', 'title' => ''], + 'IsStateful' => ['description' => 'Specifies whether the application is stateful.', 'type' => 'boolean', 'title' => '', 'example' => ''], + 'NewSaeVersion' => ['description' => 'The application version. Valid values:'."\n" + ."\n" + .'- lite: Lite Edition'."\n" + .'- std: Standard Edition'."\n" + .'- pro: Professional Edition', 'type' => 'string', 'example' => 'pro', 'title' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'title' => '', 'example' => ''], + 'EnableIdle' => ['description' => 'Indicates whether idle mode is enabled.', 'type' => 'string', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - ], - ], - ], - 'CustomImageNetworkType' => [ - 'description' => 'The type of custom image. Set to empty string if using pre-built image.'."\n" - ."\n" - .'- internet: public network image.'."\n" - ."\n" - .'- intranet: private network image.', - 'type' => 'string', - 'example' => 'internet', - ], - 'ResourceType' => [ - 'description' => 'The type of the resource. Set the value to `application`.'."\n", - 'type' => 'string', - 'example' => 'application', - ], - 'BaseAppId' => [ - 'description' => 'The base app ID.', - 'type' => 'string', - 'example' => '8c573618-8d72-4407-baf4-f7b64b******', - ], - 'MicroserviceEngineConfig' => [ - 'description' => 'Configure microservices governance'."\n" - ."\n" - .'enable: Whether to enable microservices governance'."\n" - ."\n" - .'- true: Enable'."\n" - .'- false: Disable'."\n" - ."\n" - .'mseLosslessRule: Configure lossless online/offline deployment'."\n" - ."\n" - .'- delayTime: Delay duration (unit: seconds)'."\n" - .'- enable: Whether to enable lossless deployment. Set to "true" to enable; set to "false" to disable.'."\n" - .'- notice: Whether to enable notifications. Set to "true" to enable; set to "false" to disable.'."\n" - .'- warmupTime: Small-traffic warm-up duration (unit: seconds)', - 'type' => 'string', - 'example' => '{\\"Enable\\":true,\\"MseLosslessRule\\":{\\"enable\\":true,\\"notice\\":true,\\"delayTime\\":10,\\"warmupTime\\":120,\\"funcType\\":2,\\"aligned\\":false,\\"related\\":false,\\"lossLessDetail\\":false}}', - ], - 'NewSaeVersion' => [ - 'description' => 'The SAE application edition.'."\n" - ."\n" - .'- lite: The lightweight edition.'."\n" - .'- std: The standard edition.'."\n" - .'- pro: The professional edition.', - 'type' => 'string', - 'example' => 'pro', - ], - 'ClusterId' => [ - 'description' => 'The cluster ID.'."\n", - 'type' => 'string', - 'example' => '495fc79c-ae61-4600-866d-a09d68******', - ], - 'DiskSize' => [ - 'description' => 'The disk size. Unit: GB.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'StartupProbe' => [ - 'description' => 'Enable startup probe.', - 'type' => 'string', - 'example' => '{\\"exec\\":{\\"command\\":[\\"/bin/sh\\",\\"-c\\",\\"#!Note: If microservice config is enabled, the application will be automatically injected with the prestop configuration for lossless offline. If you delete this prestop configuration, lossless offline will not be effective.\\\\n echo stop > /tmp/prestop; /home/admin/.tools/curl http://127.0.0.1:54199/offline; sleep 30\\"]}}', - ], - 'GpuCount' => [ - 'type' => 'string', - ], - 'GpuType' => [ - 'type' => 'string', - ], - 'EnablePrometheus' => [ - 'type' => 'boolean', - ], - 'IsStateful' => [ - 'type' => 'boolean', - ], - 'CmsServiceId' => [ - 'type' => 'string', - ], - 'HeadlessPvtzDiscovery' => [ - 'type' => 'string', - ], - 'Html' => [ - 'type' => 'string', - ], - 'EmptyDirDesc' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Name' => [ - 'type' => 'string', - ], - 'MountPath' => [ - 'type' => 'string', + 'ImageUrl' => ['description' => 'The image URL.', 'type' => 'string', 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0', 'title' => ''], + 'PackageUrl' => ['description' => 'The deployment package URL.', 'type' => 'string', 'example' => 'https://sae-oss-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/apps/K8S_APP_ID/1421801774382676/adf2624a-66fd-4a2b-8caa-6921da******/hello-sae.jar', 'title' => ''], + 'AppType' => ['description' => 'The deployment type of the application.', 'type' => 'string', 'example' => 'Image', 'title' => ''], + 'NamespaceName' => ['description' => 'The namespace name.', 'type' => 'string', 'example' => 'demo', 'title' => ''], + 'IsStateful' => ['description' => 'Specifies whether the application is stateful.', 'type' => 'boolean', 'title' => '', 'example' => ''], + 'NewSaeVersion' => ['description' => 'The application version. Valid values:'."\n" + ."\n" + .'- lite: Lite Edition'."\n" + .'- std: Standard Edition'."\n" + .'- pro: Professional Edition', 'type' => 'string', 'example' => 'pro', 'title' => ''], + 'EnableIdle' => ['description' => 'Indicates whether idle mode is enabled.', 'type' => 'string', 'example' => 'false', 'title' => ''], + 'DiskSize' => ['description' => 'The disk storage size, in GB.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'VpcId' => ['description' => 'VPC ID。', 'type' => 'string', 'title' => '', 'example' => ''], + 'ResourceType' => ['description' => 'The resource type.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Labels' => [ + 'description' => 'The labels.', + 'type' => 'object', + 'additionalProperties' => ['type' => 'string', 'description' => '', 'title' => '', 'example' => ''], + 'title' => '', + 'example' => '', ], + 'RaspEnabled' => ['type' => 'boolean', 'description' => '', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'DeploymentName' => [ - 'type' => 'string', - ], - 'AlbIngressReadinessGate' => [ - 'type' => 'string', - ], - 'MaxSurgeInstances' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'MaxSurgeInstanceRatio' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - 'AgentVersion' => [ - 'type' => 'string', - ], - 'EnableNamespaceAgentVersion' => [ - 'type' => 'boolean', - ], - 'SlsLogEnvTags' => [ - 'title' => 'sls log env tags', - 'type' => 'string', - ], - 'LokiConfigs' => [ - 'type' => 'string', - ], - 'IdleHour' => [ - 'type' => 'string', + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The returned error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the configurations of an application were obtained. Valid values:'."\n" - ."\n" - .'* **true**: The configurations were obtained.'."\n" - .'* **false**: The configurations failed to be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** field is not returned.'."\n" + .'- If the request fails, the **ErrorCode** field is returned. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The API status or POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: Success.'."\n" + .'- **3xx**: Redirection.'."\n" + .'- **4xx**: Request error.'."\n" + .'- **5xx**: Server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application list is retrieved. Valid values:'."\n" + ."\n" + .'- **true**: Retrieved.'."\n" + .'- **false**: Not retrieved.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of applications.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PageSize' => ['description' => 'The page size.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - ], - 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', - ], + ['errorCode' => 'Illegal.argument', 'errorMessage' => 'Illegal argument', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": {\\n \\"VpcId\\": \\"vpc-2ze0i263cnn311nvj****\\",\\n \\"Readiness\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"curl http://localhost:8080\\\\\\"]},\\\\\\"initialDelaySeconds\\\\\\":20,\\\\\\"timeoutSeconds\\\\\\":5}\\",\\n \\"ConfigMapMountDesc\\": [\\n {\\n \\"Key\\": \\"k1\\",\\n \\"ConfigMapName\\": \\"test\\",\\n \\"MountPath\\": \\"/tmp\\",\\n \\"ConfigMapId\\": 1\\n }\\n ],\\n \\"SecurityGroupId\\": \\"sg-wz969ngg2e49q5i4****\\",\\n \\"BatchWaitTime\\": 10,\\n \\"Jdk\\": \\"Open JDK 8\\",\\n \\"ImageUrl\\": \\"docker.io/library/nginx:1.14.2\\",\\n \\"SlsConfigs\\": \\"[{\\\\\\"logDir\\\\\\":\\\\\\"\\\\\\",\\\\\\"logType\\\\\\":\\\\\\"stdout\\\\\\"},{\\\\\\"logDir\\\\\\":\\\\\\"/tmp/a.log\\\\\\"}]\\",\\n \\"Liveness\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"curl http://localhost:8080\\\\\\"]},\\\\\\"initialDelaySeconds\\\\\\":20,\\\\\\"timeoutSeconds\\\\\\":3}\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"k1\\",\\n \\"Value\\": \\"v1\\"\\n }\\n ],\\n \\"PackageUrl\\": \\"https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war\\",\\n \\"PackageType\\": \\"War\\",\\n \\"PreStop\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"cat\\\\\\",\\\\\\"/etc/group\\\\\\"]}}\\",\\n \\"PackageVersion\\": \\"1.0\\",\\n \\"JarStartArgs\\": \\"start\\",\\n \\"AppName\\": \\"demo-app\\",\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"JarStartOptions\\": \\"-Dtest=true\\",\\n \\"Replicas\\": 2,\\n \\"UpdateStrategy\\": \\"{\\\\\\"type\\\\\\":\\\\\\"GrayBatchUpdate\\\\\\",\\\\\\"batchUpdate\\\\\\":{\\\\\\"batch\\\\\\":2,\\\\\\"releaseType\\\\\\":\\\\\\"auto\\\\\\",\\\\\\"batchWaitTime\\\\\\":1},\\\\\\"grayUpdate\\\\\\":{\\\\\\"gray\\\\\\":1}}\\",\\n \\"MinReadyInstances\\": 1,\\n \\"MinReadyInstanceRatio\\": -1,\\n \\"Memory\\": 2048,\\n \\"Php\\": \\"PHP-FPM 7.0\\",\\n \\"PhpConfig\\": \\"k1=v1\\",\\n \\"PhpConfigLocation\\": \\"/usr/local/etc/php/php.ini\\",\\n \\"PostStart\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"cat\\\\\\",\\\\\\"/etc/group\\\\\\"]}}\\",\\n \\"TerminationGracePeriodSeconds\\": 10,\\n \\"CommandArgs\\": \\"[\\\\\\"a\\\\\\",\\\\\\"b\\\\\\"]\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"MountHost\\": \\"example.com\\",\\n \\"TomcatConfig\\": \\"{\\\\\\"port\\\\\\":8080,\\\\\\"contextPath\\\\\\":\\\\\\"/\\\\\\",\\\\\\"maxThreads\\\\\\":400,\\\\\\"uriEncoding\\\\\\":\\\\\\"ISO-8859-1\\\\\\",\\\\\\"useBodyEncodingForUri\\\\\\":true}\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"VSwitchId\\": \\"vsw-2ze559r1z1bpwqxwp****\\",\\n \\"Cpu\\": 1000,\\n \\"Envs\\": \\"[{\\\\\\"name\\\\\\":\\\\\\"TEST_ENV_KEY\\\\\\",\\\\\\"value\\\\\\":\\\\\\"TEST_ENV_VAR\\\\\\"}]\\",\\n \\"MountDesc\\": [\\n {\\n \\"MountPath\\": \\"/tmp\\",\\n \\"NasPath\\": \\"/\\"\\n }\\n ],\\n \\"EnableAhas\\": \\"true\\",\\n \\"CustomHostAlias\\": \\"[{\\\\\\"hostName\\\\\\":\\\\\\"test.host.name\\\\\\",\\\\\\"ip\\\\\\":\\\\\\"0.0.0.0\\\\\\"}]\\",\\n \\"WebContainer\\": \\"apache-tomcat-7.0.91\\",\\n \\"Command\\": \\"echo\\",\\n \\"WarStartOptions\\": \\"custom-option\\",\\n \\"PhpArmsConfigLocation\\": \\"/usr/local/etc/php/conf.d/arms.ini\\",\\n \\"NasId\\": \\"AKSN****\\",\\n \\"OssAkId\\": \\"xxxxxx\\",\\n \\"OssAkSecret\\": \\"xxxxxx\\",\\n \\"OssMountDescs\\": [\\n {\\n \\"bucketName\\": \\"oss-bucket\\",\\n \\"bucketPath\\": \\"data/user.data\\",\\n \\"mountPath\\": \\"/usr/data/user.data\\",\\n \\"readOnly\\": true\\n }\\n ],\\n \\"EdasContainerVersion\\": \\"3.5.3\\",\\n \\"Timezone\\": \\"Asia/Shanghai\\",\\n \\"AppDescription\\": \\"示例应用\\",\\n \\"EnableGreyTagRoute\\": false,\\n \\"MseApplicationId\\": \\"xxxxxxx@xxxxx\\",\\n \\"AcrInstanceId\\": \\"cri-xxxxxx\\",\\n \\"AcrAssumeRoleArn\\": \\"acs:ram::123456789012****:role/adminrole\\",\\n \\"ImagePullSecrets\\": \\"10\\",\\n \\"AssociateEip\\": true,\\n \\"KafkaConfigs\\": \\"{\\\\\\"kafkaEndpoint\\\\\\":\\\\\\"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX\\\\\\",\\\\\\"kafkaInstanceId\\\\\\":\\\\\\"alikafka_pre-cn-7pp2l8kr****\\\\\\",\\\\\\"kafkaConfigs\\\\\\":[{\\\\\\"logType\\\\\\":\\\\\\"file_log\\\\\\",\\\\\\"logDir\\\\\\":\\\\\\"/tmp/a.log\\\\\\",\\\\\\"kafkaTopic\\\\\\":\\\\\\"test2\\\\\\"},{\\\\\\"logType\\\\\\":\\\\\\"stdout\\\\\\",\\\\\\"logDir\\\\\\":\\\\\\"\\\\\\",\\\\\\"kafkaTopic\\\\\\":\\\\\\"test\\\\\\"}]}\\",\\n \\"ProgrammingLanguage\\": \\"java\\",\\n \\"PvtzDiscovery\\": \\"{ \\\\\\"serviceName\\\\\\": \\\\\\"bwm-poc-sc-gateway-cn-beijing-front\\\\\\", \\\\\\"namespaceId\\\\\\": \\\\\\"cn-beijing:front\\\\\\", \\\\\\"portAndProtocol\\\\\\": { \\\\\\"18012\\\\\\": \\\\\\"TCP\\\\\\" }, \\\\\\"portProtocols\\\\\\": [ { \\\\\\"port\\\\\\": \\\\\\"18012\\\\\\", \\\\\\"protocol\\\\\\": \\\\\\"TCP\\\\\\" } ], \\\\\\"enable\\\\\\": true }\\",\\n \\"SwimlanePvtzDiscovery\\": \\"{\\\\\\\\\\\\\\"enable\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"false\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"namespaceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-beijing:test\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"portAndProtocol\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"2000:TCP\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"18081\\\\\\\\\\\\\\"},\\\\\\\\\\\\\\"portProtocols\\\\\\\\\\\\\\":[{\\\\\\\\\\\\\\"port\\\\\\\\\\\\\\":2000,\\\\\\\\\\\\\\"protocol\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"TCP\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"targetPort\\\\\\\\\\\\\\":18081}],\\\\\\\\\\\\\\"pvtzDiscoveryName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cn-beijing-1421801774382676\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"serviceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"3513\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"serviceName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"demo-gray.test\\\\\\\\\\\\\\"}\\",\\n \\"MicroRegistration\\": \\"\\\\\\"0\\\\\\"\\",\\n \\"NasConfigs\\": \\"[{\\\\\\"mountPath\\\\\\":\\\\\\"/test1\\\\\\",\\\\\\"readOnly\\\\\\":false,\\\\\\"nasId\\\\\\":\\\\\\"nasId1\\\\\\",\\\\\\"mountDomain\\\\\\":\\\\\\"nasId1.cn-shenzhen.nas.aliyuncs.com\\\\\\",\\\\\\"nasPath\\\\\\":\\\\\\"/test1\\\\\\"},{\\\\\\"nasId\\\\\\":\\\\\\"nasId2\\\\\\",\\\\\\"mountDomain\\\\\\":\\\\\\"nasId2.cn-shenzhen.nas.aliyuncs.com\\\\\\",\\\\\\"readOnly\\\\\\":false,\\\\\\"nasPath\\\\\\":\\\\\\"/test2\\\\\\",\\\\\\"mountPath\\\\\\":\\\\\\"/test2\\\\\\"}]\\",\\n \\"Python\\": \\"PYTHON 3.9.15\\",\\n \\"PythonModules\\": \\"Flask==2.0\\",\\n \\"MseApplicationName\\": \\"cn-shenzhen-alb-demo-5c****\\",\\n \\"AppSource\\": \\"micro_service\\",\\n \\"ServiceTags\\": {\\n \\"key\\": \\"tag1\\"\\n },\\n \\"Dotnet\\": \\".NET 8.0\\",\\n \\"MicroRegistrationConfig\\": \\"{\\\\\\\\\\\\\\"instanceId\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"mse-cn-1ls43******\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"namespace\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"62ee12fb-c279-4da4-be96-21**********\\\\\\\\\\\\\\"}\\",\\n \\"EnableIdle\\": false,\\n \\"EnableNewArms\\": false,\\n \\"EnableCpuBurst\\": \\"true\\",\\n \\"OidcRoleName\\": \\"sae-test\\",\\n \\"SecretMountDesc\\": [\\n {\\n \\"Key\\": \\"task-center\\",\\n \\"SecretName\\": \\"dummy-name-opaque-894\\",\\n \\"MountPath\\": \\"/opt/www/runtime/logs\\",\\n \\"SecretId\\": 520\\n }\\n ],\\n \\"SidecarContainersConfig\\": [\\n {\\n \\"Name\\": \\"test\\",\\n \\"Cpu\\": 500,\\n \\"Memory\\": 1024,\\n \\"ImageUrl\\": \\"registry.cn-beijing.aliyuncs.com/sae-dev-test/nginx:stable\\",\\n \\"AcrInstanceId\\": \\"cri-fhzlneorxala66ip\\",\\n \\"Command\\": \\"/bin/sh\\",\\n \\"CommandArgs\\": \\"[\\\\\\\\\\\\\\"-c\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"echo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\"test\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\" > /home/nas/test.log && sleep 10000000s\\\\\\\\\\\\\\"]\\",\\n \\"Envs\\": \\"[{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"k1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"value\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"c8e3a815-e5d3-4adf-abb3-98b106a607c4\\\\\\\\\\\\\\"}]\\",\\n \\"ConfigMapMountDesc\\": [\\n {\\n \\"Key\\": \\"key\\",\\n \\"ConfigMapName\\": \\"ConfigMap-test\\",\\n \\"MountPath\\": \\"/mnt/test\\",\\n \\"ConfigMapId\\": 7361\\n }\\n ],\\n \\"EmptyDirDesc\\": [\\n {\\n \\"Name\\": \\"sidecar-container\\",\\n \\"MountPath\\": \\"/mnt/cache\\"\\n }\\n ]\\n }\\n ],\\n \\"InitContainersConfig\\": [\\n {\\n \\"Name\\": \\"init-container\\",\\n \\"ImageUrl\\": \\"registry.cn-shenzhen.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0\\",\\n \\"Command\\": \\"/bin/sh\\",\\n \\"CommandArgs\\": \\"[\\\\\\"a\\\\\\",\\\\\\"b\\\\\\"]\\\\n\\",\\n \\"Envs\\": \\"[{\\\\\\"name\\\\\\":\\\\\\"TEST_ENV_KEY\\\\\\",\\\\\\"value\\\\\\":\\\\\\"TEST_ENV_VAR\\\\\\"}]\\\\n\\",\\n \\"ConfigMapMountDesc\\": [\\n {\\n \\"Key\\": \\"k1\\\\n\\",\\n \\"ConfigMapName\\": \\"test\\\\n\\",\\n \\"MountPath\\": \\"/tmp\\\\n\\",\\n \\"ConfigMapId\\": 1\\n }\\n ],\\n \\"EmptyDirDesc\\": [\\n {\\n \\"Name\\": \\"\\",\\n \\"MountPath\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"CustomImageNetworkType\\": \\"internet\\",\\n \\"ResourceType\\": \\"application\\",\\n \\"BaseAppId\\": \\"8c573618-8d72-4407-baf4-f7b64b******\\",\\n \\"MicroserviceEngineConfig\\": \\"{\\\\\\\\\\\\\\"Enable\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"MseLosslessRule\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"enable\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"notice\\\\\\\\\\\\\\":true,\\\\\\\\\\\\\\"delayTime\\\\\\\\\\\\\\":10,\\\\\\\\\\\\\\"warmupTime\\\\\\\\\\\\\\":120,\\\\\\\\\\\\\\"funcType\\\\\\\\\\\\\\":2,\\\\\\\\\\\\\\"aligned\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"related\\\\\\\\\\\\\\":false,\\\\\\\\\\\\\\"lossLessDetail\\\\\\\\\\\\\\":false}}\\",\\n \\"NewSaeVersion\\": \\"pro\\",\\n \\"ClusterId\\": \\"495fc79c-ae61-4600-866d-a09d68******\\",\\n \\"DiskSize\\": 20,\\n \\"StartupProbe\\": \\"{\\\\\\\\\\\\\\"exec\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"command\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"/bin/sh\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"-c\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"#!Note: If microservice config is enabled, the application will be automatically injected with the prestop configuration for lossless offline. If you delete this prestop configuration, lossless offline will not be effective.\\\\\\\\\\\\\\\\n echo stop > /tmp/prestop; /home/admin/.tools/curl http://127.0.0.1:54199/offline; sleep 30\\\\\\\\\\\\\\"]}}\\",\\n \\"GpuCount\\": \\"\\",\\n \\"GpuType\\": \\"\\",\\n \\"EnablePrometheus\\": true,\\n \\"IsStateful\\": true,\\n \\"CmsServiceId\\": \\"\\",\\n \\"HeadlessPvtzDiscovery\\": \\"\\",\\n \\"Html\\": \\"\\",\\n \\"EmptyDirDesc\\": [\\n {\\n \\"Name\\": \\"\\",\\n \\"MountPath\\": \\"\\"\\n }\\n ],\\n \\"DeploymentName\\": \\"\\",\\n \\"AlbIngressReadinessGate\\": \\"\\",\\n \\"MaxSurgeInstances\\": 0,\\n \\"MaxSurgeInstanceRatio\\": 0,\\n \\"AgentVersion\\": \\"\\",\\n \\"EnableNamespaceAgentVersion\\": true,\\n \\"SlsLogEnvTags\\": \\"\\",\\n \\"LokiConfigs\\": \\"\\",\\n \\"IdleHour\\": \\"\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeApplicationConfigResponse>\\n <RequestId>01CF26C7-00A3-4AA6-BA76-7E95F2A3****</RequestId>\\n <Message>success</Message>\\n <TraceId>ac1a0b2215622246421415014e****</TraceId>\\n <Data>\\n <VpcId>vpc-2ze0i263cnn311nvj****</VpcId>\\n <Readiness>{\\"exec\\":{\\"command\\":[\\"curl http://localhost:8080\\"]},\\"initialDelaySeconds\\":20,\\"timeoutSeconds\\":5}</Readiness>\\n <ConfigMapMountDesc>\\n <Key>k1</Key>\\n <ConfigMapName>test</ConfigMapName>\\n <MountPath>/tmp</MountPath>\\n <ConfigMapId>1</ConfigMapId>\\n </ConfigMapMountDesc>\\n <SecurityGroupId>sg-wz969ngg2e49q5i4****</SecurityGroupId>\\n <BatchWaitTime>10</BatchWaitTime>\\n <Jdk>Open JDK 8</Jdk>\\n <ImageUrl>docker.io/library/nginx:1.14.2</ImageUrl>\\n <SlsConfigs>[{\\"logDir\\":\\"\\",\\"logType\\":\\"stdout\\"},{\\"logDir\\":\\"/tmp/a.log\\"}]</SlsConfigs>\\n <Liveness>{\\"exec\\":{\\"command\\":[\\"curl http://localhost:8080\\"]},\\"initialDelaySeconds\\":20,\\"timeoutSeconds\\":3}</Liveness>\\n <Tags>\\n <Key>k1</Key>\\n <Value>v1</Value>\\n </Tags>\\n <PackageUrl>https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war</PackageUrl>\\n <PackageType>War</PackageType>\\n <PreStop>{\\"exec\\":{\\"command\\":[\\"cat\\",\\"/etc/group\\"]}}</PreStop>\\n <PackageVersion>1.0</PackageVersion>\\n <JarStartArgs>start</JarStartArgs>\\n <AppName>demo-app</AppName>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <JarStartOptions>-Dtest=true</JarStartOptions>\\n <Replicas>2</Replicas>\\n <UpdateStrategy>{\\"type\\":\\"GrayBatchUpdate\\",\\"batchUpdate\\":{\\"batch\\":2,\\"releaseType\\":\\"auto\\",\\"batchWaitTime\\":1},\\"grayUpdate\\":{\\"gray\\":1}}</UpdateStrategy>\\n <MinReadyInstances>1</MinReadyInstances>\\n <MinReadyInstanceRatio>-1</MinReadyInstanceRatio>\\n <Memory>2048</Memory>\\n <Php>PHP-FPM 7.0</Php>\\n <PhpConfig>k1=v1</PhpConfig>\\n <PhpConfigLocation>/usr/local/etc/php/php.ini</PhpConfigLocation>\\n <PostStart>{\\"exec\\":{\\"command\\":[\\"cat\\",\\"/etc/group\\"]}}</PostStart>\\n <TerminationGracePeriodSeconds>10</TerminationGracePeriodSeconds>\\n <CommandArgs>[\\"a\\",\\"b\\"]</CommandArgs>\\n <NamespaceId>cn-beijing:test</NamespaceId>\\n <MountHost>example.com</MountHost>\\n <TomcatConfig>{\\"port\\":8080,\\"contextPath\\":\\"/\\",\\"maxThreads\\":400,\\"uriEncoding\\":\\"ISO-8859-1\\",\\"useBodyEncodingForUri\\":true}</TomcatConfig>\\n <RegionId>cn-beijing</RegionId>\\n <VSwitchId>vsw-2ze559r1z1bpwqxwp****</VSwitchId>\\n <Cpu>1000</Cpu>\\n <Envs>[{\\"name\\":\\"TEST_ENV_KEY\\",\\"value\\":\\"TEST_ENV_VAR\\"}]</Envs>\\n <MountDesc>\\n <MountPath>/tmp</MountPath>\\n <NasPath>/</NasPath>\\n </MountDesc>\\n <EnableAhas>true</EnableAhas>\\n <CustomHostAlias>[{\\"hostName\\":\\"test.host.name\\",\\"ip\\":\\"0.0.0.0\\"}]</CustomHostAlias>\\n <WebContainer>apache-tomcat-7.0.91</WebContainer>\\n <Command>echo</Command>\\n <WarStartOptions>custom-option</WarStartOptions>\\n <PhpArmsConfigLocation>/usr/local/etc/php/conf.d/arms.ini</PhpArmsConfigLocation>\\n <NasId>AKSN89**</NasId>\\n <OssAkId>xxxxxx</OssAkId>\\n <OssAkSecret>xxxxxx</OssAkSecret>\\n <OssMountDescs>\\n <bucketName>oss-bucket</bucketName>\\n <bucketPath>data/user.data</bucketPath>\\n <mountPath>/usr/data/user.data</mountPath>\\n <readOnly>true</readOnly>\\n </OssMountDescs>\\n <EdasContainerVersion>3.5.3</EdasContainerVersion>\\n <Timezone>Asia/Shanghai</Timezone>\\n <AppDescription>示例应用</AppDescription>\\n <EnableGreyTagRoute>false</EnableGreyTagRoute>\\n <MseApplicationId>xxxxxxx@xxxxx</MseApplicationId>\\n <AcrInstanceId>cri-xxxxxx</AcrInstanceId>\\n <AcrAssumeRoleArn>acs:ram::123456789012****:role/adminrole</AcrAssumeRoleArn>\\n <ImagePullSecrets>10</ImagePullSecrets>\\n <AssociateEip>true</AssociateEip>\\n <KafkaConfigs>{\\"kafkaEndpoint\\":\\"10.0.X.XXX:XXXX,10.0.X.XXX:XXXX,10.0.X.XXX:XXXX\\",\\"kafkaInstanceId\\":\\"alikafka_pre-cn-7pp2l8kr****\\",\\"kafkaConfigs\\":[{\\"logType\\":\\"file_log\\",\\"logDir\\":\\"/tmp/a.log\\",\\"kafkaTopic\\":\\"test2\\"},{\\"logType\\":\\"stdout\\",\\"logDir\\":\\"\\",\\"kafkaTopic\\":\\"test\\"}]}</KafkaConfigs>\\n <ProgrammingLanguage>java</ProgrammingLanguage>\\n <PvtzDiscovery>{ \\"serviceName\\": \\"bwm-poc-sc-gateway-cn-beijing-front\\", \\"namespaceId\\": \\"cn-beijing:front\\", \\"portAndProtocol\\": { \\"18012\\": \\"TCP\\" }, \\"portProtocols\\": [ { \\"port\\": \\"18012\\", \\"protocol\\": \\"TCP\\" } ], \\"enable\\": true }</PvtzDiscovery>\\n <MicroRegistration>\\"0\\"</MicroRegistration>\\n <NasConfigs>[{\\"mountPath\\":\\"/test1\\",\\"readOnly\\":false,\\"nasId\\":\\"nasId1\\",\\"mountDomain\\":\\"nasId1.cn-shenzhen.nas.aliyuncs.com\\",\\"nasPath\\":\\"/test1\\"},{\\"nasId\\":\\"nasId2\\",\\"mountDomain\\":\\"nasId2.cn-shenzhen.nas.aliyuncs.com\\",\\"readOnly\\":false,\\"nasPath\\":\\"/test2\\",\\"mountPath\\":\\"/test2\\"}]</NasConfigs>\\n <Python>PYTHON 3.9.15</Python>\\n <PythonModules>Flask==2.0</PythonModules>\\n <MseApplicationName>cn-shenzhen-alb-demo-5c****</MseApplicationName>\\n <SaeVersion>v1</SaeVersion>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeApplicationConfigResponse>","errorExample":""}]', - 'title' => 'DescribeApplicationConfig', - 'summary' => 'Queries the configurations of an application.', + 'title' => 'List applications', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DescribeRegions' => [ - 'path' => '/pop/v1/paas/regionConfig', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6344', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], - ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'DDE85827-B0B3-4E56-86E8-17C42009****', - ], - 'Regions' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'Region' => [ - 'description' => 'The regions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'LocalName' => [ - 'description' => 'The region name. Valid values:'."\n" - ."\n" - .'* **China (Hangzhou)**'."\n" - .'* **China (Shanghai)**'."\n" - .'* **China (Beijing)**'."\n" - .'* **China (Zhangjiakou)**'."\n" - .'* **China (Shenzhen)**'."\n" - .'* **China (Guangzhou)**'."\n" - .'* **China (Hong Kong)**'."\n" - .'* **Singapore**'."\n" - .'* **US (Silicon Valley)**'."\n", - 'type' => 'string', - 'example' => '', - ], - 'RegionEndpoint' => [ - 'description' => 'The endpoint for the region. Valid values:'."\n" - ."\n" - .'* **sae.cn-hangzhou.aliyuncs.com**'."\n" - .'* **sae.cn-shanghai.aliyuncs.com**'."\n" - .'* **sae.cn-beijing.aliyuncs.com**'."\n" - .'* **sae.cn-zhangjiakou.aliyuncs.com**'."\n" - .'* **sae.cn-shenzhen.aliyuncs.com**'."\n" - .'* **sae.cn-guangzhou.aliyuncs.com**'."\n" - .'* **sae.cn-hongkong.aliyuncs.com**'."\n" - .'* **sae.ap-southeast-1.aliyuncs.com**'."\n" - .'* **sae.us-west-1.aliyuncs.com**'."\n", - 'type' => 'string', - 'example' => 'sae.cn-shanghai.aliyuncs.com', - ], - 'RegionId' => [ - 'description' => 'The region ID. Valid values:'."\n" - ."\n" - .'* **cn-hangzhou**: the ID of the China (Hangzhou) region'."\n" - .'* **cn-shanghai**: the ID of the China (Shanghai) region'."\n" - .'* **cn-beijing**: the ID of the China (Beijing) region'."\n" - .'* **cn-zhangjiakou**: the ID of the China (Zhangjiakou) region'."\n" - .'* **cn-shenzhen**: the ID of the China (Shenzhen) region'."\n" - .'* **cn-guangzhou**: the ID of the China (Guangzhou) region'."\n" - .'* **cn-hongkong**: the ID of the China (Hong Kong) region'."\n" - .'* **ap-southeast-1**: the ID of the Singapore region'."\n" - .'* **us-west-1**: the ID of the US (Silicon Valley) region'."\n", - 'type' => 'string', - 'example' => 'cn-shanghai', - ], - 'RecommendZones' => [ - 'type' => 'object', - 'itemNode' => true, - 'properties' => [ - 'RecommendZone' => [ - 'description' => 'The recommended zones.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The recommended zones. Recommended zones have relatively sufficient resources in each region. Format:'."\n" - ."\n" - .'* If a region contains recommended zones, this parameter is returned in the `"RecommendZone": ["cn-hongkong-b", "cn-hongkong-d", "cn-hongkong-c"]` format.'."\n" - .'* If a region does not contain recommended zones, this parameter is returned in the `"RecommendZone": []` format.'."\n", - 'type' => 'string', - 'example' => 'cn-hongkong-b', - ], - ], - ], - ], - ], - ], - ], - ], - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], + 'changeSet' => [ + ['createdAt' => '2026-02-27T07:12:56.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2026-02-27T07:10:50.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-27T07:10:39.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:14:31.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:09:21.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:05:31.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T11:00:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-24T10:52:37.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-04T02:09:22.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-03T03:18:30.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-02-03T02:36:34.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-30T08:18:18.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-30T02:57:30.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-29T06:14:24.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T13:04:14.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T12:45:37.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T12:32:00.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T09:00:18.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-13T08:52:08.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-05T01:41:36.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-12-01T03:11:51.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-07-04T06:12:37.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-06-24T11:14:19.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-04-07T03:09:05.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-14T02:30:15.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-03-12T08:03:00.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-02-27T03:42:14.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-09-13T02:13:19.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-05-24T09:20:53.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-05-21T02:16:45.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-01-22T11:44:40.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-07-21T09:58:57.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListApplications'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListApplications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"DDE85827-B0B3-4E56-86E8-17C42009****\\",\\n \\"Regions\\": {\\n \\"Region\\": [\\n {\\n \\"LocalName\\": \\"华东2(上海)\\",\\n \\"RegionEndpoint\\": \\"sae.cn-shanghai.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-shanghai\\",\\n \\"RecommendZones\\": {\\n \\"RecommendZone\\": [\\n \\"cn-hongkong-b\\"\\n ]\\n }\\n }\\n ]\\n },\\n \\"Code\\": 200\\n}","errorExample":""},{"type":"xml","example":"<DescribeRegionsResponse>\\n <Message>success</Message>\\n <RequestId>DDE85827-B0B3-4E56-86E8-17C42009****</RequestId>\\n <Regions>\\n <LocalName>华东2(上海)</LocalName>\\n <RegionEndpoint>sae.cn-shanghai.aliyuncs.com</RegionEndpoint>\\n <RegionId>cn-shanghai</RegionId>\\n <RecommendZones>cn-hongkong-b</RecommendZones>\\n </Regions>\\n <Code>200</Code>\\n</DescribeRegionsResponse>","errorExample":""}]', - 'title' => 'DescribeRegions', - 'summary' => 'Queries available regions.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 2,\\n \\"PageSize\\": 20,\\n \\"Applications\\": [\\n {\\n \\"AppName\\": \\"demo-app\\",\\n \\"NamespaceId\\": \\"cn-beijing:demo\\",\\n \\"AppDeletingStatus\\": false,\\n \\"AppId\\": \\"f7730764-d88f-4b9a-8d8e-cd8efbfe****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"RunningInstances\\": 2,\\n \\"Instances\\": 2,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"AppDescription\\": \\"description\\",\\n \\"Cpu\\": 1000,\\n \\"Mem\\": 1024,\\n \\"MseEnabled\\": true,\\n \\"MseNamespaceId\\": \\"sae-ent\\",\\n \\"BaseAppId\\": \\"xxx-xxx-xx-xxx\\",\\n \\"ProgrammingLanguage\\": \\"java\\",\\n \\"Children\\": [\\n {\\n \\"AppName\\": \\"app1\\",\\n \\"NamespaceId\\": \\"cn-beijing:demo\\",\\n \\"AppDeletingStatus\\": false,\\n \\"AppId\\": \\"xxx-xxx-xxx-xxx\\",\\n \\"ScaleRuleEnabled\\": false,\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"RunningInstances\\": 2,\\n \\"Instances\\": 2,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"AppDescription\\": \\"Test application\\",\\n \\"Cpu\\": 2000,\\n \\"Mem\\": 2048,\\n \\"MseEnabled\\": true,\\n \\"BaseAppId\\": \\" ee99cce6-1c8e-4bfa-96c3-3e2fa9******\\",\\n \\"ProgrammingLanguage\\": \\"java\\",\\n \\"AppType\\": \\"Image\\",\\n \\"NamespaceName\\": \\"demo\\",\\n \\"IsStateful\\": false,\\n \\"NewSaeVersion\\": \\"pro\\",\\n \\"ResourceType\\": \\"\\",\\n \\"EnableIdle\\": \\"\\"\\n }\\n ],\\n \\"ImageUrl\\": \\"registry.cn-hangzhou.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0\\",\\n \\"PackageUrl\\": \\"https://sae-oss-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/apps/K8S_APP_ID/1421801774382676/adf2624a-66fd-4a2b-8caa-6921da******/hello-sae.jar\\",\\n \\"AppType\\": \\"Image\\",\\n \\"NamespaceName\\": \\"demo\\",\\n \\"IsStateful\\": false,\\n \\"NewSaeVersion\\": \\"pro\\",\\n \\"EnableIdle\\": \\"false\\",\\n \\"DiskSize\\": 20,\\n \\"VpcId\\": \\"\\",\\n \\"ResourceType\\": \\"\\",\\n \\"Labels\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"RaspEnabled\\": false\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 2,\\n \\"PageSize\\": 20\\n}","type":"json"}]', ], - 'DescribeInstanceLog' => [ - 'path' => '/pop/v1/sam/instance/describeInstanceLog', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListApplicationsForSwimmingLane' => [ + 'summary' => 'Retrieves a list of applications for full-link canary releases.', + 'path' => '/pop/v1/cas/gray/listApplicationsForSwimmingLane', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6336', - 'abilityTreeNodes' => [ - 'FEATUREsaeKWESKE', - ], + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '221435', + 'abilityTreeNodes' => ['FEATUREsaeUDWJ2L'], ], 'parameters' => [ [ - 'name' => 'InstanceId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The instance ID.', - 'type' => 'string', - 'required' => true, - 'example' => '******-d700e680-aa4d-4ec1-afc2-6566b5ff4d7a-85d44d4bfc-*****', - ], + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'ContainerId', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the sidecar container. You can call the [DescribeApplicationInstances](~~2834847~~) to obtain the ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sidecar-test-01', - ], + 'schema' => ['description' => 'The ID of the application group. You can call the [DescribeApplicationGroups](~~126249~~) operation to obtain the ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => 'b2a8a925-477a-eswa-b823-d5e22500****', 'title' => ''], ], [ - 'name' => 'Previous', + 'name' => 'Tag', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The canary tag.', 'type' => 'string', 'required' => false, 'example' => '{"alicloud.service.tag":"gray"}'."\n", 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response returned.', + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n" - ."\n" - .'success is returned when the request succeeds.'."\n" - .'An error code is returned when the request fails.', - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'Trace ID.', - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'Message' => ['description' => 'The response message. Valid values:'."\n" + ."\n" + .'- **success** is returned if the request is successful.'."\n" + ."\n" + .'- A specific error code is returned if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The trace ID used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The information of instance logs.', - 'type' => 'string', - 'example' => 'hello\\nsae\\n', - ], - 'ErrorCode' => [ - 'description' => 'Error code.'."\n" - ."\n" - .'- No error code returned if the request succeeded.'."\n" - ."\n" - .'- Error code returned if the request failed. Refer to error code list below for details.', - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The interface state or POP error code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the logs of the instance is obtained.'."\n" - ."\n" - .'- true: logs obtained.'."\n" - ."\n" - .'- false: failed to obtain logs.', - 'type' => 'boolean', - 'example' => 'true', + 'description' => 'The application list.', + 'type' => 'array', + 'items' => [ + 'description' => 'Information about an application in the list.', + 'type' => 'object', + 'properties' => [ + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'demo-app', 'title' => ''], + 'MseAppId' => ['description' => 'The ID of the MSE instance.', 'type' => 'string', 'example' => 'mse-cn-hvm47******', 'title' => ''], + 'MseAppName' => ['description' => 'The name of the MSE instance.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'MseNamespaceId' => ['description' => 'The ID of the namespace in which the MSE instance resides.', 'type' => 'string', 'example' => 'sae-test', 'title' => ''], + 'BaseAppId' => ['description' => 'The ID of the baseline application.', 'type' => 'string', 'example' => '8c573618-8d72-4407-baf4-f7b64b******', 'title' => ''], + 'BaseAppName' => ['description' => 'The name of the baseline application.', 'type' => 'string', 'example' => 'demo', 'title' => ''], + 'ServiceTags' => [ + 'description' => 'The canary tags configured for the application.', + 'type' => 'object', + 'additionalProperties' => ['description' => 'The value of a canary tag.', 'type' => 'string', 'example' => '{"alicloud.service.tag":"gray"}', 'title' => ''], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- The parameter is an empty string if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: Success.'."\n" + ."\n" + .'- **3xx**: Redirection.'."\n" + ."\n" + .'- **4xx**: Client error.'."\n" + ."\n" + .'- **5xx**: Server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InternalApiError', 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": \\"hello\\\\\\\\nsae\\\\\\\\n\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeInstanceLogResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>hello\\\\nsae\\\\n</Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeInstanceLogResponse>","errorExample":""}]', - 'title' => 'DescribeInstanceLog', - 'summary' => 'Queries the logs of a sidecar container instance.', - ], - 'DescribeComponents' => [ - 'path' => '/pop/v1/sam/resource/components', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"0099b7be-5f5b-4512-a7fc-56049ef1****\\",\\n \\"AppName\\": \\"demo-app\\",\\n \\"MseAppId\\": \\"mse-cn-hvm47******\\",\\n \\"MseAppName\\": \\"test\\",\\n \\"MseNamespaceId\\": \\"sae-test\\",\\n \\"BaseAppId\\": \\"8c573618-8d72-4407-baf4-f7b64b******\\",\\n \\"BaseAppName\\": \\"demo\\",\\n \\"ServiceTags\\": {\\n \\"key\\": \\"{\\\\\\"alicloud.service.tag\\\\\\":\\\\\\"gray\\\\\\"}\\"\\n }\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListApplicationsForSwimmingLane', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListApplicationsForSwimmingLane', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'ListChangeOrders' => [ + 'path' => '/pop/v1/sam/changeorder/ListChangeOrders', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23621,141 +18530,294 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '6327', - 'abilityTreeNodes' => [ - 'FEATUREsae25O0WL', - ], + 'abilityTreeCode' => '6372', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '145341c-9708-4967-b3ec-24933767****', 'title' => ''], ], [ - 'name' => 'Type', + 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the supported components. Valid values:'."\n" - ."\n" - .'* **TOMCAT**'."\n" - .'* **JDK**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'TOMCAT', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The number of entries to return on each page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'Key', + 'in' => 'query', + 'schema' => ['description' => 'The keyword for a fuzzy search of change order descriptions. The operation returns only the change orders whose descriptions contain the **keyword**.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'CoType', + 'in' => 'query', + 'schema' => ['description' => 'The type of the change order. Valid values:'."\n" + ."\n" + .'- **CoBindSlb**: Attach an SLB instance.'."\n" + ."\n" + .'- **CoUnbindSlb**: Detach an SLB instance.'."\n" + ."\n" + .'- **CoCreateApp**: Create an application.'."\n" + ."\n" + .'- **CoDeleteApp**: Delete an application.'."\n" + ."\n" + .'- **CoDeploy**: Deploy an application.'."\n" + ."\n" + .'- **CoRestartApplication**: Restart an application.'."\n" + ."\n" + .'- **CoRollback**: Roll back an application.'."\n" + ."\n" + .'- **CoScaleIn**: Scale in an application.'."\n" + ."\n" + .'- **CoScaleOut**: Scale out an application.'."\n" + ."\n" + .'- **CoStartApplication**: Start an application.'."\n" + ."\n" + .'- **CoStopApplication**: Stop an application.'."\n" + ."\n" + .'- **CoRescaleApplicationVertically**: Change the instance type.'."\n" + ."\n" + .'- **CoDeployHistroy**: Roll back to a previous version.'."\n" + ."\n" + .'- **CoBindNas**: Attach a NAS file system.'."\n" + ."\n" + .'- **CoUnbindNas**: Detach a NAS file system.'."\n" + ."\n" + .'- **CoBatchStartApplication**: Batch start applications.'."\n" + ."\n" + .'- **CoBatchStopApplication**: Batch stop applications.'."\n" + ."\n" + .'- **CoRestartInstances**: Restart instances.'."\n" + ."\n" + .'- **CoDeleteInstances**: Delete instances.'."\n" + ."\n" + .'- **CoScaleInAppWithInstances**: Scale in an application by specifying instances.', 'type' => 'string', 'required' => false, 'example' => 'CoCreateApp', 'title' => ''], + ], + [ + 'name' => 'CoStatus', + 'in' => 'query', + 'schema' => ['description' => 'The status of the change order. Valid values:'."\n" + ."\n" + .'- **0**: Preparing.'."\n" + ."\n" + .'- **1**: In progress.'."\n" + ."\n" + .'- **2**: Succeeded.'."\n" + ."\n" + .'- **3**: Failed.'."\n" + ."\n" + .'- **6**: Stopped.'."\n" + ."\n" + .'- **8**: Paused for manual confirmation.'."\n" + ."\n" + .'- **9**: Paused for automatic confirmation.'."\n" + ."\n" + .'- **10**: Failed due to a system exception.'."\n" + ."\n" + .'- **11**: Pending approval.'."\n" + ."\n" + .'- **12**: Approved and pending execution.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'OrderBy', + 'in' => 'query', + 'schema' => ['description' => 'The field by which to sort the results.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], + ], + [ + 'name' => 'Reverse', + 'in' => 'query', + 'schema' => ['description' => 'The sort order for the field specified by the **OrderBy** parameter. Valid values:'."\n" + ."\n" + .'- **true**: The results are sorted in ascending order.'."\n" + ."\n" + .'- **false**: The results are sorted in descending order.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '65E1F-43BA-4D0C-8E61-E4D1337F****', 'title' => ''], + 'Message' => ['description' => 'Additional information about the response.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query request details.', 'type' => 'string', 'example' => '0bb6f815638568884597879d****', 'title' => ''], 'Data' => [ - 'description' => 'The details of the supported components.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the supported components.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the component.'."\n", - 'type' => 'string', - 'example' => 'JDK', - ], - 'ComponentKey' => [ - 'description' => 'The component ID.'."\n", - 'type' => 'string', - 'example' => 'Open JDK 8', - ], - 'ComponentDescription' => [ - 'description' => 'The description of the component.'."\n", - 'type' => 'string', - 'example' => 'Open JDK 8', - ], - 'Expired' => [ - 'description' => 'Indicates whether the component is expired. Valid values:'."\n" - ."\n" - .'* **true**: The component is expired.'."\n" - .'* **false**: The component is not expired.'."\n", - 'type' => 'boolean', - 'example' => 'false', + 'description' => 'The information about the change orders.', + 'type' => 'object', + 'properties' => [ + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of change orders.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'ChangeOrderList' => [ + 'description' => 'The list of change orders.', + 'type' => 'array', + 'items' => [ + 'description' => 'Details of a change order.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the change order. Valid values:'."\n" + ."\n" + .'- **0**: Preparing.'."\n" + ."\n" + .'- **1**: In progress.'."\n" + ."\n" + .'- **2**: Succeeded.'."\n" + ."\n" + .'- **3**: Failed.'."\n" + ."\n" + .'- **6**: Aborted.'."\n" + ."\n" + .'- **8**: Paused for manual confirmation.'."\n" + ."\n" + .'- **9**: Paused for automatic confirmation.'."\n" + ."\n" + .'- **10**: Failed due to a system exception.'."\n" + ."\n" + .'- **11**: Pending approval.'."\n" + ."\n" + .'- **12**: Approved and pending execution.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'FinishTime' => ['description' => 'The time the change order was completed.', 'type' => 'string', 'example' => '2019-07-11 20:12:58', 'title' => ''], + 'CreateTime' => ['description' => 'The time the change order was created.', 'type' => 'string', 'example' => '2019-07-11 15:54:49', 'title' => ''], + 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => 'sae-beta-test', 'title' => ''], + 'Source' => ['description' => 'The source of the change order.', 'type' => 'string', 'example' => 'console', 'title' => ''], + 'BatchCount' => ['description' => 'The number of batches.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CreateUserId' => ['description' => 'The ID of the user who created the change order.', 'type' => 'string', 'example' => 'sae-beta-test', 'title' => ''], + 'CoTypeCode' => ['description' => 'The code of the change type. Valid values:'."\n" + ."\n" + .'- **CoBindSlb**: Bind an SLB instance.'."\n" + ."\n" + .'- **CoUnbindSlb**: Unbind an SLB instance.'."\n" + ."\n" + .'- **CoCreateApp**: Create an application.'."\n" + ."\n" + .'- **CoDeleteApp**: Delete an application.'."\n" + ."\n" + .'- **CoDeploy**: Deploy an application.'."\n" + ."\n" + .'- **CoRestartApplication**: Restart an application.'."\n" + ."\n" + .'- **CoRollback**: Roll back an application.'."\n" + ."\n" + .'- **CoScaleIn**: Scale in an application.'."\n" + ."\n" + .'- **CoScaleOut**: Scale out an application.'."\n" + ."\n" + .'- **CoStartApplication**: Start an application.'."\n" + ."\n" + .'- **CoStopApplication**: Stop an application.'."\n" + ."\n" + .'- **CoRescaleApplicationVertically**: Change the instance type.'."\n" + ."\n" + .'- **CoDeployHistroy**: Roll back to a previous version.'."\n" + ."\n" + .'- **CoBindNas**: Bind a NAS file system.'."\n" + ."\n" + .'- **CoUnbindNas**: Unbind a NAS file system.'."\n" + ."\n" + .'- **CoBatchStartApplication**: Start multiple applications.'."\n" + ."\n" + .'- **CoBatchStopApplication**: Stop multiple applications.'."\n" + ."\n" + .'- **CoRestartInstances**: Restart instances.'."\n" + ."\n" + .'- **CoDeleteInstances**: Delete instances.'."\n" + ."\n" + .'- **CoScaleInAppWithInstances**: Scale in an application by specifying instances.', 'type' => 'string', 'example' => 'CoCreateApp', 'title' => ''], + 'ChangeOrderId' => ['description' => 'The change order ID.', 'type' => 'string', 'example' => '7fa5c0-9ebb-4bb4-b383-1f885447****', 'title' => ''], + 'BatchType' => ['description' => 'The batch type. Valid values:'."\n" + ."\n" + .'- **auto**: Automatic.'."\n" + ."\n" + .'- **manual**: Manual.', 'type' => 'string', 'example' => 'auto', 'title' => ''], + 'GroupId' => ['description' => 'The group ID.', 'type' => 'string', 'example' => 'c9ecd2-cf6c-46c3-9f20-525de202****', 'title' => ''], + 'Description' => ['description' => 'The description.', 'type' => 'string', 'example' => 'Version: 1.0 | image name: nginx', 'title' => ''], + 'CoType' => ['description' => 'The description of the change type code (**CoTypeCode**).', 'type' => 'string', 'example' => 'Create application', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '164341c-9708-4967-b3ec-24933767****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'PageSize' => ['description' => 'The page size.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** section of this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the component version was obtained. Valid values:'."\n" - ."\n" - .'* **true**: The applications were obtained.'."\n" - .'* **false**: The applications failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned on successful requests.'."\n" + ."\n" + .'- Returned if the request fails. For more information, see the **error code** list in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or the POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: Success.'."\n" + ."\n" + .'- **3xx**: Redirect.'."\n" + ."\n" + .'- **4xx**: Request error.'."\n" + ."\n" + .'- **5xx**: Server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the list of change orders was retrieved. Valid values:'."\n" + ."\n" + .'- **true**: The list was retrieved.'."\n" + ."\n" + .'- **false**: The list could not be retrieved.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidComponentType.NotFound', - 'errorMessage' => 'The specified Type does not exist.', + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'Resouce.no.permission', 'errorMessage' => 'You are not authorized to operate on the specified resources.', 'description' => 'You are not authorized to operate on the specified resources.'], + ], + 404 => [ + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"65E1F-43BA-4D0C-8E61-E4D1337F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bb6f815638568884597879d****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 1,\\n \\"ChangeOrderList\\": [\\n {\\n \\"Status\\": 2,\\n \\"FinishTime\\": \\"2019-07-11 20:12:58\\",\\n \\"CreateTime\\": \\"2019-07-11 15:54:49\\",\\n \\"UserId\\": \\"sae-beta-test\\",\\n \\"Source\\": \\"console\\",\\n \\"BatchCount\\": 1,\\n \\"CreateUserId\\": \\"sae-beta-test\\",\\n \\"CoTypeCode\\": \\"CoCreateApp\\",\\n \\"ChangeOrderId\\": \\"7fa5c0-9ebb-4bb4-b383-1f885447****\\",\\n \\"BatchType\\": \\"auto\\",\\n \\"GroupId\\": \\"c9ecd2-cf6c-46c3-9f20-525de202****\\",\\n \\"Description\\": \\"Version: 1.0 | image name: nginx\\",\\n \\"CoType\\": \\"Create application\\",\\n \\"AppId\\": \\"164341c-9708-4967-b3ec-24933767****\\"\\n }\\n ],\\n \\"PageSize\\": 20\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListChangeOrders', + 'summary' => 'Lists change orders.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2026-04-14T09:42:36.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-04-01T07:06:31.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListChangeOrders', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Type\\": \\"JDK\\",\\n \\"ComponentKey\\": \\"Open JDK 8\\",\\n \\"ComponentDescription\\": \\"Open JDK 8\\",\\n \\"Expired\\": false\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeComponentsResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Type>JDK</Type>\\n <ComponentKey>Open JDK 8</ComponentKey>\\n <ComponentDescription>Open JDK 8</ComponentDescription>\\n <Expired>false</Expired>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeComponentsResponse>","errorExample":""}]', - 'title' => 'DescribeComponents', - 'summary' => 'Queries the version of the component that is required when you create and deploy an application.', + 'translator' => 'machine', ], - 'DescribeEdasContainers' => [ - 'path' => '/pop/v1/sam/resource/edasContainers', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListConsumedServices' => [ + 'path' => '/pop/v1/sam/service/listConsumedServices', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -23765,585 +18827,444 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '6334', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', + 'abilityTreeCode' => '6373', + 'abilityTreeNodes' => ['FEATUREsaeY046YN'], + ], + 'parameters' => [ + [ + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', 'title' => ''], ], ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the request trace. Use this ID to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The components.'."\n", + 'description' => 'The information about the microservices.', 'type' => 'array', 'items' => [ + 'description' => 'The information about the microservices.', 'type' => 'object', 'properties' => [ - 'Disabled' => [ - 'description' => 'Indicates whether the component is disabled. Valid values:'."\n" - ."\n" - .'* **true**: The component is disabled.'."\n" - .'* **false**: The component is not disabled.'."\n", - 'type' => 'boolean', - 'example' => 'false', + 'Type' => ['description' => 'The type of the published service.', 'type' => 'string', 'example' => 'RPC', 'title' => ''], + 'Groups' => [ + 'description' => 'The groups to which the consumed services belong.', + 'type' => 'array', + 'items' => ['description' => 'The groups to which the consumed services belong.', 'type' => 'string', 'example' => 'HSF', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'EdasContainerVersion' => [ - 'description' => 'The version of the container, such as Ali-Tomcat, in which an application that is developed based on High-speed Service Framework (HSF) is deployed.'."\n", - 'type' => 'string', - 'example' => '3.5.3', + 'Version' => ['description' => 'The version of the published service.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', 'title' => ''], + 'Group2Ip' => ['description' => 'A reserved field.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'Ips' => [ + 'description' => 'The service subscription addresses.', + 'type' => 'array', + 'items' => ['description' => 'The service subscription address.', 'type' => 'string', 'example' => '10.0.0.1', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'Name' => ['description' => 'The name of the published service.', 'type' => 'string', 'example' => 'com.alibaba.nodejs.ItemService', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of container components of a microservices application was obtained. Valid values:'."\n" - ."\n" - .'* **true**: The list was obtained.'."\n" - .'* **false**: The list failed to be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the list of subscribed microservices was retrieved.'."\n" + ."\n" + .'- **true**: The list was retrieved.'."\n" + ."\n" + .'- **false**: The list failed to be retrieved.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Disabled\\": false,\\n \\"EdasContainerVersion\\": \\"3.5.3\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeEdasContainersResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Disabled>false</Disabled>\\n <EdasContainerVersion>3.5.3</EdasContainerVersion>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeEdasContainersResponse>","errorExample":""}]', - 'title' => 'DescribeEdasContainers', - 'summary' => 'Queries the container components of a microservices application.', - ], - 'DescribeApplicationImage' => [ - 'path' => '/pop/v1/sam/container/describeApplicationImage', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Type\\": \\"RPC\\",\\n \\"Groups\\": [\\n \\"HSF\\"\\n ],\\n \\"Version\\": \\"1.0.0\\",\\n \\"AppId\\": \\"b2a8a925-477a-4ed7-b825-d5e22500****\\",\\n \\"Group2Ip\\": \\"{}\\",\\n \\"Ips\\": [\\n \\"10.0.0.1\\"\\n ],\\n \\"Name\\": \\"com.alibaba.nodejs.ItemService\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListConsumedServices', + 'summary' => 'You can call the ListConsumedServices operation to retrieve a list of subscribed microservices.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:27.000Z', 'description' => 'OpenAPI offline'], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6319', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'flowControl' => [ + 'flowControlList' => [], ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****', - ], - ], + 'ramActions' => [ [ - 'name' => 'ImageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the image.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/demo/demo:latest', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The information about the image of the application.'."\n", - 'type' => 'object', - 'properties' => [ - 'Logo' => [ - 'description' => 'This parameter is reserved.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'RepoOriginType' => [ - 'description' => 'The type of the repository. Only Container Registry is supported.'."\n", - 'type' => 'string', - 'example' => 'ALI_HUB', - ], - 'CrUrl' => [ - 'description' => 'This parameter is reserved.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'RepoTag' => [ - 'description' => 'The tag of the image.'."\n", - 'type' => 'string', - 'example' => 'latest', - ], - 'RepoType' => [ - 'description' => 'This parameter is reserved.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'RepoName' => [ - 'description' => 'The name of the repository.'."\n", - 'type' => 'string', - 'example' => 'demo', - ], - 'RepoNamespace' => [ - 'description' => 'The name of the namespace to which the image repository belongs.'."\n", - 'type' => 'string', - 'example' => 'demo', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the information about the image was obtained. Valid values:'."\n" - ."\n" - .'* **true**: The information was obtained.'."\n" - .'* **false**: The information failed to be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListConsumedServices', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Logo\\": \\"保留字段\\",\\n \\"RepoOriginType\\": \\"ALI_HUB\\",\\n \\"CrUrl\\": \\"保留字段\\",\\n \\"RepoTag\\": \\"latest\\",\\n \\"RepoType\\": \\"保留字段\\",\\n \\"RepoName\\": \\"demo\\",\\n \\"RepoNamespace\\": \\"demo\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeApplicationImageResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Logo>保留字段</Logo>\\n <RepoOriginType>ALI_HUB</RepoOriginType>\\n <CrUrl>保留字段</CrUrl>\\n <RepoTag>latest</RepoTag>\\n <RepoType>保留字段</RepoType>\\n <RepoName>demo</RepoName>\\n <RepoNamespace>demo</RepoNamespace>\\n <RegionId>cn-beijing</RegionId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeApplicationImageResponse>","errorExample":""}]', - 'title' => 'DescribeApplicationImage', - 'summary' => 'Queries the information about the image of an application.', ], - 'DescribeApplicationInstances' => [ - 'path' => '/pop/v1/sam/app/describeApplicationInstances', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListGreyTagRoute' => [ + 'summary' => 'Queries the details of a grayscale rule based on an application ID.', + 'path' => '/pop/v1/sam/tagroute/greyTagRouteList', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '8972', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'abilityTreeCode' => '10488', + 'abilityTreeNodes' => ['FEATUREsaeCJEQQD'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'd700e680-aa4d-4ec1-afc2-6566b5ff\\*\\*\\*\\*'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****', - ], - ], - [ - 'name' => 'GroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'b2a8a925-477a-4ed7-b825-d5e22500\\*\\*\\*\\*'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', - ], - ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => '1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '10'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'Reverse', - 'in' => 'query', - 'schema' => [ - 'description' => 'true'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'InstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'demo-faaca66c-5959-45cc-b3bf-d26093b2e9c0******', - ], - ], - [ - 'name' => 'PipelineId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => '85750d48-6cfc-4dbf-8ea0-840397******', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The parameter returned.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. It is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '9D29CBD0-45D3-410B-9826-52F86F90****'], + 'Message' => ['description' => 'Additional information. Valid values:'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, a specific error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID, which is used to query the details of a call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The details of the application instance.'."\n", + 'description' => 'The information about the grayscale rule.', 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The total number of returned instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Instances' => [ - 'description' => 'The application instances.'."\n", + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page in a paged query. The value can only be **1**.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of entries. The value can only be **1**.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'Result' => [ + 'description' => 'The returned result.', 'type' => 'array', 'items' => [ - 'description' => 'The application instances.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'CreateTimeStamp' => [ - 'description' => 'The start time of the instance creation process. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1558442609000', - ], - 'VSwitchId' => [ - 'description' => 'The ID of the zone where the instance is deployed.'."\n", - 'type' => 'string', - 'example' => 'vsw-***', - ], - 'InstanceContainerStatus' => [ - 'description' => 'The state of the instance. Valid values:'."\n" - ."\n" - .'* **Error**: An error occurred during the instance startup.'."\n" - .'* **CrashLoopBackOff**: The container failed to start. An error occurred during the startup process and persisted after the restart.'."\n" - .'* **ErrImagePull**: An error occurred while the container image was being pulled from the instance.'."\n" - .'* **ImagePullBackOff**: The container image could not be obtained.'."\n" - .'* **Pending**: The instance is waiting to be scheduled.'."\n" - .'* **Unknown**: An unknown exception occurred.'."\n" - .'* **Terminating**: The instance creation process is being terminated.'."\n" - .'* **NotFound**: The instance cannot be found.'."\n" - .'* **PodInitializing**: The instance is being initialized.'."\n" - .'* **Init:0/1**: The instance is initialized.'."\n" - .'* **Running**: The instance is running.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'InstanceHealthStatus' => [ - 'description' => 'The configurations of health checks. Valid values:'."\n" - ."\n" - .'* **WithoutHealthCheckConfig**: Liveness and readiness checks are not configured.'."\n" - .'* **WithoutLivenessConfig**: The liveness check is not configured.'."\n" - .'* **WithoutReadinessConfig**: The readiness check is not configured.'."\n" - .'* **NotCheckedYet**: The health checks are not performed or are in progress.'."\n" - .'* **LivenessUnhealthy**: The instance failed the liveness check.'."\n" - .'* **ReadinessUnhealthy**: The instance failed the readiness check.'."\n" - .'* **Unhealthy**: The instance failed both liveness and readiness checks.'."\n" - .'* **Healthy**: The instance passed both liveness and readiness checks.'."\n", - 'type' => 'string', - 'example' => 'WithoutHealthCheckConfig', - ], - 'InstanceContainerRestarts' => [ - 'description' => 'The number of times that the instance restarted.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'GroupId' => [ - 'description' => 'The ID of the group to which the instance belongs.'."\n", - 'type' => 'string', - 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', - ], - 'InstanceContainerIp' => [ - 'description' => 'The internal IP address of the instance.'."\n", - 'type' => 'string', - 'example' => '192.168.X.X', - ], - 'InstanceId' => [ - 'description' => 'The ID of the instance.'."\n", - 'type' => 'string', - 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', - ], - 'ImageUrl' => [ - 'description' => 'The address of the repository.'."\n" - ."\n" - .'> If you deploy the application by using a JAR or WAR package, the image generated by SAE is not available for download.'."\n", - 'type' => 'string', - 'example' => 'registry-vpc.cn-beijing.aliyuncs.com/sae-demo-image/cartservice:1.0', - ], - 'PackageVersion' => [ - 'description' => 'The version of the package.'."\n", - 'type' => 'string', - 'example' => '1609939496200', - ], - 'Timestamp' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1750061980000', - ], - 'Eip' => [ - 'description' => 'The elastic IP address (EIP).'."\n", - 'type' => 'string', - 'example' => '8.129.XX.XXX', - ], - 'FinishTimeStamp' => [ - 'description' => 'The end time of the instance creation process. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1642757283000', - ], - 'DebugStatus' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'False', - ], - 'SidecarContainersStatus' => [ - 'description' => 'The status of the sidecar container.'."\n", + 'GreyTagRouteId' => ['description' => 'The rule ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'Name' => ['description' => 'The rule name.', 'type' => 'string', 'example' => 'rule-name', 'title' => ''], + 'Description' => ['description' => 'The description of the rule.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ScRules' => [ + 'description' => 'The grayscale rules for Spring Cloud.', 'type' => 'array', 'items' => [ - 'description' => 'The status of the sidecar container.'."\n", + 'description' => 'The details of the rules.', 'type' => 'object', 'properties' => [ - 'ContainerId' => [ - 'description' => 'The ID of the sidecar container.'."\n", - 'type' => 'string', - 'example' => 'sidecar-test-01', - ], - 'ContainerStatus' => [ - 'description' => 'The status of the container.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'ImageUrl' => [ - 'description' => 'The URL of the image.'."\n", - 'type' => 'string', - 'example' => 'registry.cn-beijing.aliyuncs.com/sae-dev-test/******', + 'path' => ['description' => 'The path that corresponds to the grayscale rule for the Spring Cloud application.', 'type' => 'string', 'example' => '/path', 'title' => ''], + 'condition' => ['description' => 'The conditional pattern of the grayscale rule. Valid values:'."\n" + ."\n" + .'- **AND**: All conditions in the list must be met.'."\n" + ."\n" + .'- **OR**: Any condition in the list can be met.', 'type' => 'string', 'example' => 'OR', 'title' => ''], + 'items' => [ + 'description' => 'The list of conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'The data in the list of conditions.', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => 'The comparison type. Valid values:'."\n" + ."\n" + .'- **param**: Parameter.'."\n" + ."\n" + .'- **cookie**: Cookie.'."\n" + ."\n" + .'- **header**: Header.', 'type' => 'string', 'example' => 'cookie', 'title' => ''], + 'name' => ['description' => 'The parameter name.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'operator' => ['description' => 'The operator. Valid values:'."\n" + ."\n" + .'- **rawvalue**: Direct comparison.'."\n" + ."\n" + .'- **list**: Whitelist.'."\n" + ."\n" + .'- **mod**: Modulo 100 operation.'."\n" + ."\n" + .'- **deterministic\\_proportional\\_steaming\\_division**: Percentage.', 'type' => 'string', 'example' => 'rawvalue', 'title' => ''], + 'value' => ['description' => 'The parameter value. The value obtained based on **type** and **name** is compared with this value.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'cond' => ['description' => 'The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==**, and **!=**.', 'type' => 'string', 'example' => '==', 'title' => ''], + 'index' => ['title' => 'abandon', 'description' => 'This parameter is not applicable to Spring Cloud applications.', 'type' => 'integer', 'format' => 'int32', 'example' => 'N/A'], + 'expr' => ['description' => 'This parameter is not applicable to Spring Cloud applications.', 'type' => 'string', 'example' => 'N/A', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'MainContainerStatus' => [ - 'description' => 'The status of the main container.'."\n", - 'type' => 'string', - 'example' => 'Running', - ], - 'UnhealthyMessage' => [ - 'description' => 'If the health check of an application instance fails, the detailed failure cause or error message is returned. If the health check of an application instance passes, no response is returned.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'TrafficStatus' => [ - 'type' => 'string', - ], - 'Tags' => [ + 'AlbRules' => [ + 'description' => 'The grayscale rules created for an application for which an Application Load Balancer (ALB) Ingress is configured.', 'type' => 'array', 'items' => [ + 'description' => 'The details of the grayscale rules.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'type' => 'string', + 'ingressId' => ['description' => 'The Ingress ID.', 'type' => 'string', 'example' => '23', 'title' => ''], + 'condition' => ['description' => 'The conditional pattern of the grayscale rule. Only AND is supported, which indicates that all conditions in the list must be met.', 'type' => 'string', 'example' => 'AND', 'title' => ''], + 'items' => [ + 'description' => 'The list of conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the list of conditions.', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => 'The comparison type. Valid values:'."\n" + ."\n" + .'- **sourceIp**: SourceIp.'."\n" + ."\n" + .'- **cookie**: Cookie.'."\n" + ."\n" + .'- **header**: Header.', 'type' => 'string', 'example' => 'cookie', 'title' => ''], + 'name' => ['description' => 'The parameter name.', 'type' => 'string', 'example' => 'example', 'title' => ''], + 'operator' => ['description' => 'The operator. Valid values: Only rawvalue is supported, which indicates a direct comparison.', 'type' => 'string', 'example' => 'rawvalue', 'title' => ''], + 'value' => ['description' => 'The parameter value. The value obtained based on type and name is compared with this value.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'cond' => ['description' => 'Only == is supported.', 'type' => 'string', 'example' => '==', 'title' => ''], + 'index' => ['title' => 'abandon', 'description' => 'This parameter is not applicable to ALB applications.', 'type' => 'integer', 'format' => 'int32', 'example' => 'N/A'], + 'expr' => ['description' => 'This parameter is not applicable to ALB applications.', 'type' => 'string', 'example' => 'N/A', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], - 'Value' => [ - 'type' => 'string', + 'serviceName' => ['description' => 'The service name.', 'type' => 'string', 'example' => 's-6366-e3****-99**', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'DubboRules' => [ + 'description' => 'The grayscale rules for Dubbo services.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the grayscale rules.', + 'type' => 'object', + 'properties' => [ + 'serviceName' => ['description' => 'The name of the Dubbo service.', 'type' => 'string', 'example' => 'com.alibaba.edas.boot.EchoService', 'title' => ''], + 'group' => ['description' => 'The group of the Dubbo service that corresponds to the grayscale rule.', 'type' => 'string', 'example' => 'DUBBO', 'title' => ''], + 'version' => ['description' => 'The version of the Dubbo service.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'methodName' => ['description' => 'The method name of the Dubbo service.', 'type' => 'string', 'example' => 'echo', 'title' => ''], + 'condition' => ['description' => 'The conditional pattern of the grayscale rule. Valid values:'."\n" + ."\n" + .'- **AND**: All conditions in the list must be met.'."\n" + ."\n" + .'- **OR**: Any condition in the list can be met.', 'type' => 'string', 'example' => 'OR', 'title' => ''], + 'items' => [ + 'description' => 'The list of conditions.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of the conditions.', + 'type' => 'object', + 'properties' => [ + 'index' => ['description' => 'The parameter number. 0 indicates the first parameter.', 'type' => 'integer', 'format' => 'int32', 'example' => '0', 'title' => ''], + 'expr' => ['description' => 'The expression that is used to obtain the parameter value. The syntax follows the Spring Expression Language (SpEL). Valid values:'."\n" + ."\n" + .'- **Leave it empty**: Obtains the value of the current parameter.'."\n" + ."\n" + .'- **.name**: Obtains the name property of the parameter. This is equivalent to args0.getName().'."\n" + ."\n" + .'- **.isEnabled()**: Obtains the enabled property of the parameter. This is equivalent to args0.isEnabled().'."\n" + ."\n" + .'- **\\[0]**: Obtains the first value of the array. This is equivalent to args0\\[0]. Note that the expression does not start with a period (.).'."\n" + ."\n" + .'- **.get(0)**: Obtains the first value of the list. This is equivalent to args0.get(0).'."\n" + ."\n" + .'- **.get("key")**: Obtains the value that corresponds to the specified key from the map. This is equivalent to args0.get("key").', 'type' => 'string', 'example' => '.name', 'title' => ''], + 'operator' => ['description' => 'The operator. Valid values:'."\n" + ."\n" + .'- **rawvalue**: Direct comparison.'."\n" + ."\n" + .'- **list**: Whitelist.'."\n" + ."\n" + .'- **mod**: Modulo 100 operation.'."\n" + ."\n" + .'- **deterministic\\_proportional\\_steaming\\_division**: Percentage.', 'type' => 'string', 'example' => 'rawvalue', 'title' => ''], + 'value' => ['description' => 'The parameter value. The value obtained based on **expr** and **index** is compared with this value.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'cond' => ['description' => 'The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==**, and **!=**.', 'type' => 'string', 'example' => '==', 'title' => ''], + 'type' => ['title' => 'abandon', 'description' => 'This parameter is not applicable to Dubbo services.', 'type' => 'string', 'example' => 'N/A'], + 'name' => ['title' => 'abandon', 'description' => 'This parameter is not applicable to Dubbo services.', 'type' => 'string', 'example' => 'N/A'], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'CreateTime' => ['description' => 'The timestamp when the rule was created. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1619007592013', 'title' => ''], + 'UpdateTime' => ['description' => 'The timestamp when the rule was updated. Unit: milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1609434061000', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. '."\n" - ."\n" - .'- The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'- The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.', - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of application instances was obtained. Valid values:'."\n" - ."\n" - .'* **true**: indicates that the list was obtained.'."\n" - .'* **false**: indicates that the list could not be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The status of the interface or the POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurs.'."\n" + ."\n" + .'- **5xx**: A server error occurs.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the query succeeded.'."\n" + ."\n" + .'- **true**: The query succeeded.'."\n" + ."\n" + .'- **false**: The query failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 10,\\n \\"PageSize\\": 10,\\n \\"Instances\\": [\\n {\\n \\"CreateTimeStamp\\": 1558442609000,\\n \\"VSwitchId\\": \\"vsw-***\\",\\n \\"InstanceContainerStatus\\": \\"Running\\",\\n \\"InstanceHealthStatus\\": \\"WithoutHealthCheckConfig\\",\\n \\"InstanceContainerRestarts\\": 0,\\n \\"GroupId\\": \\"b2a8a925-477a-4ed7-b825-d5e22500****\\",\\n \\"InstanceContainerIp\\": \\"192.168.X.X\\",\\n \\"InstanceId\\": \\"b2a8a925-477a-4ed7-b825-d5e22500****\\",\\n \\"ImageUrl\\": \\"registry-vpc.cn-beijing.aliyuncs.com/sae-demo-image/cartservice:1.0\\",\\n \\"PackageVersion\\": \\"1609939496200\\",\\n \\"Timestamp\\": 1750061980000,\\n \\"Eip\\": \\"8.129.XX.XXX\\",\\n \\"FinishTimeStamp\\": 1642757283000,\\n \\"DebugStatus\\": true,\\n \\"SidecarContainersStatus\\": [\\n {\\n \\"ContainerId\\": \\"sidecar-test-01\\",\\n \\"ContainerStatus\\": \\"Running\\",\\n \\"ImageUrl\\": \\"registry.cn-beijing.aliyuncs.com/sae-dev-test/******\\"\\n }\\n ],\\n \\"MainContainerStatus\\": \\"Running\\",\\n \\"UnhealthyMessage\\": \\"空\\",\\n \\"TrafficStatus\\": \\"\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"\\",\\n \\"Value\\": \\"\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeApplicationInstancesResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>10</TotalSize>\\n <PageSize>10</PageSize>\\n <Instances>\\n <CreateTimeStamp>1558442609000</CreateTimeStamp>\\n <VSwitchId>vsw-***</VSwitchId>\\n <InstanceContainerStatus>Running</InstanceContainerStatus>\\n <InstanceHealthStatus>WithoutHealthCheckConfig</InstanceHealthStatus>\\n <InstanceContainerRestarts>0</InstanceContainerRestarts>\\n <GroupId>b2a8a925-477a-4ed7-b825-d5e22500****</GroupId>\\n <InstanceContainerIp>192.168.X.X</InstanceContainerIp>\\n <InstanceId>b2a8a925-477a-4ed7-b825-d5e22500****</InstanceId>\\n <ImageUrl>registry-vpc.cn-beijing.aliyuncs.com/sae-demo-image/cartservice:1.0</ImageUrl>\\n <PackageVersion>1609939496200</PackageVersion>\\n <Eip>8.129.XX.XXX</Eip>\\n <FinishTimeStamp>1642757283000</FinishTimeStamp>\\n <DebugStatus>false</DebugStatus>\\n </Instances>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeApplicationInstancesResponse>","errorExample":""}]', - 'title' => 'DescribeApplicationInstances', - 'summary' => 'Queries a list of application instances.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeApplicationGroups' => [ - 'path' => '/pop/v1/sam/app/describeApplicationGroups', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9D29CBD0-45D3-410B-9826-52F86F90****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 1,\\n \\"TotalSize\\": 1,\\n \\"Result\\": [\\n {\\n \\"GreyTagRouteId\\": 1,\\n \\"Name\\": \\"rule-name\\",\\n \\"Description\\": \\"test\\",\\n \\"ScRules\\": [\\n {\\n \\"path\\": \\"/path\\",\\n \\"condition\\": \\"OR\\",\\n \\"items\\": [\\n {\\n \\"type\\": \\"cookie\\",\\n \\"name\\": \\"test\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"index\\": 0,\\n \\"expr\\": \\"N/A\\"\\n }\\n ]\\n }\\n ],\\n \\"AlbRules\\": [\\n {\\n \\"ingressId\\": \\"23\\",\\n \\"condition\\": \\"AND\\",\\n \\"items\\": [\\n {\\n \\"type\\": \\"cookie\\",\\n \\"name\\": \\"example\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"index\\": 0,\\n \\"expr\\": \\"N/A\\"\\n }\\n ],\\n \\"serviceName\\": \\"s-6366-e3****-99**\\"\\n }\\n ],\\n \\"DubboRules\\": [\\n {\\n \\"serviceName\\": \\"com.alibaba.edas.boot.EchoService\\",\\n \\"group\\": \\"DUBBO\\",\\n \\"version\\": \\"1.0.0\\",\\n \\"methodName\\": \\"echo\\",\\n \\"condition\\": \\"OR\\",\\n \\"items\\": [\\n {\\n \\"index\\": 0,\\n \\"expr\\": \\".name\\",\\n \\"operator\\": \\"rawvalue\\",\\n \\"value\\": \\"test\\",\\n \\"cond\\": \\"==\\",\\n \\"type\\": \\"N/A\\",\\n \\"name\\": \\"N/A\\"\\n }\\n ]\\n }\\n ],\\n \\"CreateTime\\": 1619007592013,\\n \\"UpdateTime\\": 1609434061000\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListGreyTagRoute', + 'description' => '> You can configure only one grayscale rule for each application.', + 'requestParamsDescription' => '- **ScRule parameter**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| --------- | -------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| condition | String | OR | The conditional pattern of the grayscale rule. Valid values:<br>\\- **AND**: All conditions in the list must be met.<br>\\- **OR**: Any condition in the list can be met. |'."\n" + .'| path | String | /path | The path that corresponds to the grayscale rule for a Spring Cloud application. |'."\n" + .'| items | Array of items | | The list of conditions. |'."\n" + ."\n" + .'**Item parameter**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| --------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |'."\n" + .'| name | String | test | The parameter name. |'."\n" + .'| cond | String | \\== | The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==**, and **!=** |'."\n" + .'| type | String | cookie | The comparison type. Valid values:<br>\\- **param**: Parameter.<br>\\- **cookie**: Cookie.<br>\\- **header**: Header. |'."\n" + .'| value | String | test | The parameter value. The value obtained based on **type** and **name** is compared with this value. |'."\n" + .'| operator | String | rawvalue | The operator. Valid values:<br>\\- **rawvalue**: Direct comparison.<br>\\- **list**: Whitelist.<br>\\- **mod**: Modulo 100 operation.<br>\\- **deterministic_proportional_steaming_division**: Percentage. |'."\n" + ."\n" + .'- **DubboRule parameter**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| ----------- | -------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| condition | String | OR | The conditional pattern of the grayscale rule. Valid values:<br>\\- **AND**: All conditions in the list must be met.<br>\\- **OR**: Any condition in the list can be met. |'."\n" + .'| methodName | String | echo | The method name of the Dubbo service. |'."\n" + .'| serviceName | String | com.alibaba.edas.boot.EchoService | The name of the Dubbo service. |'."\n" + .'| version | String | 1.0.0 | The version of the Dubbo service. |'."\n" + .'| items | Array of items | | The list of conditions. |'."\n" + .'| group | String | DUBBO | The group of the Dubbo service that corresponds to the grayscale rule. |'."\n" + ."\n" + .'**Item parameter**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| --------- | ------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| index | Integer | 0 | The parameter number. 0 indicates the first parameter. |'."\n" + .'| expr | String | .name | The expression that is used to obtain the parameter value. The syntax follows the Spring Expression Language (SpEL). Valid values:<br>\\- **Leave it empty**: Obtains the value of the current parameter.<br>\\- **.name**: Obtains the name property of the parameter. This is equivalent to args0.getName().<br>\\- **.isEnabled()**: Obtains the enabled property of the parameter. This is equivalent to args0.isEnabled().<br>\\- **[0]**: Obtains the first value of the array. This is equivalent to args0[0]. Note that the expression does not start with a period (.).<br>\\- **.get(0) **: Obtains the first value of the list. This is equivalent to args0.get(0).<br>\\- **.get("key")**: Obtains the value that corresponds to the specified key from the map. This is equivalent to args0.get("key"). |'."\n" + .'| cond | String | \\== | The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==**, and **!=** |'."\n" + .'| value | String | test | The parameter value. The value obtained based on **expr** and **index** is compared with this value. |'."\n" + .'| operator | String | rawvalue | The operator. Valid values:<br>\\- **rawvalue**: Direct comparison.<br>\\- **list**: Whitelist.<br>\\- **mod**: Modulo 100 operation.<br>\\- **deterministic_proportional_steaming_division**: Percentage. |', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-01-09T07:10:28.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-29T03:14:27.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListGreyTagRoute'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListGreyTagRoute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListIngresses' => [ + 'path' => '/pop/v1/sam/ingress/IngressList', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24353,204 +19274,234 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '6318', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'abilityTreeCode' => '6374', + 'abilityTreeNodes' => ['FEATUREsaeRW2OE6'], ], 'parameters' => [ [ + 'name' => 'NamespaceId', + 'in' => 'query', + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing', 'title' => ''], + ], + [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => false, 'example' => 'bbf3a590-6d13-46fe-8ca9-c947a20b****', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries per page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The page size.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'description' => 'The data that is returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- **success** is returned if the call is successful.'."\n" + ."\n" + .'- An error code is returned if the call fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use it to query the details of a call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The information about the instance groups of the application.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'Jdk' => [ - 'description' => 'The version of the JDK on which the deployment package of the application depends. This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'example' => 'Open JDK 8', - ], - 'ImageUrl' => [ - 'description' => 'The URL of the image. This parameter is returned only if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest', - ], - 'PackageUrl' => [ - 'description' => 'The URL of the deployment package. This parameter is returned only if the **PackageType** parameter is set to **FatJar**, **War**, or **PhpZip**.'."\n", - 'type' => 'string', - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest', - ], - 'PackageType' => [ - 'description' => 'The type of the deployment package. Valid values:'."\n" - ."\n" - .'* If you deploy a Java application, the value of this parameter can be **FatJar**, **War**, or **Image**.'."\n" - ."\n" - .'* If you deploy a PHP application, the value of this parameter can be one of the following values:'."\n" - ."\n" - .' * **PhpZip**'."\n" - .' * **IMAGE_PHP\\_5\\_4**'."\n" - .' * **IMAGE_PHP\\_5\\_4\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_5\\_5**'."\n" - .' * **IMAGE_PHP\\_5\\_5\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_5\\_6**'."\n" - .' * **IMAGE_PHP\\_5\\_6\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_0**'."\n" - .' * **IMAGE_PHP\\_7\\_0\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_1**'."\n" - .' * **IMAGE_PHP\\_7\\_1\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_2**'."\n" - .' * **IMAGE_PHP\\_7\\_2\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_3**'."\n" - .' * **IMAGE_PHP\\_7\\_3\\_ALPINE**'."\n", - 'type' => 'string', - 'example' => 'Image', - ], - 'PackageVersion' => [ - 'description' => 'The version of the deployment package. This parameter is returned only if the **PackageType** parameter is set to **FatJar**, **War**, or **PhpZip**. The value of this parameter is automatically generated only if the **ImageUrl** is returned.'."\n", - 'type' => 'string', - 'example' => '1.0.0', - ], - 'PackageVersionId' => [ - 'type' => 'string', - ], - 'GroupName' => [ - 'description' => 'The name of the instance group.'."\n", - 'type' => 'string', - 'example' => '_DEFAULT_GROUP', - ], - 'GroupId' => [ - 'description' => 'The ID of the instance group.'."\n", - 'type' => 'string', - 'example' => 'b2a8a925-477a-eswa-b823-d5e22500****', - ], - 'WebContainer' => [ - 'description' => 'The version of the Tomcat container on which the deployment package depends. This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'example' => 'Apache Tomcat 7', - ], - 'Replicas' => [ - 'description' => 'The total number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'EdasContainerVersion' => [ - 'description' => 'The version of the container, such as Ali-Tomcat, in which an application that is developed based on High-speed Service Framework (HSF) is deployed.'."\n", - 'type' => 'string', - 'example' => '3.5.3', - ], - 'RunningInstances' => [ - 'description' => 'The number of running instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'GroupType' => [ - 'description' => 'The type of the instance group.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', + 'description' => 'The result.', + 'type' => 'object', + 'properties' => [ + 'CurrentPage' => ['description' => 'The current page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], + 'TotalSize' => ['description' => 'The total number of entries found.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], + 'IngressList' => [ + 'description' => 'The list of routing rules.', + 'type' => 'array', + 'items' => [ + 'description' => 'The information about the routing rule.', + 'type' => 'object', + 'properties' => [ + 'SlbId' => ['description' => 'The ID of the Server Load Balancer (SLB) instance.', 'type' => 'string', 'example' => 'lb-uf62****6d13tq2u5', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-shanghai', 'title' => ''], + 'Description' => ['description' => 'The name of the Ingress rule.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'ListenerPort' => ['description' => 'The listening port of the SLB instance.', 'type' => 'string', 'example' => '80', 'title' => ''], + 'SlbType' => ['description' => 'The type of the SLB instance. Valid values:'."\n" + ."\n" + .'- **internet**: public network.'."\n" + ."\n" + .'- **intranet**: private network.', 'type' => 'string', 'example' => 'internet', 'title' => ''], + 'CertId' => ['description' => 'The ID of the Classic Load Balancer (CLB) certificate.', 'type' => 'string', 'example' => '13624*****73809_16f8e549a20_1175189789_12****3210', 'title' => ''], + 'CertIds' => ['description' => 'The IDs of the Application Load Balancer (ALB) certificates.', 'type' => 'string', 'example' => '87***35-cn-hangzhou,812***3-cn-hangzhou', 'title' => ''], + 'Name' => ['description' => 'The name of the routing rule.', 'type' => 'string', 'example' => 'lb-uf6jt0nu4z6ior943****-80-f5****', 'title' => ''], + 'Id' => ['description' => 'The ID of the routing rule.', 'type' => 'integer', 'format' => 'int64', 'example' => '18', 'title' => ''], + 'LoadBalanceType' => ['description' => 'The type of the SLB instance. Valid values:'."\n" + ."\n" + .'- **clb**: Classic Load Balancer.'."\n" + ."\n" + .'- **alb**: Application Load Balancer.', 'type' => 'string', 'example' => 'clb', 'title' => ''], + 'ListenerProtocol' => ['description' => 'The forwarding protocol of the SLB instance. Valid values:'."\n" + ."\n" + .'- **HTTP**: suitable for applications that need to identify data content.'."\n" + ."\n" + .'- **HTTPS**: suitable for applications that require encrypted transmission.'."\n" + ."\n" + .'This parameter is optional for the **CreateIngress** and **UpdateIngress** operations. If you do not set this parameter when you create or update a gateway routing rule, this parameter is not returned.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'MseGatewayId' => ['description' => 'The ID of the MSE cloud-native gateway instance.', 'type' => 'string', 'example' => 'gw-d5df01a1bae748f1a7c4e325d2fd****', 'title' => ''], + 'MseGatewayPort' => ['description' => 'The port that corresponds to the service.', 'type' => 'string', 'example' => '80', 'title' => ''], + 'MseGatewayProtocol' => ['description' => 'The forwarding protocol supported by the MSE cloud-native gateway. Valid values:'."\n" + ."\n" + .'- **HTTP**: suitable for applications that need to identify data content.'."\n" + ."\n" + .'- **HTTPS**: suitable for applications that require encrypted transmission.', 'type' => 'string', 'example' => 'HTTP', 'title' => ''], + 'RequestTimeout' => ['description' => 'The request timeout period.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => ''], + 'IdleTimeout' => ['description' => 'The connection idle timeout period.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => ''], + 'CreateTime' => ['description' => 'The creation time.', 'type' => 'integer', 'format' => 'int64', 'title' => '', 'example' => ''], + 'DefaultRule' => [ + 'type' => 'object', + 'properties' => [ + 'ContainerPort' => ['description' => 'The container port.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'title' => '', 'example' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'title' => '', 'example' => ''], + 'BackendProtocol' => ['description' => 'The backend protocol.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'description' => 'The default rule.', + 'title' => '', + 'example' => '', + ], + 'Rules' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'title' => '', 'example' => ''], + 'ContainerPort' => ['description' => 'The container port.', 'type' => 'integer', 'format' => 'int32', 'title' => '', 'example' => ''], + 'Domain' => ['description' => 'The domain name.', 'type' => 'string', 'title' => '', 'example' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Path' => ['description' => 'The path.', 'type' => 'string', 'title' => '', 'example' => ''], + 'BackendProtocol' => ['description' => 'The backend protocol.', 'type' => 'string', 'title' => '', 'example' => ''], + 'RewritePath' => ['description' => 'The rewritten path.', 'type' => 'string', 'title' => '', 'example' => ''], + 'RuleActions' => [ + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'ActionType' => ['description' => 'The action type.', 'type' => 'string', 'title' => '', 'example' => ''], + 'ActionConfig' => ['description' => 'The action configuration.', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'description' => 'The rule action.', + 'title' => '', + 'example' => '', + ], + 'description' => 'The list of rule actions.', + 'title' => '', + 'example' => '', + ], + ], + 'description' => '', + 'title' => '', + 'example' => '', + ], + 'description' => 'The rules.', + 'title' => '', + 'example' => '', + ], + 'CorsConfig' => [ + 'type' => 'object', + 'properties' => [ + 'Enable' => ['description' => 'Indicates whether cross-domain access is enabled.', 'type' => 'string', 'title' => '', 'example' => ''], + 'ExposeHeaders' => ['description' => 'The allowed exposed headers.', 'type' => 'string', 'title' => '', 'example' => ''], + 'AllowHeaders' => ['description' => 'The allowed headers.', 'type' => 'string', 'title' => '', 'example' => ''], + 'AllowMethods' => ['description' => 'The allowed methods.', 'type' => 'string', 'title' => '', 'example' => ''], + 'AllowOrigin' => ['description' => 'The allowed origins.', 'type' => 'string', 'title' => '', 'example' => ''], + 'AllowCredentials' => ['description' => 'Indicates whether credentials can be carried.', 'type' => 'string', 'title' => '', 'example' => ''], + 'MaxAge' => ['description' => 'The time-to-live (TTL).', 'type' => 'string', 'title' => '', 'example' => ''], + ], + 'description' => 'The cross-domain configuration.', + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the instance groups of an application were obtained. Valid values:'."\n" - ."\n" - .'* **true**: The instance groups were obtained.'."\n" - .'* **false**: The instance groups failed to be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The status of the API call or a POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" + ."\n" + .'- **true**: The call was successful.'."\n" + ."\n" + .'- **false**: The call failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'description' => '', + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Jdk\\": \\"Open JDK 8\\",\\n \\"ImageUrl\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest\\",\\n \\"PackageUrl\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest\\",\\n \\"PackageType\\": \\"Image\\",\\n \\"PackageVersion\\": \\"1.0.0\\",\\n \\"PackageVersionId\\": \\"\\",\\n \\"GroupName\\": \\"_DEFAULT_GROUP\\",\\n \\"GroupId\\": \\"b2a8a925-477a-eswa-b823-d5e22500****\\",\\n \\"WebContainer\\": \\"Apache Tomcat 7\\",\\n \\"Replicas\\": 10,\\n \\"EdasContainerVersion\\": \\"3.5.3\\",\\n \\"RunningInstances\\": 1,\\n \\"GroupType\\": 0\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeApplicationGroupsResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Jdk>Open JDK 8</Jdk>\\n <ImageUrl>registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest</ImageUrl>\\n <PackageUrl>registry-vpc.cn-hangzhou.aliyuncs.com/demo/nginx:latest</PackageUrl>\\n <PackageType>Image</PackageType>\\n <PackageVersion>1.0.0</PackageVersion>\\n <GroupName>_DEFAULT_GROUP</GroupName>\\n <GroupId>b2a8a925-477a-eswa-b823-d5e22500****</GroupId>\\n <WebContainer>Apache Tomcat 7</WebContainer>\\n <Replicas>10</Replicas>\\n <EdasContainerVersion>3.5.3</EdasContainerVersion>\\n <RunningInstances>1</RunningInstances>\\n <GroupType>0</GroupType>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeApplicationGroupsResponse>","errorExample":""}]', - 'title' => 'DescribeApplicationGroups', - 'summary' => 'Queries the instance groups of an application.', - ], - 'ListApplications' => [ - 'path' => '/pop/v1/sam/app/listApplications', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 0,\\n \\"TotalSize\\": 0,\\n \\"PageSize\\": 0,\\n \\"IngressList\\": [\\n {\\n \\"SlbId\\": \\"lb-uf62****6d13tq2u5\\",\\n \\"NamespaceId\\": \\"cn-shanghai\\",\\n \\"Description\\": \\"test\\",\\n \\"ListenerPort\\": \\"80\\",\\n \\"SlbType\\": \\"internet\\",\\n \\"CertId\\": \\"13624*****73809_16f8e549a20_1175189789_12****3210\\",\\n \\"CertIds\\": \\"87***35-cn-hangzhou,812***3-cn-hangzhou\\",\\n \\"Name\\": \\"lb-uf6jt0nu4z6ior943****-80-f5****\\",\\n \\"Id\\": 18,\\n \\"LoadBalanceType\\": \\"clb\\",\\n \\"ListenerProtocol\\": \\"HTTP\\",\\n \\"MseGatewayId\\": \\"gw-d5df01a1bae748f1a7c4e325d2fd****\\",\\n \\"MseGatewayPort\\": \\"80\\",\\n \\"MseGatewayProtocol\\": \\"HTTP\\",\\n \\"RequestTimeout\\": 0,\\n \\"IdleTimeout\\": 0,\\n \\"CreateTime\\": 0,\\n \\"DefaultRule\\": {\\n \\"ContainerPort\\": 0,\\n \\"AppName\\": \\"\\",\\n \\"AppId\\": \\"\\",\\n \\"BackendProtocol\\": \\"\\"\\n },\\n \\"Rules\\": [\\n {\\n \\"AppName\\": \\"\\",\\n \\"ContainerPort\\": 0,\\n \\"Domain\\": \\"\\",\\n \\"AppId\\": \\"\\",\\n \\"Path\\": \\"\\",\\n \\"BackendProtocol\\": \\"\\",\\n \\"RewritePath\\": \\"\\",\\n \\"RuleActions\\": [\\n {\\n \\"ActionType\\": \\"\\",\\n \\"ActionConfig\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"CorsConfig\\": {\\n \\"Enable\\": \\"\\",\\n \\"ExposeHeaders\\": \\"\\",\\n \\"AllowHeaders\\": \\"\\",\\n \\"AllowMethods\\": \\"\\",\\n \\"AllowOrigin\\": \\"\\",\\n \\"AllowCredentials\\": \\"\\",\\n \\"MaxAge\\": \\"\\"\\n }\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListIngresses', + 'summary' => 'Retrieves a list of Ingresses.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-14T12:57:02.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2025-03-21T02:11:41.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-02-26T08:53:44.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-09-25T08:34:30.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-02T02:40:58.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListIngresses'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListIngresses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListJobs' => [ + 'path' => '/pop/v1/sam/job/listJobs', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -24559,773 +19510,265 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6370', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'operationType' => 'list', + 'abilityTreeCode' => '100750', + 'abilityTreeNodes' => ['FEATUREsaeN5OIM9'], ], 'parameters' => [ [ 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The current page number.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The page number. The value starts from 1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of records in each page. Value range: [0,10000]', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => 'The number of entries per page. Valid values: 0 to 200.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], [ 'name' => 'AppName', 'in' => 'query', - 'schema' => [ - 'description' => 'The application name.', - 'type' => 'string', - 'required' => false, - 'example' => 'demo-app', - ], + 'schema' => ['description' => 'The name of the job template.', 'type' => 'string', 'required' => false, 'example' => 'demo-app', 'title' => ''], ], [ 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:demo', - ], + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:demo', 'title' => ''], ], [ 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => 'The tag in the format of a key-value pair.'."\n" - .'* **key**: the tag key. It cannot exceed 128 characters in length.'."\n" - .'* **value**: the tag value. It cannot exceed 128 characters in length.'."\n" - ."\n" - .'Tag keys and tag values are case-sensitive. If you specify multiple tags, the system adds all the tags to the specified resources. Each tag key on a resource can have only one tag value. If you create a tag that has the same key as an existing tag, the value of the existing tag is overwritten.'."\n" - ."\n" - .'Tag keys and tag values cannot start with `aliyun` or `acs:`, and cannot contain `http://` or `https://`.', - 'type' => 'string', - 'required' => false, - 'example' => '[{"key":"key","value":"value"}]', - ], + 'schema' => ['description' => 'A list of tags. This is a JSON string. The value consists of the following parts:'."\n" + ."\n" + .'- **key**: The tag key.'."\n" + ."\n" + .'- **value**: The tag value.', 'type' => 'string', 'required' => false, 'example' => '[{"key":"key","value":"value"}]', 'title' => ''], ], [ 'name' => 'OrderBy', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies how applications are sorted. Valid values:'."\n" - ."\n" - .'* **running**: The applications are sorted based on the number of running instances.'."\n" - .'* **instances**: The applications are sorted based on the number of destination instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'running', - ], + 'schema' => ['description' => 'The sorting method for the job templates. Valid values:'."\n" + ."\n" + .'- **running**: Sorts by the number of running instances.'."\n" + ."\n" + .'- **instances**: Sorts by the number of destination instances.', 'type' => 'string', 'required' => false, 'example' => 'running', 'title' => ''], ], [ 'name' => 'Reverse', 'in' => 'query', - 'schema' => [ - 'description' => 'Sort by the running status of application instances. If the statuses are the same, sort by instance ID. The value options are as follows:'."\n" - ."\n" - .'- true: Sort in ascending order. Instances are arranged according to the startup process, for example: to ultimately reach the running state, an instance must first go through steps such as starting containers, pulling images, and initializing the instance.'."\n" - .'- false: Sort in descending order.', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Specifies whether to sort the results in ascending or descending order based on the field specified by the **OrderBy** parameter. Valid values:'."\n" + ."\n" + .'- **true**: ascending order.'."\n" + ."\n" + .'- **false**: descending order.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'FieldType', 'in' => 'query', - 'schema' => [ - 'description' => 'Set the filtering criteria for applications. The value options are as follows:'."\n" - ."\n" - .'- appName: Application name.'."\n" - .'- appIds: Application IDs.'."\n" - .'- slbIps: SLB IP addresses.'."\n" - .'- instanceIps: Instance IP addresses.', - 'type' => 'string', - 'required' => false, - 'example' => 'appName', - ], + 'schema' => ['description' => 'The dimension by which to filter job templates. Valid values:'."\n" + ."\n" + .'- **appName**: The name of the job template.'."\n" + ."\n" + .'- **appIds**: The ID of the job template.', 'type' => 'string', 'required' => false, 'example' => 'appName', 'title' => ''], ], [ 'name' => 'FieldValue', 'in' => 'query', - 'schema' => [ - 'description' => 'The name, ID, SLB IP, or instance IP of the target application.', - 'type' => 'string', - 'required' => false, - 'example' => 'demo-app', - ], + 'schema' => ['description' => 'The name or ID of the target job template. This value corresponds to the dimension specified by **FieldType**.', 'type' => 'string', 'required' => false, 'example' => 'demo-app', 'title' => ''], ], [ - 'name' => 'AppSource', - 'in' => 'query', - 'schema' => [ - 'description' => 'The SAE application type. Valid values:'."\n" - ."\n" - .'- **micro_service**'."\n" - .'- **web**'."\n" - .'- **job**', - 'type' => 'string', - 'required' => false, - 'example' => 'micro_service', - ], - ], - [ - 'name' => 'IsStateful', + 'name' => 'Workload', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, - ], - ], - [ - 'name' => 'NewSaeVersion', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The workload. Set the value to `job`.', 'type' => 'string', 'required' => false, 'example' => 'job', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'Additional message.', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'Request ID.', - 'type' => 'string', - 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****', - ], + 'Message' => ['description' => 'Additional information about the call.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****', 'title' => ''], 'Data' => [ - 'description' => 'The queried applications.'."\n", + 'description' => 'The list of job templates.', 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The current page number.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The number of applications.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PageSize' => [ - 'description' => 'The number of records in each page.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of job templates.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], 'Applications' => [ - 'description' => 'The queried applications.'."\n", + 'description' => 'The list of job templates.', 'type' => 'array', 'items' => [ - 'description' => 'The information about the applications.'."\n", + 'description' => 'The details of the job template.', 'type' => 'object', 'properties' => [ - 'AppName' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'example' => 'demo-app', - ], - 'NamespaceId' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:demo', - ], - 'AppDeletingStatus' => [ - 'description' => 'Indicates whether the application is being deleted. Valid values:'."\n" - ."\n" - .'* **true**: The application is being deleted.'."\n" - .'* **false**: The application is not being deleted.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => 'f7730764-d88f-4b9a-8d8e-cd8efbfe****', - ], + 'AppName' => ['description' => 'The name of the job template.', 'type' => 'string', 'example' => 'demo-app', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-beijing:demo', 'title' => ''], + 'AppId' => ['description' => 'The ID of the job template.', 'type' => 'string', 'example' => 'f7730764-d88f-4b9a-8d8e-cd8efbfe****', 'title' => ''], 'Tags' => [ - 'description' => 'The tags of the application.'."\n", + 'description' => 'The tags of the job template.', 'type' => 'array', 'items' => [ - 'description' => 'The tag information.', + 'description' => 'The details of the job template tag.', 'type' => 'object', 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => 'value', - ], + 'Key' => ['description' => 'The tag key.', 'type' => 'string', 'example' => 'key', 'title' => ''], + 'Value' => ['description' => 'The tag value.', 'type' => 'string', 'example' => 'value', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'RunningInstances' => [ - 'description' => 'The number of running instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Instances' => [ - 'description' => 'The number of application instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'AppDescription' => [ - 'description' => 'The description of the application.'."\n", - 'type' => 'string', - 'example' => 'description', - ], - 'Cpu' => [ - 'description' => 'The CPU specifications that are required for each instance. Unit: millicores. This parameter cannot be set to 0. Valid values:'."\n" - ."\n" - .'* **500**'."\n" - .'* **1000**'."\n" - .'* **2000**'."\n" - .'* **4000**'."\n" - .'* **8000**'."\n" - .'* **16000**'."\n" - .'* **32000**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'Mem' => [ - 'description' => 'The memory size that is required by each instance. Unit: MB. This parameter cannot be set to 0. The values of this parameter correspond to the values of the Cpu parameter:'."\n" - ."\n" - .'* This parameter is set to **1024** if the Cpu parameter is set to 500 or 1000.'."\n" - .'* This parameter is set to **2048** if the Cpu parameter is set to 500, 1000, or 2000.'."\n" - .'* This parameter is set to **4096** if the Cpu parameter is set to 1000, 2000, or 4000.'."\n" - .'* This parameter is set to **8192** if the Cpu parameter is set to 2000, 4000, or 8000.'."\n" - .'* This parameter is set to **12288** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **16384** if the Cpu parameter is set to 4000, 8000, or 16000.'."\n" - .'* This parameter is set to **24576** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **32768** if the Cpu parameter is set to 16000.'."\n" - .'* This parameter is set to **65536** if the Cpu parameter is set to 8000, 16000, or 32000.'."\n" - .'* This parameter is set to **131072** if the Cpu parameter is set to 32000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'MseEnabled' => [ - 'description' => 'The application has enabled MSE or not.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'MseNamespaceId' => [ - 'description' => 'The name space of MSE:'."\n" - ."\n" - .'- default: the free edition.'."\n" - .'- sae-pro: the professional edition.'."\n" - .'- sae-ent: the enterprise eiditon.', - 'type' => 'string', - 'example' => 'sae-ent', - ], - 'BaseAppId' => [ - 'description' => 'The base app ID. Only gray-release applications have this property.', - 'type' => 'string', - 'example' => 'xxx-xxx-xx-xxx', - ], - 'ProgrammingLanguage' => [ - 'description' => 'The programming language of the application.', - 'type' => 'string', - 'example' => 'java', - ], - 'Children' => [ - 'description' => 'The gray-release application list of this application.', - 'type' => 'array', - 'items' => [ - 'description' => 'Details.', - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'example' => 'app1', - ], - 'NamespaceId' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:demo', - ], - 'AppDeletingStatus' => [ - 'description' => 'If is deleting this application.', - 'type' => 'boolean', - 'example' => 'false', - ], - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => 'xxx-xxx-xxx-xxx', - ], - 'ScaleRuleEnabled' => [ - 'description' => 'If the scale rule is enabled.', - 'type' => 'boolean', - 'example' => 'false', - ], - 'ScaleRuleType' => [ - 'description' => 'The type of the scale rule.', - 'type' => 'string', - 'example' => 'timing', - ], - 'Tags' => [ - 'description' => 'The application tag.', - 'type' => 'array', - 'items' => [ - 'description' => 'The application tag.', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'description' => 'The tag value.', - 'type' => 'string', - 'example' => 'value', - ], - ], - ], - ], - 'RunningInstances' => [ - 'description' => 'The number of instances in running state.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Instances' => [ - 'description' => 'The number of instances.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'AppDescription' => [ - 'description' => 'The application description.', - 'type' => 'string', - 'example' => 'Test', - ], - 'Cpu' => [ - 'description' => 'The CPU sepcification.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'Mem' => [ - 'description' => 'The memory specification.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2048', - ], - 'MseEnabled' => [ - 'description' => 'If this application has enabled MSE.', - 'type' => 'boolean', - 'example' => 'true', - ], - 'BaseAppId' => [ - 'description' => 'The base application ID.', - 'type' => 'string', - 'example' => ' ee99cce6-1c8e-4bfa-96c3-3e2fa9******', - ], - 'ProgrammingLanguage' => [ - 'description' => 'The programming language of this application.', - 'type' => 'string', - 'example' => 'java', - ], - 'AppType' => [ - 'description' => 'The way to deploy applications.', - 'type' => 'string', - 'example' => 'Image', - ], - 'NamespaceName' => [ - 'description' => 'The name of the namespace.', - 'type' => 'string', - 'example' => 'demo', - ], - 'IsStateful' => [ - 'type' => 'boolean', - ], - 'NewSaeVersion' => [ - 'description' => 'The application edition.'."\n" - ."\n" - .'- lite: the lightweight edition.'."\n" - .'- std: the standard edition.'."\n" - .'- pro: the professional edition.', - 'type' => 'string', - 'example' => 'pro', - ], - 'ResourceType' => [ - 'type' => 'string', - ], - 'EnableIdle' => [ - 'type' => 'string', - ], - ], - ], - ], - 'ImageUrl' => [ - 'description' => 'The image URL.', - 'type' => 'string', - 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0', - ], - 'PackageUrl' => [ - 'description' => 'The package URL.', - 'type' => 'string', - 'example' => 'https://sae-oss-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/apps/K8S_APP_ID/1421801774382676/adf2624a-66fd-4a2b-8caa-6921da******/hello-sae.jar', - ], - 'AppType' => [ - 'description' => 'The application type.', - 'type' => 'string', - 'example' => 'Image', - ], - 'NamespaceName' => [ - 'description' => 'The name of the namespace.', - 'type' => 'string', - 'example' => 'demo', - ], - 'IsStateful' => [ - 'type' => 'boolean', - ], - 'NewSaeVersion' => [ - 'description' => 'The application edition.'."\n" - ."\n" - .'- lite: the lightweight edition.'."\n" - .'- std: the standard edition.'."\n" - .'- pro: the professional edition.', - 'type' => 'string', - 'example' => 'pro', - ], - 'EnableIdle' => [ - 'description' => 'If the idle mode is enabled.', - 'type' => 'string', - 'example' => 'false', - ], - 'DiskSize' => [ - 'description' => 'The disk size. Unit: GB.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'VpcId' => [ - 'type' => 'string', - 'description' => 'VPC ID.', - ], - 'ResourceType' => [ - 'type' => 'string', - ], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'AppDescription' => ['description' => 'The description of the job template.', 'type' => 'string', 'example' => 'description', 'title' => ''], + 'TriggerConfig' => ['description' => 'The trigger configuration of the job. The configuration varies based on the job type.'."\n" + ."\n" + .'- **Scheduled task**: Set the **type** field to time, the **config** field to a Cron expression, and the **timezone** field to a specific time zone.'."\n" + .' Example: `{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}`'."\n" + ."\n" + .'- **One-time job**: Set the **type** field to http and configure the HTTP trigger rule in the **config** field. For more information, see [Request parameter SourceHttpEventParameters](https://help.aliyun.com/document_detail/347586.html#section-lp1-vq0-ho3).'."\n" + .' Example: `{"type":"http","config":{"type":"HTTPS","method":["GET"],"ip":[],"referer":[],"securityConfig":"none"}}`', 'type' => 'string', 'example' => '{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}', 'title' => ''], + 'Suspend' => ['description' => 'Indicates whether the job template is paused.', 'type' => 'boolean', 'example' => 'false', 'title' => ''], + 'Active' => ['description' => 'The number of running instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'Succeeded' => ['description' => 'The number of successful instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '3', 'title' => ''], + 'Failed' => ['description' => 'The number of failed instances.', 'type' => 'integer', 'format' => 'int64', 'example' => '0', 'title' => ''], + 'LastStartTime' => ['description' => 'The time when the last job was started.', 'type' => 'integer', 'format' => 'int64', 'example' => '1657522800', 'title' => ''], + 'CompletionTime' => ['description' => 'The time when the last job was completed.', 'type' => 'integer', 'format' => 'int64', 'example' => '1657522839', 'title' => ''], + 'LastChangeorderState' => ['description' => 'Indicates whether the last release order was successfully executed. Valid values:'."\n" + ."\n" + .'- **0**: The release order failed to be executed.'."\n" + ."\n" + .'- **1**: The release order was successfully executed.', 'type' => 'string', 'example' => '1', 'title' => ''], + 'LastJobState' => ['description' => 'The state of the last job. Valid values:'."\n" + ."\n" + .'- **0**: Not executed.'."\n" + ."\n" + .'- **1**: Successful.'."\n" + ."\n" + .'- **2**: Failed.'."\n" + ."\n" + .'- **3**: Running.', 'type' => 'string', 'example' => '0', 'title' => ''], + 'Cpu' => ['description' => 'The CPU required for each instance, in millicores. The value cannot be 0. Only the following defined specifications are supported:'."\n" + ."\n" + .'- **500**'."\n" + ."\n" + .'- **1000**'."\n" + ."\n" + .'- **2000**'."\n" + ."\n" + .'- **4000**'."\n" + ."\n" + .'- **8000**'."\n" + ."\n" + .'- **16000**'."\n" + ."\n" + .'- **32000**', 'type' => 'integer', 'format' => 'int32', 'example' => '500', 'title' => ''], + 'Mem' => ['description' => 'The memory required for each instance, in MB. The value cannot be 0. This parameter corresponds to the CPU parameter. Only the following defined specifications are supported:'."\n" + ."\n" + .'- **1024**: corresponds to 500 and 1,000 millicores of CPU.'."\n" + ."\n" + .'- **2048**: corresponds to 500, 1,000, and 2,000 millicores of CPU.'."\n" + ."\n" + .'- **4096**: corresponds to 1,000, 2,000, and 4,000 millicores of CPU.'."\n" + ."\n" + .'- **8192**: corresponds to 2,000, 4,000, and 8,000 millicores of CPU.'."\n" + ."\n" + .'- **12288**: corresponds to 12,000 millicores of CPU.'."\n" + ."\n" + .'- **16384**: corresponds to 4,000, 8,000, and 16,000 millicores of CPU.'."\n" + ."\n" + .'- **24576**: corresponds to 12,000 millicores of CPU.'."\n" + ."\n" + .'- **32768**: corresponds to 16,000 millicores of CPU.'."\n" + ."\n" + .'- **65536**: corresponds to 8,000, 16,000, and 32,000 millicores of CPU.'."\n" + ."\n" + .'- **131072**: corresponds to 32,000 millicores of CPU.', 'type' => 'integer', 'format' => 'int32', 'example' => '1024', 'title' => ''], + 'Message' => ['description' => 'Additional information about the call.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ImageUrl' => ['description' => 'The image URL.', 'type' => 'string', 'title' => '', 'example' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The returned error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'The ID of the request.'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Take note of the following rules:'."\n" - ."\n" - .'- **2xx**: The call was successful.'."\n" - .'- **3xx**: The call was redirected.'."\n" - .'- **4xx**: The call failed.'."\n" - .'- **5xx**: A server error occurred.', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**: The request was successful.'."\n" - .'* **false**: The request failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'CurrentPage' => [ - 'description' => 'The current page number.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The number of applications.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PageSize' => [ - 'description' => 'The page size.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, this parameter is not returned.'."\n" + ."\n" + .'- If the request fails, this parameter is returned. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The status of the interface or the POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: Redirection.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the list of job templates was obtained. Valid values:'."\n" + ."\n" + .'- **true**: The list was obtained.'."\n" + ."\n" + .'- **false**: The list failed to be obtained.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'CurrentPage' => ['description' => 'The current page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of job templates.', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Illegal.argument', - 'errorMessage' => 'Illegal argument', - ], + 404 => [ + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 2,\\n \\"PageSize\\": 20,\\n \\"Applications\\": [\\n {\\n \\"AppName\\": \\"demo-app\\",\\n \\"NamespaceId\\": \\"cn-beijing:demo\\",\\n \\"AppDeletingStatus\\": false,\\n \\"AppId\\": \\"f7730764-d88f-4b9a-8d8e-cd8efbfe****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"RunningInstances\\": 2,\\n \\"Instances\\": 2,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"AppDescription\\": \\"description\\",\\n \\"Cpu\\": 1000,\\n \\"Mem\\": 1024,\\n \\"MseEnabled\\": true,\\n \\"MseNamespaceId\\": \\"sae-ent\\",\\n \\"BaseAppId\\": \\"xxx-xxx-xx-xxx\\",\\n \\"ProgrammingLanguage\\": \\"java\\",\\n \\"Children\\": [\\n {\\n \\"AppName\\": \\"app1\\",\\n \\"NamespaceId\\": \\"cn-beijing:demo\\",\\n \\"AppDeletingStatus\\": false,\\n \\"AppId\\": \\"xxx-xxx-xxx-xxx\\",\\n \\"ScaleRuleEnabled\\": false,\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"RunningInstances\\": 2,\\n \\"Instances\\": 2,\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"AppDescription\\": \\"测试应用\\",\\n \\"Cpu\\": 2000,\\n \\"Mem\\": 2048,\\n \\"MseEnabled\\": true,\\n \\"BaseAppId\\": \\" ee99cce6-1c8e-4bfa-96c3-3e2fa9******\\",\\n \\"ProgrammingLanguage\\": \\"java\\",\\n \\"AppType\\": \\"Image\\",\\n \\"NamespaceName\\": \\"demo\\",\\n \\"IsStateful\\": true,\\n \\"NewSaeVersion\\": \\"pro\\",\\n \\"ResourceType\\": \\"\\",\\n \\"EnableIdle\\": \\"\\"\\n }\\n ],\\n \\"ImageUrl\\": \\"registry.cn-hangzhou.aliyuncs.com/sae-serverless-demo/sae-demo:microservice-java-provider-v1.0\\",\\n \\"PackageUrl\\": \\"https://sae-oss-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/apps/K8S_APP_ID/1421801774382676/adf2624a-66fd-4a2b-8caa-6921da******/hello-sae.jar\\",\\n \\"AppType\\": \\"Image\\",\\n \\"NamespaceName\\": \\"demo\\",\\n \\"IsStateful\\": true,\\n \\"NewSaeVersion\\": \\"pro\\",\\n \\"EnableIdle\\": \\"false\\",\\n \\"DiskSize\\": 20,\\n \\"VpcId\\": \\"\\",\\n \\"ResourceType\\": \\"\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 2,\\n \\"PageSize\\": 20\\n}","errorExample":""},{"type":"xml","example":"<ListApplicationsResponse>\\n <Message>success</Message>\\n <RequestId>B4D805CA-926D-41B1-8E63-7AD0C1ED****</RequestId>\\n <Data>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>2</TotalSize>\\n <PageSize>20</PageSize>\\n <Applications>\\n <AppName>demo-app</AppName>\\n <NamespaceId>cn-beijing:demo</NamespaceId>\\n <AppDeletingStatus>false</AppDeletingStatus>\\n <AppId>f7730764-d88f-4b9a-8d8e-cd8efbfe****</AppId>\\n <Tags>\\n <Key>key</Key>\\n <Value>value</Value>\\n </Tags>\\n <RunningInstances>2</RunningInstances>\\n <Instances>2</Instances>\\n <RegionId>cn-beijing</RegionId>\\n <AppDescription>description</AppDescription>\\n <Cpu>1000</Cpu>\\n <Mem>1024</Mem>\\n </Applications>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>2</TotalSize>\\n <PageSize>20</PageSize>\\n</ListApplicationsResponse>","errorExample":""}]', - 'title' => 'ListApplications', - 'summary' => 'Query a list of applications.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 2,\\n \\"PageSize\\": 20,\\n \\"Applications\\": [\\n {\\n \\"AppName\\": \\"demo-app\\",\\n \\"NamespaceId\\": \\"cn-beijing:demo\\",\\n \\"AppId\\": \\"f7730764-d88f-4b9a-8d8e-cd8efbfe****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"AppDescription\\": \\"description\\",\\n \\"TriggerConfig\\": \\"{\\\\\\"type\\\\\\":\\\\\\"time\\\\\\",\\\\\\"config\\\\\\":\\\\\\"0 1 */1 * ?\\\\\\",\\\\\\"timezone\\\\\\":\\\\\\"GMT+8:00\\\\\\"}\\",\\n \\"Suspend\\": false,\\n \\"Active\\": 0,\\n \\"Succeeded\\": 3,\\n \\"Failed\\": 0,\\n \\"LastStartTime\\": 1657522800,\\n \\"CompletionTime\\": 1657522839,\\n \\"LastChangeorderState\\": \\"1\\",\\n \\"LastJobState\\": \\"0\\",\\n \\"Cpu\\": 500,\\n \\"Mem\\": 1024,\\n \\"Message\\": \\"success\\",\\n \\"ImageUrl\\": \\"\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 2,\\n \\"PageSize\\": 20\\n}","type":"json"}]', + 'title' => 'ListJobs', + 'summary' => 'Retrieves a list of job templates.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'QueryResourceStatics' => [ - 'path' => '/pop/v1/paas/quota/queryResourceStatics', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6384', - 'abilityTreeNodes' => [ - 'FEATUREsae8U8CHA', - ], - ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => '7171a6ca-d1cd-4928-8642-7d5cfe69\\*\\*\\*\\*'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The response returned.', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '7CCF7092-72CA-4431-90D6-C7D98752****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n" - ."\n" - .'* **success** is returned when the request succeeds.'."\n" - .'* An error code is returned when the request fails.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. It can be used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => 'ac1a08a015623098794277264e****', - ], - 'Data' => [ - 'description' => 'The resource usage.'."\n", - 'type' => 'object', - 'properties' => [ - 'Summary' => [ - 'description' => 'The resource usage of the current month.'."\n", - 'type' => 'object', - 'properties' => [ - 'Cu' => [ - 'description' => 'The CU usage.', - 'type' => 'number', - 'format' => 'float', - 'example' => '2312145'."\n", - ], - 'Cpu' => [ - 'description' => 'The CPU usage. Unit: core per minute.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '3354', - ], - 'Memory' => [ - 'description' => 'The memory usage. Unit: GiB per minute.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '6708', - ], - 'ActiveCpu' => [ - 'description' => 'The usage of active vCPU. Unit: Core*min.', - 'type' => 'number', - 'format' => 'float', - 'example' => '10', - ], - 'IdleCpu' => [ - 'description' => 'The usage of idle CPU. Unit: Core*min.', - 'type' => 'number', - 'format' => 'float', - 'example' => '10', - ], - 'EphemeralStorage' => [ - 'description' => 'The storage size of the temporary storage space. Unit: GiB.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '20', - ], - 'GpuA10' => [ - 'type' => 'number', - 'format' => 'float', - 'example' => 'c8g1', - ], - 'GpuPpu810e' => [ - 'type' => 'number', - 'format' => 'float', - ], - ], - ], - 'RealTimeRes' => [ - 'description' => 'The real-time resource usage.'."\n", - 'type' => 'object', - 'properties' => [ - 'Cpu' => [ - 'description' => 'The CPU usage. Unit: core per minute.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '13', - ], - 'Memory' => [ - 'description' => 'The memory usage. Unit: GiB per minute.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '26', - ], - 'EphemeralStorage' => [ - 'description' => 'The storage size of the temporary storage space. Unit: GiB.', - 'type' => 'number', - 'format' => 'float', - 'example' => '0', - ], - ], - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. '."\n" - ."\n" - .'- The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'- The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.', - 'type' => 'string', - 'example' => 'Null', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the resource usage of an application was obtained. Valid values:'."\n" - ."\n" - .'* **true**: indicates that the resource usage was obtained.'."\n" - .'* **false**: indicates that the resource usage could not be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-10T07:32:19.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2023-03-30T11:11:44.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-11-22T13:03:50.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListJobs'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidServerlessRegion.Unsupported', - 'errorMessage' => 'The current region is not supported: %s', - ], - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - ], - 500 => [ - [ - 'errorCode' => 'Measuredata.Query.Error', - 'errorMessage' => 'An error occurred while querying measurement information.', - ], - ], - ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7CCF7092-72CA-4431-90D6-C7D98752****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a08a015623098794277264e****\\",\\n \\"Data\\": {\\n \\"Summary\\": {\\n \\"Cu\\": 2312145,\\n \\"Cpu\\": 3354,\\n \\"Memory\\": 6708,\\n \\"ActiveCpu\\": 10,\\n \\"IdleCpu\\": 10,\\n \\"EphemeralStorage\\": 20,\\n \\"GpuA10\\": 0,\\n \\"GpuPpu810e\\": 0\\n },\\n \\"RealTimeRes\\": {\\n \\"Cpu\\": 13,\\n \\"Memory\\": 26,\\n \\"EphemeralStorage\\": 0\\n }\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<QueryResourceStaticsResponse>\\n <RequestId>7CCF7092-72CA-4431-90D6-C7D98752****</RequestId>\\n <Message>success</Message>\\n <TraceId>ac1a08a015623098794277264e****</TraceId>\\n <Data>\\n <Summary>\\n <Cpu>3354</Cpu>\\n <Memory>6708</Memory>\\n </Summary>\\n <RealTimeRes>\\n <Cpu>13</Cpu>\\n <Memory>26</Memory>\\n </RealTimeRes>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</QueryResourceStaticsResponse>","errorExample":""}]', - 'title' => 'QueryResourceStatics', - 'summary' => 'Queries the resource usage of an application.', ], 'ListLogConfigs' => [ 'path' => '/pop/v1/sam/log/listLogConfigs', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25335,185 +19778,126 @@ 'systemTags' => [ 'operationType' => 'get', 'abilityTreeCode' => '6375', - 'abilityTreeNodes' => [ - 'FEATUREsaeI5LKBU', - ], + 'abilityTreeNodes' => ['FEATUREsaeI5LKBU'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '10'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '56f77b65-788d-442a-9885-7f20d91f****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '56f77b65-788d-442a-9885-7f20d91f****', 'title' => ''], ], [ 'name' => 'PageSize', 'in' => 'query', - 'schema' => [ - 'description' => '1'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '10', - ], + 'schema' => ['description' => 'The number of entries to return on each page. Valid values: 1 to 10000.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10', 'title' => ''], ], [ 'name' => 'CurrentPage', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], + 'schema' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The parameter returned.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The returned message.'."\n" - ."\n" - .'* **success** is returned when the request succeeds.'."\n" - .'* An error code is returned when the request fails.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The ID of the trace. It can be used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The logging configurations.'."\n", - 'type' => 'string', - 'example' => 'ac1d5e2c15671581252413581d****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID of the request. You can use the trace ID to query the details of the request.', 'type' => 'string', 'example' => 'ac1d5e2c15671581252413581d****', 'title' => ''], 'Data' => [ - 'description' => 'The logging configurations.'."\n", + 'description' => 'The information about the file logs.', 'type' => 'object', 'properties' => [ 'LogConfigs' => [ - 'description' => 'The details of the logging configuration.'."\n", + 'description' => 'The log configurations.', 'type' => 'array', 'items' => [ - 'description' => 'The configuration of logs.'."\n", + 'description' => 'The log configuration.', 'type' => 'object', 'properties' => [ - 'ConfigName' => [ - 'description' => 'The path of logs.'."\n", - 'type' => 'string', - 'example' => 'sae-1f240907a6faf58c653f09e81b7e****', - ], - 'LogDir' => [ - 'description' => 'The path of the log file (log source).'."\n", - 'type' => 'string', - 'example' => '/root/logs/hsf/hsf.log', - ], - 'SlsLogStore' => [ - 'description' => 'The time when the configuration was created.'."\n", - 'type' => 'string', - 'example' => 'sae-1f240907a6faf58c653f09e81b7e****', - ], - 'CreateTime' => [ - 'description' => 'The storage type of logs.'."\n", - 'type' => 'string', - 'example' => '2019-08-29 17:18:00', - ], - 'StoreType' => [ - 'description' => 'The ID of the Log Service project.'."\n", - 'type' => 'string', - 'example' => 'sls', - ], - 'SlsProject' => [ - 'description' => 'The type of the log. Set this value to **file_log**.'."\n", - 'type' => 'string', - 'example' => 'sae-56f77b65-788d-442a-9885-7f20d91f****', - ], - 'LogType' => [ - 'description' => 'The ID of the region.'."\n", - 'type' => 'string', - 'example' => 'file_log', - ], - 'RegionId' => [ - 'description' => 'The number of the returned page.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], + 'ConfigName' => ['description' => 'The name of the Simple Log Service configuration.', 'type' => 'string', 'example' => 'sae-1f240907a6faf58c653f09e81b7e****', 'title' => ''], + 'LogDir' => ['description' => 'The path of the log file. This is the log source.', 'type' => 'string', 'example' => '/root/logs/hsf/hsf.log', 'title' => ''], + 'SlsLogStore' => ['description' => 'The name of the Logstore in Simple Log Service.', 'type' => 'string', 'example' => 'sae-1f240907a6faf58c653f09e81b7e****', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the log configuration was created.', 'type' => 'string', 'example' => '2019-08-29 17:18:00', 'title' => ''], + 'StoreType' => ['description' => 'The storage class for Simple Log Service.', 'type' => 'string', 'example' => 'sls', 'title' => ''], + 'SlsProject' => ['description' => 'The ID of the Simple Log Service project.', 'type' => 'string', 'example' => 'sae-56f77b65-788d-442a-9885-7f20d91f****', 'title' => ''], + 'LogType' => ['description' => 'The log type. Only **file\\_log** is supported.', 'type' => 'string', 'example' => 'file_log', 'title' => ''], + 'RegionId' => ['description' => 'The region ID.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'CurrentPage' => [ - 'description' => 'The total number of returned entries.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'CurrentPage' => ['description' => 'The page number.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of entries.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'PageSize' => ['description' => 'The number of entries returned per page.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], ], - ], - 'ErrorCode' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'Indicates whether the logging configurations of an application were obtained. Valid values:'."\n" - ."\n" - .'* **true**: indicates that the configurations were obtained.'."\n" - .'* **false**: indicates that the configurations could not be obtained.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** list in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the list of application logs was obtained. Valid values:'."\n" + ."\n" + .'- **true**: The list was obtained.'."\n" + ."\n" + .'- **false**: The list failed to be obtained.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1d5e2c15671581252413581d****\\",\\n \\"Data\\": {\\n \\"LogConfigs\\": [\\n {\\n \\"ConfigName\\": \\"sae-1f240907a6faf58c653f09e81b7e****\\",\\n \\"LogDir\\": \\"/root/logs/hsf/hsf.log\\",\\n \\"SlsLogStore\\": \\"sae-1f240907a6faf58c653f09e81b7e****\\",\\n \\"CreateTime\\": \\"2019-08-29 17:18:00\\",\\n \\"StoreType\\": \\"sls\\",\\n \\"SlsProject\\": \\"sae-56f77b65-788d-442a-9885-7f20d91f****\\",\\n \\"LogType\\": \\"file_log\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ],\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 1,\\n \\"PageSize\\": 10\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListLogConfigsResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>ac1d5e2c15671581252413581d****</TraceId>\\n <Data>\\n <LogConfigs>\\n <ConfigName>sae-1f240907a6faf58c653f09e81b7e****</ConfigName>\\n <LogDir>/root/logs/hsf/hsf.log</LogDir>\\n <SlsLogStore>sae-1f240907a6faf58c653f09e81b7e****</SlsLogStore>\\n <CreateTime>2019-08-29 17:18:00</CreateTime>\\n <StoreType>sls</StoreType>\\n <SlsProject>sae-56f77b65-788d-442a-9885-7f20d91f****</SlsProject>\\n <LogType>file_log</LogType>\\n <RegionId>cn-beijing</RegionId>\\n </LogConfigs>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>1</TotalSize>\\n <PageSize>10</PageSize>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListLogConfigsResponse>","errorExample":""}]', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1d5e2c15671581252413581d****\\",\\n \\"Data\\": {\\n \\"LogConfigs\\": [\\n {\\n \\"ConfigName\\": \\"sae-1f240907a6faf58c653f09e81b7e****\\",\\n \\"LogDir\\": \\"/root/logs/hsf/hsf.log\\",\\n \\"SlsLogStore\\": \\"sae-1f240907a6faf58c653f09e81b7e****\\",\\n \\"CreateTime\\": \\"2019-08-29 17:18:00\\",\\n \\"StoreType\\": \\"sls\\",\\n \\"SlsProject\\": \\"sae-56f77b65-788d-442a-9885-7f20d91f****\\",\\n \\"LogType\\": \\"file_log\\",\\n \\"RegionId\\": \\"cn-beijing\\"\\n }\\n ],\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 1,\\n \\"PageSize\\": 10\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'ListLogConfigs', - 'summary' => 'Queries a list of application logs.', - ], - 'ListAppVersions' => [ - 'path' => '/pop/v1/sam/app/listAppVersions', - 'methods' => [ - 'get', + 'summary' => 'Returns a list of application logs.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:26.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-03-09T05:58:11.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListLogConfigs'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListLogConfigs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListNamespaceChangeOrders' => [ + 'path' => '/pop/v1/sam/changeorder/listNamespaceChangeOrders', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25523,297 +19907,327 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', - 'abilityTreeCode' => '6371', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'abilityTreeCode' => '75166', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'cn-shanghai:test', 'title' => ''], + ], + [ + 'name' => 'CoStatus', + 'in' => 'query', + 'schema' => ['description' => 'The change order status. Valid values:'."\n" + ."\n" + .'- **0**: Preparing.'."\n" + ."\n" + .'- **1**: Executing.'."\n" + ."\n" + .'- **2**: Succeeded.'."\n" + ."\n" + .'- **3**: Failed.'."\n" + ."\n" + .'- **6**: Terminated.'."\n" + ."\n" + .'- **10**: System Error.', 'type' => 'string', 'required' => false, 'example' => '2', 'title' => ''], + ], + [ + 'name' => 'CoType', + 'in' => 'query', + 'schema' => ['description' => 'The change order type. Valid values:'."\n" + ."\n" + .'- **CoBatchStartApplication**: Batch Start Application.'."\n" + ."\n" + .'- **CoBatchStopApplication**: Batch Stop Application.', 'type' => 'string', 'required' => false, 'example' => 'CoBatchStartApplication', 'title' => ''], + ], + [ + 'name' => 'Key', + 'in' => 'query', + 'schema' => ['description' => 'A keyword for a fuzzy search of change order descriptions. Change orders whose descriptions contain this **key** are returned.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'CurrentPage', + 'in' => 'query', + 'schema' => ['description' => 'The current page.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'PageSize', + 'in' => 'query', + 'schema' => ['description' => 'The page size.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The parameter returned.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The information about the versions.'."\n", - 'type' => 'string', - 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '0bc3915638507554994370d****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is returned only when a request fails.'."\n" + ."\n" + .'- For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code or POP error code.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Message' => ['description' => 'The response message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID, which is used to query the details of the request.', 'type' => 'string', 'example' => '0bc3915638507554994370d****', 'title' => ''], 'Data' => [ - 'description' => 'The information about the versions.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the versions.'."\n", - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The deployment method of the application. Valid values:'."\n" - ."\n" - .'* **image**: indicates that the application is deployed by using an image.'."\n" - .'* **url**: indicates that the application is deployed by using a code package.'."\n", - 'type' => 'string', - 'example' => 'image', - ], - 'CreateTime' => [ - 'description' => 'The download link of the WAR or JAR package. This parameter is returned when the **Type** parameter is set to **url**.'."\n", - 'type' => 'string', - 'example' => '1590124643553', - ], - 'BuildPackageUrl' => [ - 'description' => 'The URL of the code package. If you use the SAE console to upload the code package, take note of the following items:'."\n" - ."\n" - .'* You cannot download the URL. You must call the GetPackageVersionAccessableUrl operation to obtain the URL. The obtained URL is valid for 10 minutes.'."\n" - .'* SAE can retain the package up to 90 days. After 90 days, the URL cannot be returned or downloaded.'."\n", - 'type' => 'string', - 'example' => 'https://edas-hz.oss-cn-hangzhou.aliyuncs.com/apps/K8s_APP_ID/1d0e7884-60f0-41d2-89dd-ec1f3c69****/hello-sae.war', - ], - 'WarUrl' => [ - 'description' => 'The URL of the image.'."\n", - 'type' => 'string', - 'example' => 'registry-vpc.cn-hangzhou.aliyuncs.com/****/1362469756373809_shared_repo:42646692-66e7-4a21-b629-897752975cdf_159012464****', - ], - 'Id' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => 'a0ce266c-d354-423a-9bd6-4083405a****', + 'description' => 'The returned results.', + 'type' => 'object', + 'properties' => [ + 'CurrentPage' => ['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' => '20', 'title' => ''], + 'TotalSize' => ['description' => 'The total number of change orders.', 'type' => 'integer', 'format' => 'int32', 'example' => '32', 'title' => ''], + 'ChangeOrderList' => [ + 'description' => 'The list of change orders.', + 'type' => 'array', + 'items' => [ + 'description' => 'A change order.', + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'The status of the change order. Valid values:'."\n" + ."\n" + .'- **0**: Preparing'."\n" + ."\n" + .'- **1**: In progress'."\n" + ."\n" + .'- **2**: Succeeded'."\n" + ."\n" + .'- **3**: Failed'."\n" + ."\n" + .'- **6**: Terminated'."\n" + ."\n" + .'- **10**: Failed due to a system exception', 'type' => 'integer', 'format' => 'int32', 'example' => '2', 'title' => ''], + 'FinishTime' => ['description' => 'The completion time of the change order.', 'type' => 'string', 'example' => '2019-07-11 20:12:58', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-shanghai:test', 'title' => ''], + 'CreateTime' => ['description' => 'The creation time of the change order.', 'type' => 'string', 'example' => '2019-07-11 15:54:49', 'title' => ''], + 'UserId' => ['description' => 'The user ID.', 'type' => 'string', 'example' => 'test_sae', 'title' => ''], + 'Source' => ['description' => 'The initiation source for the change order.', 'type' => 'string', 'example' => 'console', 'title' => ''], + 'CreateUserId' => ['description' => 'The ID of the user who created the change order.', 'type' => 'string', 'example' => 'test@aliyun.com', 'title' => ''], + 'BatchCount' => ['description' => 'The batch count.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'CoTypeCode' => ['description' => 'The type code of the change order. Valid values:'."\n" + ."\n" + .'- **CoBatchStartApplication**: Starts applications in batches.'."\n" + ."\n" + .'- **CoBatchStopApplication**: Stops applications in batches.', 'type' => 'string', 'example' => 'CoBatchStartApplication', 'title' => ''], + 'ChangeOrderId' => ['description' => 'The change order ID.', 'type' => 'string', 'example' => '7fa5c0-9ebb-4bb4-b383-1f885447****', 'title' => ''], + 'BatchType' => ['description' => 'The batch type.', 'type' => 'string', 'example' => 'Automatic', 'title' => ''], + 'Description' => ['description' => 'The description of the change order.', 'type' => 'string', 'example' => 'Batch Start Applications', 'title' => ''], + 'GroupId' => ['description' => 'The group ID.', 'type' => 'string', 'example' => 'c9ecd2-cf6c-46c3-9f20-525de202****', 'title' => ''], + 'CoType' => ['description' => 'The type of the change order, which corresponds to the `CoTypeCode`.', 'type' => 'string', 'example' => 'msg.docker.app.actions.CoBatchStartApplication', 'title' => ''], + 'Pipelines' => ['description' => 'The pipeline.', 'type' => 'string', 'example' => 'xxxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'Indicates whether the historical versions of the application were obtained. Valid values:'."\n" - ."\n" - .'* **true**: indicates that the historical versions of the application were obtained.'."\n" - .'* **false**: indicates that the historical versions of the application could not be obtained.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], + ['errorCode' => 'Resouce.no.permission', 'errorMessage' => 'You are not authorized to operate on the specified resources.', 'description' => 'You are not authorized to operate on the specified resources.'], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Data\\": [\\n {\\n \\"Type\\": \\"image\\",\\n \\"CreateTime\\": \\"1590124643553\\",\\n \\"BuildPackageUrl\\": \\"https://edas-hz.oss-cn-hangzhou.aliyuncs.com/apps/K8s_APP_ID/1d0e7884-60f0-41d2-89dd-ec1f3c69****/hello-sae.war\\",\\n \\"WarUrl\\": \\"registry-vpc.cn-hangzhou.aliyuncs.com/****/1362469756373809_shared_repo:42646692-66e7-4a21-b629-897752975cdf_159012464****\\",\\n \\"Id\\": \\"a0ce266c-d354-423a-9bd6-4083405a****\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListAppVersionsResponse>\\n <Message>success</Message>\\n <RequestId>01CF26C7-00A3-4AA6-BA76-7E95F2A3****</RequestId>\\n <Data>\\n <Type>image</Type>\\n <CreateTime>1590124643553</CreateTime>\\n <BuildPackageUrl>https://edas-hz.oss-cn-hangzhou.aliyuncs.com/apps/K8s_APP_ID/1d0e7884-60f0-41d2-89dd-ec1f3c69****/hello-sae.war</BuildPackageUrl>\\n <WarUrl>registry-vpc.cn-hangzhou.aliyuncs.com/****/1362469756373809_shared_repo:42646692-66e7-4a21-b629-897752975cdf_159012464****</WarUrl>\\n <Id>a0ce266c-d354-423a-9bd6-4083405a****</Id>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListAppVersionsResponse>","errorExample":""}]', - 'title' => 'ListAppVersions', - 'summary' => 'Queries the deployment versions of an application.', - ], - 'RestartInstances' => [ - 'path' => '/pop/v1/sam/app/restartInstances', - 'methods' => [ - 'put', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"0bc3915638507554994370d****\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Success\\": true,\\n \\"Code\\": \\"200\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3915638507554994370d****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"PageSize\\": 20,\\n \\"TotalSize\\": 32,\\n \\"ChangeOrderList\\": [\\n {\\n \\"Status\\": 2,\\n \\"FinishTime\\": \\"2019-07-11 20:12:58\\",\\n \\"NamespaceId\\": \\"cn-shanghai:test\\",\\n \\"CreateTime\\": \\"2019-07-11 15:54:49\\",\\n \\"UserId\\": \\"test_sae\\",\\n \\"Source\\": \\"console\\",\\n \\"CreateUserId\\": \\"test@aliyun.com\\",\\n \\"BatchCount\\": 1,\\n \\"CoTypeCode\\": \\"CoBatchStartApplication\\",\\n \\"ChangeOrderId\\": \\"7fa5c0-9ebb-4bb4-b383-1f885447****\\",\\n \\"BatchType\\": \\"Automatic\\",\\n \\"Description\\": \\"Batch Start Applications\\",\\n \\"GroupId\\": \\"c9ecd2-cf6c-46c3-9f20-525de202****\\",\\n \\"CoType\\": \\"msg.docker.app.actions.CoBatchStartApplication\\",\\n \\"Pipelines\\": \\"xxxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => 'ListNamespaceChangeOrders', + 'summary' => 'Lists deployment orders in a namespace.', + 'changeSet' => [ + ['createdAt' => '2026-04-14T09:43:35.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNamespaceChangeOrders'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListNamespaceChangeOrders', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + 'translator' => 'machine', + ], + 'ListNamespacedConfigMaps' => [ + 'path' => '/pop/v1/sam/configmap/listNamespacedConfigMaps', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '8961', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6377', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '1daa7236-3844-4f36-b39a-605b0cc0****', - ], - ], - [ - 'name' => 'InstanceIds', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the instance to be restarted. Separate multiple instance IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'mysae-1daa7236-3844-4f36-b39a-605b0cc0caa6-*****', - ], + 'schema' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Take note of the following rules:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The response message. Valid values:'."\n" + ."\n" + .'- Returns **success** if the request is successful.'."\n" + ."\n" + .'- Returns an error message if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to trace the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The details of the application.'."\n", + 'description' => 'The data returned by the request.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order.'."\n", - 'type' => 'string', - 'example' => '5afa5b98-0c64-4637-983f-15eaa888****', + 'ConfigMaps' => [ + 'description' => 'The list of ConfigMap instances.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of each ConfigMap instance.', + 'type' => 'object', + 'properties' => [ + 'UpdateTime' => ['description' => 'The last update time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1593760185111', 'title' => ''], + 'Data' => ['description' => 'The key-value pairs of the ConfigMap instance.'."\n" + ."\n" + .'For more information about the ConfigMap, see [Manage and use configuration items](~~171326~~).', 'type' => 'object', 'example' => '{"k1":"v1","k2":"v2"}', 'title' => ''], + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-hangzhou', 'title' => ''], + 'Description' => ['description' => 'The description of the instance.', 'type' => 'string', 'example' => 'test-desc', 'title' => ''], + 'CreateTime' => ['description' => 'The creation time.', 'type' => 'integer', 'format' => 'int64', 'example' => '1593760185111', 'title' => ''], + 'RelateApps' => [ + 'description' => 'The associated applications.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of each application.', + 'type' => 'object', + 'properties' => [ + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'test-app', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'f16b4000-9058-4c22-a49d-49a28f0b****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'ConfigMapId' => ['description' => 'The ID of the ConfigMap instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + 'Name' => ['description' => 'The name of the instance.', 'type' => 'string', 'example' => 'test-name', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Take note of the following rules:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Specifies whether the instances are successfully restarted. Take note of the following rules:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'-'."\n" + ."\n" + .'- This parameter is returned only if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'Application.NotDeployYet', - 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"5afa5b98-0c64-4637-983f-15eaa888****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<RestartInstancesResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>5afa5b98-0c64-4637-983f-15eaa888****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</RestartInstancesResponse>","errorExample":""}]', - 'title' => 'RestartInstances', - 'summary' => 'Restarts one or more instances in an application.', - ], - 'GetAvailabilityMetric' => [ - 'path' => '/pop/v1/sam/getAvailabilityMetric', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ConfigMaps\\": [\\n {\\n \\"UpdateTime\\": 1593760185111,\\n \\"Data\\": {\\n \\"k1\\": \\"v1\\",\\n \\"k2\\": \\"v2\\"\\n },\\n \\"NamespaceId\\": \\"cn-hangzhou\\",\\n \\"Description\\": \\"test-desc\\",\\n \\"CreateTime\\": 1593760185111,\\n \\"RelateApps\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"f16b4000-9058-4c22-a49d-49a28f0b****\\"\\n }\\n ],\\n \\"ConfigMapId\\": 1,\\n \\"Name\\": \\"test-name\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListNamespacedConfigMaps', + 'summary' => 'Lists ConfigMap instances in a namespace.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNamespacedConfigMaps'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListNamespacedConfigMaps', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'ListPublishedServices' => [ + 'path' => '/pop/v1/sam/service/listPublishedServices', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -25822,185 +20236,122 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '14389', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6378', + 'abilityTreeNodes' => ['FEATUREsaeY046YN'], ], 'parameters' => [ [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'Limit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return. Valid values: 0 to 100.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '10', - ], - ], - [ - 'name' => 'AppSource', - 'in' => 'query', - 'schema' => [ - 'description' => 'The SAE application type. Valid values:'."\n" - ."\n" - .'* **micro_service**'."\n" - .'* **web**'."\n" - .'* **job**'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'micro_service', - ], - ], - [ - 'name' => 'CpuStrategy', + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU allocation policy. Valid values:'."\n" - ."\n" - .'* **request**: CPU cores are allocated only when a request is initiated.'."\n" - .'* **always**: Fixed CPU cores are always allocated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'always', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Message' => [ - 'description' => 'The additional information that is returned. The following limits are imposed on the ID:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '3A92C4EA-4C53-5A1C-8AEB-F2DB11982D5F', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- Returns **success** if the request is successful.'."\n" + ."\n" + .'- Returns an error code if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID for querying call details.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The data entries returned.'."\n", + 'description' => 'The list of published microservices.', 'type' => 'array', 'items' => [ - 'description' => 'The details about the aggregation type.'."\n", + 'description' => 'The details of the microservice.', 'type' => 'object', 'properties' => [ - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], - 'Name' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'RegionId' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'Runnings' => [ - 'description' => 'The current number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'Instances' => [ - 'description' => 'The expected number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'ErrorInstances' => [ - 'description' => 'The number of abnormal instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', + 'Type' => ['description' => 'The published service type.', 'type' => 'string', 'example' => 'RPC', 'title' => ''], + 'Groups' => [ + 'description' => 'The groups to which the service belongs.', + 'type' => 'array', + 'items' => ['description' => 'The group to which the service belongs.', 'type' => 'string', 'example' => 'HSF', 'title' => ''], + 'title' => '', + 'example' => '', ], - 'EnableAutoscale' => [ - 'description' => 'Indicates whether an auto scaling policy is enabled. Valid values:'."\n" - ."\n" - .'* **1**: An auto scaling policy is enabled.'."\n" - .'* **0**: No auto scaling policy is enabled.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', + 'Version' => ['description' => 'The published service version.', 'type' => 'string', 'example' => '1.0.0', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', 'title' => ''], + 'Group2Ip' => ['description' => 'A reserved field.', 'type' => 'string', 'example' => '{}', 'title' => ''], + 'Ips' => [ + 'description' => 'The service subscription addresses.', + 'type' => 'array', + 'items' => ['description' => 'The service subscription address.', 'type' => 'string', 'example' => '10.0.0.1', 'title' => ''], + 'title' => '', + 'example' => '', ], + 'Name' => ['description' => 'The published service name.', 'type' => 'string', 'example' => 'com.alibaba.nodejs.ItemService', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. The following limits are imposed on the ID:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the list of applications was obtained. The following limits are imposed on the ID:'."\n" - ."\n" - .'* **true**: The namespaces were obtained.'."\n" - .'* **false**: no'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- For more information about error codes, see the **Error codes** section.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurs.'."\n" + ."\n" + .'- **5xx**: A server error occurs.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": [\\n {\\n \\"Type\\": \\"RPC\\",\\n \\"Groups\\": [\\n \\"HSF\\"\\n ],\\n \\"Version\\": \\"1.0.0\\",\\n \\"AppId\\": \\"b2a8a925-477a-4ed7-b825-d5e22500****\\",\\n \\"Group2Ip\\": \\"{}\\",\\n \\"Ips\\": [\\n \\"10.0.0.1\\"\\n ],\\n \\"Name\\": \\"com.alibaba.nodejs.ItemService\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListPublishedServices', + 'summary' => 'Queries a list of published microservices.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:26.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListPublishedServices', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"3A92C4EA-4C53-5A1C-8AEB-F2DB1198****\\",\\n \\"Data\\": [\\n {\\n \\"AppId\\": \\"017f39b8-dfa4-4e16-a84b-1dcee4b1****\\",\\n \\"Name\\": \\"test\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Runnings\\": 1,\\n \\"Instances\\": 0,\\n \\"ErrorInstances\\": 0,\\n \\"EnableAutoscale\\": 0\\n }\\n ],\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<GetAvailabilityMetricResponse>\\n <Message>success</Message>\\n <RequestId>3A92C4EA-4C53-5A1C-8AEB-F2DB11982D5F</RequestId>\\n <Data>\\n <AppId>017f39b8-dfa4-4e16-a84b-1dcee4b1****</AppId>\\n <Name>test</Name>\\n <RegionId>cn-hangzhou</RegionId>\\n <Runnings>1</Runnings>\\n <Instances>0</Instances>\\n <ErrorInstances>0</ErrorInstances>\\n <EnableAutoscale>0</EnableAutoscale>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</GetAvailabilityMetricResponse>","errorExample":""}]', - 'title' => 'GetAvailabilityMetric', - 'summary' => 'Queries the top N applications in which abnormal instances exist. The applications are sorted by the total number of abnormal instances.', ], - 'DescribeAppServiceDetail' => [ - 'summary' => 'Queries the metadata details of the service of an application.', - 'path' => '/pop/v1/sam/service/describeAppServiceDetail', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListSecrets' => [ + 'summary' => 'Call ListSecrets to list Secrets in a namespace.', + 'path' => '/pop/v1/sam/secret/secrets', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -26009,8775 +20360,6020 @@ 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '101579', - 'abilityTreeNodes' => [ - 'FEATUREsaeUDWJ2L', - ], + 'abilityTreeCode' => '159992', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'title' => 'mse 的 appId', - 'description' => '6dcc8c9e-d3da-478a-a066-86dcf820\\*\\*\\*\\*'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '6dcc8c9e-d3da-478a-a066-86dcf820****', - ], - ], - [ - 'name' => 'ServiceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'springCloud'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'springCloud', - ], - ], - [ - 'name' => 'ServiceGroup', - 'in' => 'query', - 'schema' => [ - 'description' => 'springCloud'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'springCloud', - ], - ], - [ - 'name' => 'ServiceVersion', - 'in' => 'query', - 'schema' => [ - 'description' => '1.0.0'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.0', - ], - ], - [ - 'name' => 'ServiceName', - 'in' => 'query', - 'schema' => [ - 'description' => 'edas.service.provider'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'edas.service.provider', - ], - ], - [ - 'name' => 'NacosInstanceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the MSE Nacos instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'mse-cn-sco3r0u****', - ], - ], - [ - 'name' => 'NacosNamespaceId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the namespace for the MSE Nacos instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'public', - ], + 'schema' => ['description' => 'The ID of the namespace that contains the Secret. For the default namespace, use the region ID, such as `cn-beijing`.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'B2C7874F-F109-5B34-8618-2C10BBA2****', - ], - 'Message' => [ - 'description' => 'The returned information.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0b16399316402420740034918e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to query the details of a call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The data that is returned.'."\n", + 'description' => 'The response object.', 'type' => 'object', 'properties' => [ - 'Group' => [ - 'description' => 'The group to which the service belongs. You can create a custom group.'."\n", - 'type' => 'string', - 'example' => 'springCloud', - ], - 'ServiceName' => [ - 'description' => 'The name of the service.'."\n", - 'type' => 'string', - 'example' => 'service-provider', - ], - 'Version' => [ - 'description' => 'The version of the service. You can create a custom version.'."\n", - 'type' => 'string', - 'example' => '1.0.0', - ], - 'ServiceType' => [ - 'description' => 'The type of the service. Valid values:'."\n" - ."\n" - .'* **dubbo**'."\n" - .'* **springCloud**'."\n", - 'type' => 'string', - 'example' => 'springCloud', - ], - 'ServiceProtocol' => [ - 'description' => 'The protocol used by the service.'."\n", - 'type' => 'string', - 'example' => 'HTTP', - ], - 'ServicePorts' => [ - 'description' => 'The port used by the service.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The port number.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '8000', - ], - ], - 'ServiceTags' => [ - 'description' => 'The tag of the service.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The tag value of the service.'."\n", - 'type' => 'string', - 'example' => 'tag1', - ], - ], - 'EdasAppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'cn-zhangjiakou-micro-service-******', - ], - 'Metadata' => [ - 'description' => 'The metadata. Example: `{side: "provider", port: "18081", preserved: {register: {source: "SPRING_CLOUD"}},…}`.'."\n", - 'type' => 'object', - 'example' => '{side: "provider", port: "18081", preserved: {register: {source: "SPRING_CLOUD"}},…}', - ], - 'SpringApplicationName' => [ - 'description' => 'The name of the Spring Cloud application.'."\n", - 'type' => 'string', - 'example' => 'service-provider', - ], - 'DubboApplicationName' => [ - 'description' => 'The name of the Dubbo application.'."\n", - 'type' => 'string', - 'example' => 'service-consumer', - ], - 'Methods' => [ - 'description' => 'The methods.'."\n", + 'Secrets' => [ + 'description' => 'A list of Secret instances.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The details of a Secret instance.', 'type' => 'object', 'properties' => [ - 'MethodController' => [ - 'description' => 'The class to which the method belongs.'."\n", - 'type' => 'string', - 'example' => 'com.serverless.sae.controller.EchoController', - ], - 'ReturnType' => [ - 'description' => 'The data format of the response.'."\n", - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'ReturnDetails' => [ - 'description' => 'The details of the response.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Name' => [ - 'description' => 'The name of the method.'."\n", - 'type' => 'string', - 'example' => 'echo', - ], - 'NameDetail' => [ - 'description' => 'The details of the method.'."\n", - 'type' => 'string', - 'example' => 'description', - ], - 'ParameterDetails' => [ - 'description' => 'The details of the parameters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'description', - ], - ], - 'RequestMethods' => [ - 'description' => 'The request methods. Valid values:'."\n" - ."\n" - .'* **GET**'."\n" - .'* **ALL**'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'ALL', - ], - ], - 'ParameterTypes' => [ - 'description' => 'The types of the parameters.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => '["java.lang.String"]', - ], - ], - 'Paths' => [ - 'description' => 'The request paths. Format:'."\n" - ."\n" - .'`/path`'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'string', - 'example' => '["/echo/{str}"]', - ], - ], - 'ParameterDefinitions' => [ - 'description' => 'The definition of the parameter.'."\n", + 'NamespaceId' => ['description' => 'The namespace ID.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'SecretId' => ['description' => 'The Secret instance ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '16', 'title' => ''], + 'SecretName' => ['description' => 'The Secret instance name.', 'type' => 'string', 'example' => 'registry-auth', 'title' => ''], + 'SecretType' => ['description' => 'The type of the Secret instance. The only valid value is:'."\n" + ."\n" + .'**kubernetes.io/dockerconfigjson**: a Secret that stores credentials for a container image registry and is used to authenticate image pulls during deployment.', 'type' => 'string', 'example' => 'kubernetes.io/dockerconfigjson', 'title' => ''], + 'RelateApps' => [ + 'description' => 'The associated applications.', 'type' => 'array', 'items' => [ - 'description' => '', + 'description' => 'The details of an application.', 'type' => 'object', 'properties' => [ - 'Type' => [ - 'description' => 'The type of the parameter.'."\n", - 'type' => 'string', - 'example' => 'java.lang.String', - ], - 'Description' => [ - 'description' => 'The description of the parameter.'."\n", - 'type' => 'string', - 'example' => 'description', - ], - 'Name' => [ - 'description' => 'The name of the parameter.'."\n", - 'type' => 'string', - 'example' => 'arg0', - ], + 'AppName' => ['description' => 'The application name.', 'type' => 'string', 'example' => 'test-app', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => 'f16b4000-9058-4c22-a49d-49a28f0b****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'CreateTime' => ['description' => 'The time when the Secret instance was created.', 'type' => 'integer', 'format' => 'int64', 'example' => '1593760185111', 'title' => ''], + 'UpdateTime' => ['description' => 'The time when the Secret instance was last updated.', 'type' => 'integer', 'format' => 'int64', 'example' => '1593760185111', 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The returned error code. Valid values:'."\n" - ."\n" - .'- If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'- **2xx**: indicates that the call was successful.'."\n" - .'- **3xx**: indicates that the call was redirected.'."\n" - .'- **4xx**: indicates that the call failed.'."\n" - .'- **5xx**: indicates that a server error occurred.', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the meta data was obtained. Valid values:'."\n" - ."\n" - .'* **true**: The metadata was obtained.'."\n" - .'* **false**: The metadata failed to be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Micro.Service.MetaData.NotFound', - 'errorMessage' => 'The micro service metadata not found {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"B2C7874F-F109-5B34-8618-2C10BBA2****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0b16399316402420740034918e****\\",\\n \\"Data\\": {\\n \\"Group\\": \\"springCloud\\",\\n \\"ServiceName\\": \\"service-provider\\",\\n \\"Version\\": \\"1.0.0\\",\\n \\"ServiceType\\": \\"springCloud\\",\\n \\"ServiceProtocol\\": \\"HTTP\\",\\n \\"ServicePorts\\": [\\n 8000\\n ],\\n \\"ServiceTags\\": [\\n \\"tag1\\"\\n ],\\n \\"EdasAppName\\": \\"cn-zhangjiakou-micro-service-******\\",\\n \\"Metadata\\": {\\n \\"test\\": \\"test\\",\\n \\"test2\\": 1\\n },\\n \\"SpringApplicationName\\": \\"service-provider\\",\\n \\"DubboApplicationName\\": \\"service-consumer\\",\\n \\"Methods\\": [\\n {\\n \\"MethodController\\": \\"com.serverless.sae.controller.EchoController\\",\\n \\"ReturnType\\": \\"java.lang.String\\",\\n \\"ReturnDetails\\": \\"test\\",\\n \\"Name\\": \\"echo\\",\\n \\"NameDetail\\": \\"description\\",\\n \\"ParameterDetails\\": [\\n \\"description\\"\\n ],\\n \\"RequestMethods\\": [\\n \\"ALL\\"\\n ],\\n \\"ParameterTypes\\": [\\n \\"[\\\\\\"java.lang.String\\\\\\"]\\"\\n ],\\n \\"Paths\\": [\\n \\"[\\\\\\"/echo/{str}\\\\\\"]\\"\\n ],\\n \\"ParameterDefinitions\\": [\\n {\\n \\"Type\\": \\"java.lang.String\\",\\n \\"Description\\": \\"description\\",\\n \\"Name\\": \\"arg0\\"\\n }\\n ]\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeAppServiceDetailResponse>\\n <RequestId>B2C7874F-F109-5B34-8618-2C10BBA2****</RequestId>\\n <Message>success</Message>\\n <TraceId>0b16399316402420740034918e****</TraceId>\\n <Data>\\n <Group>springCloud</Group>\\n <ServiceName>service-provider</ServiceName>\\n <Version>1.0.0</Version>\\n <ServiceType>springCloud</ServiceType>\\n <EdasAppName>cn-zhangjiakou-micro-service-******</EdasAppName>\\n <SpringApplicationName>service-provider</SpringApplicationName>\\n <DubboApplicationName>service-consumer</DubboApplicationName>\\n <Methods>\\n <MethodController>com.serverless.sae.controller.EchoController</MethodController>\\n <ReturnType>java.lang.String</ReturnType>\\n <ReturnDetails>test</ReturnDetails>\\n <Name>echo</Name>\\n <NameDetail>description</NameDetail>\\n <ParameterDetails>description</ParameterDetails>\\n <RequestMethods>ALL</RequestMethods>\\n <ParameterTypes>[\\"java.lang.String\\"]</ParameterTypes>\\n <Paths>[\\"/echo/{str}\\"]</Paths>\\n <ParameterDefinitions>\\n <Type>java.lang.String</Type>\\n <Description>description</Description>\\n <Name>arg0</Name>\\n </ParameterDefinitions>\\n </Methods>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeAppServiceDetailResponse>","errorExample":""}]', - 'title' => 'DescribeAppServiceDetail', - ], - 'ListAppServicesPage' => [ - 'summary' => 'Queries the services of an application.', - 'path' => '/pop/v1/sam/service/listAppServicesPage', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Secrets\\": [\\n {\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"SecretId\\": 16,\\n \\"SecretName\\": \\"registry-auth\\",\\n \\"SecretType\\": \\"kubernetes.io/dockerconfigjson\\",\\n \\"RelateApps\\": [\\n {\\n \\"AppName\\": \\"test-app\\",\\n \\"AppId\\": \\"f16b4000-9058-4c22-a49d-49a28f0b****\\"\\n }\\n ],\\n \\"CreateTime\\": 1593760185111,\\n \\"UpdateTime\\": 1593760185111\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListSecrets', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-11-22T13:28:09.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSecrets'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:ListSecrets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListSwimmingLaneGatewayRoutes' => [ + 'summary' => 'Lists the gateway routes that can be associated with a swimming lane.', + 'path' => '/pop/v1/cas/gray/listSwimmingLaneGatewayRoutes', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '100639', - 'abilityTreeNodes' => [ - 'FEATUREsaeY046YN', - ], + 'operationType' => 'list', + 'abilityTreeCode' => '221887', + 'abilityTreeNodes' => ['FEATUREsaeX255DA'], ], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '6dcc8c9e-d3da-478a-a066-86dcf820****', - ], - ], - [ - 'name' => 'ServiceType', - 'in' => 'query', - 'schema' => [ - 'description' => 'The service type. Valid values:'."\n" - ."\n" - .'* **dubbo**'."\n" - .'* **springCloud**'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'springCloud', - ], - ], - [ - 'name' => 'PageNumber', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'PageSize', + 'name' => 'GatewayUniqueId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries returned on each page. Valid values: 0 to 9999.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '9999', - ], + 'schema' => ['description' => 'The unique ID of the gateway.', 'type' => 'string', 'required' => false, 'example' => 'gw-277c0727535f4aae917e48de0f******', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The data returned.'."\n", + 'title' => 'Schema of Response', + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '2583E089-99C2-562E-8B7E-73512136****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0be3e0c816394483660457498e****', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****'], + 'Message' => ['description' => 'The message returned for the request.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID of the request.', 'type' => 'string', 'example' => 'ac1a0b2215622246421415014e****', 'title' => ''], 'Data' => [ - 'description' => 'The details of services.'."\n", + 'description' => 'The list of gateway routes.', 'type' => 'array', 'items' => [ - 'description' => 'The details of services.'."\n", + 'description' => 'The details of a gateway route.', 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The page number of the current page.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The total number of returned pages.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'PageNumber' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page. Valid values: 0 to 9999.'."\n", - 'type' => 'string', - 'example' => '9999', - ], - 'Result' => [ - 'description' => 'The result returned.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The result returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'EdasAppName' => [ - 'description' => 'The name of the application.'."\n", - 'type' => 'string', - 'example' => 'cn-zhangjiakou-micro-service-******', - ], - 'Version' => [ - 'description' => 'The version of a service. You can create a custom version.'."\n", - 'type' => 'string', - 'example' => '1.0.0', - ], - 'InstanceNum' => [ - 'description' => 'The number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'EdasAppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'hc4fs1****@98314c8790b****', - ], - 'ServiceName' => [ - 'description' => 'The service name.'."\n", - 'type' => 'string', - 'example' => 'edas.service.provider', - ], - 'Group' => [ - 'description' => 'The group to which the service belongs. You can create a custom group.'."\n", - 'type' => 'string', - 'example' => 'springCloud', + 'RouteId' => ['description' => 'The route ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '16933', 'title' => ''], + 'RouteName' => ['description' => 'The route name.', 'type' => 'string', 'example' => 'test-route', 'title' => ''], + 'RoutePredicate' => [ + 'description' => 'The routing rule.', + 'type' => 'object', + 'properties' => [ + 'PathPredicate' => [ + 'description' => 'The path matching rule.', + 'type' => 'object', + 'properties' => [ + 'Path' => ['description' => 'The route path.', 'type' => 'string', 'example' => '/Path', 'title' => ''], + 'Type' => ['description' => 'The type of the rule.', 'type' => 'string', 'example' => 'Header'."\n", 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], ], + 'title' => '', + 'example' => '', ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** section of this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the microservice list was obtained. Valid values:'."\n" - ."\n" - .'* **true**: The list was obtained.'."\n" - .'* **false**: The list failed to be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is returned only if the request fails.'."\n" + ."\n" + .'- For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: Indicates a client error.'."\n" + ."\n" + .'- **5xx**: Indicates a server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Micro.Service.NotFound', - 'errorMessage' => 'The micro service not found {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'MseGatewayRule.CreateFailed', 'errorMessage' => 'Create MSE Gateway rule failed.', 'description' => 'Failed to create an MSE microservices gateway route.'], + ['errorCode' => 'InternalApiError', 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2583E089-99C2-562E-8B7E-73512136****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0be3e0c816394483660457498e****\\",\\n \\"Data\\": [\\n {\\n \\"CurrentPage\\": \\"1\\",\\n \\"TotalSize\\": \\"1\\",\\n \\"PageNumber\\": \\"1\\",\\n \\"PageSize\\": \\"9999\\",\\n \\"Result\\": [\\n {\\n \\"EdasAppName\\": \\"cn-zhangjiakou-micro-service-******\\",\\n \\"Version\\": \\"1.0.0\\",\\n \\"InstanceNum\\": 1,\\n \\"EdasAppId\\": \\"hc4fs1****@98314c8790b****\\",\\n \\"ServiceName\\": \\"edas.service.provider\\",\\n \\"Group\\": \\"springCloud\\"\\n }\\n ]\\n }\\n ],\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ListAppServicesPageResponse>\\n <RequestId>2583E089-99C2-562E-8B7E-73512136****</RequestId>\\n <Message>success</Message>\\n <TraceId>0be3e0c816394483660457498e****</TraceId>\\n <Data>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>1</TotalSize>\\n <PageNumber>1</PageNumber>\\n <PageSize>9999</PageSize>\\n <Result>\\n <EdasAppName>cn-zhangjiakou-micro-service-******</EdasAppName>\\n <Version>1.0.0</Version>\\n <InstanceNum>1</InstanceNum>\\n <EdasAppId>hc4fs1****@98314c8790b****</EdasAppId>\\n <ServiceName>edas.service.provider</ServiceName>\\n <Group>springCloud</Group>\\n </Result>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ListAppServicesPageResponse>","errorExample":""}]', - 'title' => 'ListAppServicesPage', - ], - 'DescribeApplicationNlbs' => [ - 'summary' => 'Queries the Network Load Balancer (NLB) instances bound to an application and their listeners.', - 'path' => '/pop/v1/sam/app/nlb', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": [\\n {\\n \\"RouteId\\": 16933,\\n \\"RouteName\\": \\"test-route\\",\\n \\"RoutePredicate\\": {\\n \\"PathPredicate\\": {\\n \\"Path\\": \\"/Path\\",\\n \\"Type\\": \\"Header\\\\n\\"\\n }\\n }\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListSwimmingLaneGatewayRoutes', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:26.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListSwimmingLaneGatewayRoutes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListSwimmingLaneGroupTags' => [ + 'summary' => 'Lists all swimming lane tags.', + 'path' => '/pop/v1/cas/gray/listSwimmingLaneGroupTags', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '261358', - 'abilityTreeNodes' => [ - 'FEATUREsaeBRTWZ3', - ], + 'operationType' => 'list', + 'abilityTreeCode' => '221498', + 'abilityTreeNodes' => ['FEATUREsaeX255DA'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], + ], + [ + 'name' => 'GroupId', + 'in' => 'query', + 'schema' => ['description' => 'The swimming lane group ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2074', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned. Valid values:If the request was successful, success is returned. If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622246421415014e****', - ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the NLB instance was successfully associated with the application. Valid values:'."\n" - ."\n" - .'* **true**: The application was associated.'."\n" - .'* **false**: The application failed to be associated.'."\n", - 'type' => 'string', - 'example' => 'true', - ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '30375C38-F4ED-4135-A0AE-5C75DC7F****'], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of a request.', 'type' => 'string', 'example' => 'ac1a0b2215622920113732501e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'Instances' => [ - 'description' => 'The details of the instance.'."\n", - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'object', - 'properties' => [ - 'DnsName' => [ - 'type' => 'string', - 'description' => 'The domain name.'."\n", - 'example' => 'nlb-wb7r6dlwetvt5j****.cn-hangzhou.nlb.aliyuncs.com', - ], - 'Listeners' => [ - 'type' => 'object', - 'additionalProperties' => [ - 'type' => 'object', - 'properties' => [ - 'Protocol' => [ - 'type' => 'string', - 'description' => 'The listener protocol.'."\n", - 'example' => 'TCPSSL', - ], - 'Port' => [ - 'type' => 'integer', - 'format' => 'int32', - 'description' => 'The listener port of the NLB instance.'."\n", - 'example' => '80', - ], - 'Status' => [ - 'type' => 'string', - 'example' => 'Bounded', - 'description' => 'The status of the NLB listener.'."\n" - ."\n" - .'* **Creating**: The listener is being created.'."\n" - .'* **Configuring**: The listener is being configured.'."\n" - .'* **Bounded**: The listener runs as expected.'."\n" - .'* **Unbinding**: The listener is being deleted.'."\n" - .'* **Failed**: The listener is unavailable.'."\n", - ], - 'TargetPort' => [ - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - 'description' => 'The open ports of the NLB instance.'."\n", - ], - 'CertIds' => [ - 'type' => 'string', - 'example' => '123157******', - 'description' => 'The server certificates.'."\n", - ], - ], - 'description' => 'The information about listeners.'."\n", - ], - 'description' => 'The listeners.'."\n", - ], - 'CreatedBySae' => [ - 'type' => 'boolean', - 'description' => 'Indicates whether the instance is created by SAE.'."\n" - ."\n" - .'* **true**: The instance is created by SAE.'."\n" - .'* **false**: The existing instance is reused.'."\n", - 'example' => 'true', - ], - ], - 'description' => 'The information about the instance.'."\n", - ], + 'description' => 'The data returned.', + 'type' => 'array', + 'items' => [ + 'description' => 'The details of a swimming lane tag.', + 'type' => 'object', + 'properties' => [ + 'Tag' => ['description' => 'The swimming lane tag.', 'type' => 'string', 'example' => 'g1'."\n", 'title' => ''], + 'Metadata' => ['description' => 'The metadata.', 'type' => 'string', 'example' => '{\\"tag\\":\\"g1\\",\\"priority\\":100,\\"type\\":\\"tag\\",\\"desc\\":\\"sys-label\\"}'."\n", 'title' => ''], ], + 'title' => '', + 'example' => '', ], + 'title' => '', + 'example' => '', ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'description' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'MseGatewayRule.CreateFailed', 'errorMessage' => 'Create MSE Gateway rule failed.', 'description' => 'Failed to create an MSE microservices gateway route.'], + ['errorCode' => 'InternalApiError', 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', 'description' => ''], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"30375C38-F4ED-4135-A0AE-5C75DC7F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"Data\\": [\\n {\\n \\"Tag\\": \\"g1\\\\n\\",\\n \\"Metadata\\": \\"{\\\\\\\\\\\\\\"tag\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"g1\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"priority\\\\\\\\\\\\\\":100,\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"tag\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"desc\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"sys-label\\\\\\\\\\\\\\"}\\\\n\\"\\n }\\n ],\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListSwimmingLaneGroupTags', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:26.000Z', 'description' => 'OpenAPI offline'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": \\"true\\",\\n \\"Data\\": {\\n \\"Instances\\": {\\n \\"key\\": {\\n \\"DnsName\\": \\"nlb-wb7r6dlwetvt5j****.cn-hangzhou.nlb.aliyuncs.com\\",\\n \\"Listeners\\": {\\n \\"key\\": {\\n \\"Protocol\\": \\"TCPSSL\\",\\n \\"Port\\": 80,\\n \\"Status\\": \\"Bounded\\",\\n \\"TargetPort\\": 8080,\\n \\"CertIds\\": \\"123157******\\"\\n }\\n },\\n \\"CreatedBySae\\": true\\n }\\n }\\n }\\n}","type":"json"}]', - 'title' => 'DescribeApplicationNlbs', - ], - 'BindNlb' => [ - 'summary' => 'Associates a Network Load Balancer (NLB) instance with an application.', - 'path' => '/pop/v1/sam/app/nlb', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListSwimmingLaneGroupTags', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListTagResources' => [ + 'path' => '/tags', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '259781', - 'abilityTreeNodes' => [ - 'FEATUREsaeBRTWZ3', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6379', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application to which the NLB instance is bound.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - ], - [ - 'name' => 'NlbId', + 'name' => 'RegionId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the NLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nlb-7z7jjbzz44d82c9***', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'Listeners', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The listener that you want to manage. The value is a string that consists of JSON arrays. Each listener contains the following fields:'."\n" - ."\n" - .'* **port**: the port number of the NLB listener. This field is required. Data type: integer. Valid values: 0 to 65535.'."\n" - .'* **TargetPort**: the port number of the container listener. This field is required. Data type: integer. Valid values: 0 to 65535.'."\n" - .'* **Protocol**: the listener protocol. This field is required. Data type: string. Valid values: TCP, UDP, and TCPSSL.'."\n" - .'* **CertIds**: the IDs of the server certificates. This field is optional. Data type: string. This field is supported only by TCPSSL listeners.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '', - ], + 'schema' => ['description' => 'The resource type. Only `application` is supported.', 'type' => 'string', 'required' => true, 'example' => 'application', 'title' => ''], ], [ - 'name' => 'ZoneMappings', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The mappings between zones and vSwitches. The value is a JSON string. You can specify at most 10 zones. If the region supports two or more zones, specify at least two zones. A ZoneMapping contains the following fields:'."\n" - ."\n" - .'* The ID of the vSwitch in the zone. Each zone can contain only one vSwitch and one subnet. Data type: string.'."\n" - .'* The zone ID of the NLB instance. Data type: string.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-sersdf****'."\n" - .'cn-hangzhou-a', - ], + 'schema' => ['description' => 'A query can return a maximum of 50 results. If the number of results exceeds this limit, the response includes a NextToken. To retrieve the next page of results, pass this token in your next request.', 'type' => 'string', 'required' => false, 'example' => 'A2RN', 'title' => ''], ], [ - 'name' => 'AddressType', + 'name' => 'ResourceIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the IP addresses. Valid values:'."\n" - ."\n" - .'* Internet: public endpoint.'."\n" - .'* Intranet: private endpoint.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Internet', - ], + 'schema' => ['description' => 'The resource IDs, specified as a JSON array of strings. This parameter is required if the **Tags** parameter is not specified.', 'type' => 'string', 'required' => false, 'example' => '["d42921c4-5433-4abd-8075-0e536f8b****"]', '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' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned. Valid values:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a06dfe717389800573793090e0589', - ], - 'Data' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order. The ID can be used to query the status of the change task.'."\n", - 'type' => 'string', - 'example' => 'ba386059-69b1-4e65-b1e5-0682d9fa****', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the applications were stopped. Valid values:'."\n" - ."\n" - .'* **true**: The applications were stopped.'."\n" - .'* **false**: The applications failed to be stopped.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a06dfe717389800573793090e0589\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"ba386059-69b1-4e65-b1e5-0682d9fa****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'BindNlb', - ], - 'DescribeApplicationSlbs' => [ - 'path' => '/pop/v1/sam/app/slb', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6323', - 'abilityTreeNodes' => [ - 'FEATUREsaeBRTWZ3', - ], - ], - 'parameters' => [ - [ - 'name' => 'AppId', + 'name' => 'Tags', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], + 'schema' => ['description' => 'The tags used to filter resources. This parameter is required if the **ResourceIds** parameter is not specified. A tag is a key-value pair.'."\n" + ."\n" + .'- **key**: The tag key. The key can be 1 to 128 characters in length.'."\n" + ."\n" + .'- **value**: The tag value. The value can be 1 to 128 characters in length.'."\n" + ."\n" + .'Tag keys and tag values are case-sensitive. If you specify multiple tags, the operation returns only resources that have all the specified tags.'."\n" + ."\n" + .'A tag key cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => '[{"key":"k1","value":"v1"}]', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The parameter returned.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The returned message.'."\n" - ."\n" - .'* **success** is returned when the request succeeds.'."\n" - .'* An error code is returned when the request fails.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The ID of the trace. It can be used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7414187F-4F59-4585-9BCF-5F0804E4****', 'title' => ''], + 'Message' => ['description' => 'The message returned for the request.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of a request.', 'type' => 'string', 'example' => '0bc5f84e15916043198032146d****', 'title' => ''], 'Data' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'Intranet' => [ - 'description' => 'The configurations of the internal-facing SLB instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The configurations of the internal-facing SLB instance.'."\n", - 'type' => 'object', - 'properties' => [ - 'HttpsCertId' => [ - 'description' => 'The supported protocol.'."\n", - 'type' => 'string', - 'example' => '1513561019707729_16f37aae5f3_-375882821_-169099****', - ], - 'Protocol' => [ - 'description' => 'The container port.'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - 'TargetPort' => [ - 'description' => 'The port specified for the SLB listener.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'Port' => [ - 'description' => 'The IP address of the Internet-facing SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'HttpsCaCertId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1513561019707729_16f37aae5f3_-375882821_-169099****', - ], - 'StickySession' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'StickySessionType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'insert', - ], - 'CookieTimeout' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '56', - ], - 'Cookie' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'wwe', - ], - 'CreateTime' => [ - 'description' => 'The timestamp when the canary release rule was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1741247308294', - ], - 'VServerGroupId' => [ - 'type' => 'string', - ], - 'EnableConnectionDrain' => [ - 'type' => 'boolean', - ], - 'ConnectionDrainTimeout' => [ - 'type' => 'integer', - 'format' => 'int32', - ], - ], - ], - ], - 'InternetIp' => [ - 'description' => 'The ID of the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => '59.74.**.**', - ], - 'InternetSlbId' => [ - 'description' => 'Configurations of Internet-facing SLB instances.'."\n", - 'type' => 'string', - 'example' => 'lb-uf6xc7wybefehnv45****', - ], - 'Internet' => [ - 'description' => 'The configurations of the Internet-facing SLB instance.'."\n", + 'NextToken' => ['description' => 'The token that is used to retrieve the next page of results. A query returns a maximum of 50 results. If the results are truncated, you can use this token in a subsequent request to retrieve the next page of results.', 'type' => 'string', 'example' => '""', 'title' => ''], + 'TagResources' => [ + 'description' => 'The list of tags and their associated resources.', 'type' => 'array', 'items' => [ - 'description' => 'The configurations of the Internet-facing SLB instance.'."\n", + 'description' => 'The details of a tag and the resource to which the tag is added.', 'type' => 'object', 'properties' => [ - 'HttpsCertId' => [ - 'description' => 'The supported protocol.'."\n", - 'type' => 'string', - 'example' => '1513561019707729_16f37aae5f3_-375882821_-169099****', - ], - 'Protocol' => [ - 'description' => 'The container port.'."\n", - 'type' => 'string', - 'example' => 'TCP', - ], - 'TargetPort' => [ - 'description' => 'The port specified for the SLB listener.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'Port' => [ - 'description' => 'The ID of the internal-facing SLB instance.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'HttpsCaCertId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '1513561019707729_16f37aae5f3_-375882821_-169099****', - ], - 'StickySession' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'StickySessionType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'insert', - ], - 'CookieTimeout' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '56', - ], - 'Cookie' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'wwe', - ], - 'CreateTime' => [ - 'description' => 'The timestamp when the canary release rule was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1741247308294'."\n", - ], - 'VServerGroupId' => [ - 'type' => 'string', - ], - 'EnableConnectionDrain' => [ - 'type' => 'boolean', - ], - 'ConnectionDrainTimeout' => [ - 'type' => 'integer', - 'format' => 'int32', - ], + 'ResourceType' => ['description' => 'The type of the resource. The value is fixed as `application`.', 'type' => 'string', 'example' => 'ALIYUN::SAE::APPLICATION', 'title' => ''], + 'TagValue' => ['description' => 'The value of the tag.', 'type' => 'string', 'example' => 'v1', 'title' => ''], + 'ResourceId' => ['description' => 'The ID of the application.', 'type' => 'string', 'example' => 'd42921c4-5433-4abd-8075-0e536f8b****', 'title' => ''], + 'TagKey' => ['description' => 'The key of the tag.', 'type' => 'string', 'example' => 'k1', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - ], - 'IntranetSlbId' => [ - 'description' => 'The IP address of the internal-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-uf6xc7wybefehnv45****', - ], - 'IntranetIp' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => '192.168.0.0', - ], - 'InternetSlbExpired' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'IntranetSlbExpired' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'false', - ], - 'InternetSlbChargeType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'PayBySpec', - ], - 'IntranetSlbChargeType' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'PayBySpec', - ], - 'AppId' => [ - 'type' => 'string', - ], - 'AppName' => [ - 'type' => 'string', - ], - 'ClusterId' => [ - 'type' => 'string', + 'title' => '', + 'example' => '', ], ], - ], - 'ErrorCode' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'Indicates whether the information about the SLB instances that are associated with an application was obtained successfully. Valid values:'."\n" - ."\n" - .'* **true**: indicates that the information was obtained successfully.'."\n" - .'* **false**: indicates that the information failed to be obtained.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is returned only if the request fails.'."\n" + ."\n" + .'- For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx** indicates that the request was successful.'."\n" + ."\n" + .'- **3xx** indicates that the request was redirected.'."\n" + ."\n" + .'- **4xx** indicates that a client-side error occurred.'."\n" + ."\n" + .'- **5xx** indicates that a server-side error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidResourceType.NotFound', 'errorMessage' => 'The specified resource type is not supported.', 'description' => ''], + ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The specified parameter Tags count exceed.', 'description' => ''], + ['errorCode' => 'Invalid.Param.Tag.Scope', 'errorMessage' => 'The specified parameter is invalid: tag scope.', 'description' => ''], + ['errorCode' => 'No.Permission', 'errorMessage' => 'The account has no permission.', 'description' => ''], + ['errorCode' => 'NumberExceed.ResourceIds', 'errorMessage' => 'The number of resource IDs cannot exceed 50.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7414187F-4F59-4585-9BCF-5F0804E4****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc5f84e15916043198032146d****\\",\\n \\"Data\\": {\\n \\"NextToken\\": \\"\\\\\\"\\\\\\"\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceType\\": \\"ALIYUN::SAE::APPLICATION\\",\\n \\"TagValue\\": \\"v1\\",\\n \\"ResourceId\\": \\"d42921c4-5433-4abd-8075-0e536f8b****\\",\\n \\"TagKey\\": \\"k1\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListTagResources', + 'summary' => 'Call the `ListTagResources` API to list the tags associated with your applications.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:26.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListTagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Intranet\\": [\\n {\\n \\"HttpsCertId\\": \\"1513561019707729_16f37aae5f3_-375882821_-169099****\\",\\n \\"Protocol\\": \\"TCP\\",\\n \\"TargetPort\\": 8080,\\n \\"Port\\": 80,\\n \\"HttpsCaCertId\\": \\"1513561019707729_16f37aae5f3_-375882821_-169099****\\",\\n \\"StickySession\\": false,\\n \\"StickySessionType\\": \\"insert\\",\\n \\"CookieTimeout\\": 56,\\n \\"Cookie\\": \\"wwe\\",\\n \\"CreateTime\\": 1741247308294,\\n \\"VServerGroupId\\": \\"\\",\\n \\"EnableConnectionDrain\\": true,\\n \\"ConnectionDrainTimeout\\": 0\\n }\\n ],\\n \\"InternetIp\\": \\"59.74.**.**\\",\\n \\"InternetSlbId\\": \\"lb-uf6xc7wybefehnv45****\\",\\n \\"Internet\\": [\\n {\\n \\"HttpsCertId\\": \\"1513561019707729_16f37aae5f3_-375882821_-169099****\\",\\n \\"Protocol\\": \\"TCP\\",\\n \\"TargetPort\\": 8080,\\n \\"Port\\": 80,\\n \\"HttpsCaCertId\\": \\"1513561019707729_16f37aae5f3_-375882821_-169099****\\",\\n \\"StickySession\\": false,\\n \\"StickySessionType\\": \\"insert\\",\\n \\"CookieTimeout\\": 56,\\n \\"Cookie\\": \\"wwe\\",\\n \\"CreateTime\\": 1741247308294,\\n \\"VServerGroupId\\": \\"\\",\\n \\"EnableConnectionDrain\\": true,\\n \\"ConnectionDrainTimeout\\": 0\\n }\\n ],\\n \\"IntranetSlbId\\": \\"lb-uf6xc7wybefehnv45****\\",\\n \\"IntranetIp\\": \\"192.168.XX.XX\\",\\n \\"InternetSlbExpired\\": false,\\n \\"IntranetSlbExpired\\": false,\\n \\"InternetSlbChargeType\\": \\"PayBySpec\\",\\n \\"IntranetSlbChargeType\\": \\"PayBySpec\\",\\n \\"AppId\\": \\"\\",\\n \\"AppName\\": \\"\\",\\n \\"ClusterId\\": \\"\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeApplicationSlbsResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Intranet>\\n <HttpsCertId>1513561019707729_16f37aae5f3_-375882821_-169099****</HttpsCertId>\\n <Protocol>TCP</Protocol>\\n <TargetPort>8080</TargetPort>\\n <Port>80</Port>\\n </Intranet>\\n <InternetIp>59.74.**.**</InternetIp>\\n <InternetSlbId>lb-uf6xc7wybefehnv45****</InternetSlbId>\\n <Internet>\\n <HttpsCertId>1513561019707729_16f37aae5f3_-375882821_-169099****</HttpsCertId>\\n <Protocol>TCP</Protocol>\\n <TargetPort>8080</TargetPort>\\n <Port>80</Port>\\n </Internet>\\n <IntranetSlbId>lb-uf6xc7wybefehnv45****</IntranetSlbId>\\n <IntranetIp>192.168.0.0</IntranetIp>\\n <InternetSlbExpired>false</InternetSlbExpired>\\n <IntranetSlbExpired>false</IntranetSlbExpired>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeApplicationSlbsResponse>","errorExample":""}]', - 'title' => 'DescribeApplicationSlbs', - 'summary' => 'Obtain the SLB configuration of an application.', ], - 'BindSlb' => [ - 'path' => '/pop/v1/sam/app/slb', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListWebApplicationInstances' => [ + 'summary' => 'Query the list of web application instances.', + 'path' => '/pop/v2/api/web/applications-observability/{ApplicationId}/instances', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'tags' => [], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '6297', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'list', + 'abilityTreeCode' => '225949', + 'abilityTreeNodes' => ['FEATUREsaeUWY6ZL'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => '0099b7be-5f5b-4512-a7fc-56049ef1\\*\\*\\*\\*'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'Internet', + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '614a6500-fddb-464d-a549-408a07******'], + ], + [ + 'name' => 'InstanceIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '\\[{"port":80,"targetPort":8080,"protocol":"TCP"}]'."\n", - 'type' => 'string', + 'description' => 'The instance ID.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The instance ID. Separate multiple instance IDs with commas (,).'."\n", 'type' => 'string', 'required' => false, 'example' => 'c-668727a8-17d86664-41e5bb******,c-668727a8-17d86664-7e4958******', 'title' => ''], 'required' => false, - 'example' => '[{"port":80,"targetPort":8080,"protocol":"TCP"}]', + 'example' => 'c-667d143a-17b4e0fa-46d3a2******', + 'title' => '', ], ], [ - 'name' => 'Intranet', + 'name' => 'VersionIds', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '\\[{"port":80,"targetPort":8080,"protocol":"TCP"}]'."\n", - 'type' => 'string', + 'description' => 'The ID of the application version.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The list of secret versions.'."\n", 'type' => 'string', 'required' => false, 'example' => '001', 'title' => ''], 'required' => false, - 'example' => '[{"port":80,"targetPort":8080,"protocol":"TCP"}]', + 'example' => '001', + 'title' => '', ], ], [ - 'name' => 'InternetSlbId', + 'name' => 'Statuses', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'lb-bp1tg0k6d9nqaw7l1\\*\\*\\*\\*'."\n", - 'type' => 'string', + 'description' => 'The status of the application instance.'."\n", + 'type' => 'array', + 'items' => ['description' => 'The status of the application instance:'."\n" + ."\n" + .'* Busy: indicates that the request is being processed.'."\n" + .'* Idle: indicates that the instance is ready and in the standby state.'."\n", 'type' => 'string', 'required' => false, 'example' => 'Busy', 'title' => ''], 'required' => false, - 'example' => 'lb-bp1tg0k6d9nqaw7l1****', + 'example' => 'Running', + 'title' => '', ], ], [ - 'name' => 'IntranetSlbId', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'lb-bp1tg0k6d9nqaw7l1\\*\\*\\*\\*'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'lb-bp1tg0k6d9nqaw7l1****', - ], + 'schema' => ['description' => 'The number of application instances returned.'."\n", 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], [ - 'name' => 'InternetSlbChargeType', + 'name' => 'StartTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of an Internet-facing SLB instance. The following billing methods are supported:'."\n" - ."\n" - .'* **PayBySpec**: Pay-by-specification.'."\n" - .'* **PayByCLCU**: Pay-by-CLCU.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayBySpec', - ], + 'schema' => ['description' => 'The time when the task was created.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1562831689704', 'title' => ''], ], [ - 'name' => 'IntranetSlbChargeType', + 'name' => 'EndTime', 'in' => 'query', - 'schema' => [ - 'description' => 'The billing method of an Internal-facing SLB instance. The following billing methods are supported:'."\n" - ."\n" - .'* **PayBySpec**: Pay-by-specification.'."\n" - .'* **PayByCLCU**: Pay-by-CLCU.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PayBySpec', - ], + 'schema' => ['description' => 'The time when the operation ended.'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1715567192', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'schema' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. It can be used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order. It can be used to query the task status.'."\n", - 'type' => 'string', - 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code.'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'* The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: indicates that the request was successful.'."\n" - .'* **3xx**: indicates that the request was redirected.'."\n" - .'* **4xx**: indicates that the request was invalid.'."\n" - .'* **5xx**: indicates that a server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the SLB instance was successfully associated with the application. Valid values:'."\n" - ."\n" - .'* **true**: The SLB instance was successfully associated with the application.'."\n" - .'* **false**: The SLB instance could not be associated with the application.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/ListWebApplicationInstancesBody', 'example' => ''], + 'examples' => [], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Slb.NotFound', - 'errorMessage' => 'The SLB instance does not exist: slbId [%s]', - ], - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'SlbHttpsCert.NotConsistent', - 'errorMessage' => 'The HTTPS listening certificate for each listener must match.', - ], - [ - 'errorCode' => 'SlbHttpsCert.NotFound', - 'errorMessage' => 'You must configure the certificate before you configure HTTPS listening for the SLB instance.', - ], - [ - 'errorCode' => 'SlbListenerPort.NotAvailable', - 'errorMessage' => 'The SLB listening port is unavailable: slbId [%s], port [%s]', - ], - [ - 'errorCode' => 'SlbListenerType.Invalid', - 'errorMessage' => 'An SLB listener type error occurred. Only HTTPS and TCP are supported.', - ], - [ - 'errorCode' => 'SlbSpec.NotSupport', - 'errorMessage' => 'Shared performance SLB instances are not supported.', - ], - [ - 'errorCode' => 'SlbType.Invalid', - 'errorMessage' => 'An SLB network type error occurred.', - ], - [ - 'errorCode' => 'SSLCert.NotFound', - 'errorMessage' => 'The specified SSL certificate cannot be found.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'Application.NotDeployYet', - 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', - ], - [ - 'errorCode' => 'InvalidParam.ProtocolNotSupport', - 'errorMessage' => 'Only TCP protocol is supported.', - ], - [ - 'errorCode' => 'SLBInstanceQuota.OverQuota', - 'errorMessage' => 'The total number of SLB instances exceeds the quota. Please reduce the instances and try again.', - ], - [ - 'errorCode' => 'Slb.Tag.Not.Qualified', - 'errorMessage' => 'The current SLB instance cannot be reused because it may have been occupied by %s.', - ], - [ - 'errorCode' => 'Application.NoInstanceAvailable', - 'errorMessage' => 'No instance is available for the application. Please scale out and try again.', - ], - [ - 'errorCode' => 'SlbAppVSwitch.NotMatch', - 'errorMessage' => 'The SLB instance does not match the vSwitch of the current application.', - ], - ], - 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Data\\": {\\n \\"WebInstances\\": [\\n {\\n \\"InstanceId\\": \\"c-66691780-1522405d-3021e1******\\",\\n \\"VersionId\\": \\"1\\",\\n \\"ImageUrl\\": \\"registry.cn-hangzhou.aliyuncs.com/sae_test/******:0.0.1\\",\\n \\"Status\\": \\"Idle\\"\\n }\\n ],\\n \\"CurrentError\\": \\"无\\",\\n \\"WebVersionStatus\\": {\\n \\"key\\": {\\n \\"ErrorMessage\\": \\"空\\",\\n \\"Status\\": \\"Completed\\"\\n }\\n }\\n },\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListWebApplicationInstances', + 'description' => 'Query the list of web application instances.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:04.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListWebApplicationInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<BindSlbResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>01db03d3-3ee9-48b3-b3d0-dfce2d88****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</BindSlbResponse>","errorExample":""}]', - 'title' => 'BindSlb', - 'summary' => 'Binds a Server Load Balancer (SLB) instance to the application.', ], - 'UnbindSlb' => [ - 'path' => '/pop/v1/sam/app/slb', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListWebApplicationRevisions' => [ + 'summary' => 'Query the list of web application versions.', + 'path' => '/pop/v2/api/web/application-revisions/{ApplicationId}/revisions', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'tags' => [], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '6395', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'list', + 'abilityTreeCode' => '225950', + 'abilityTreeNodes' => ['FEATUREsae37J6Z9'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai'], ], [ - 'name' => 'Internet', + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '7e41aff0-9eca-45c9-ac48-675e09******'], + ], + [ + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disassociate the Internet-facing SLB instance. Valid values:'."\n" - ."\n" - .'* **true**: dissociates the Internet-facing SLB instance.'."\n" - .'* **false**: does not dissociate the Internet-facing SLB instance.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The pagination token.'."\n", 'type' => 'string', 'required' => false, 'example' => '1'], ], [ - 'name' => 'Intranet', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to disassociate the internal-facing SLB instance. Valid values:'."\n" - ."\n" - .'* **true**: dissociates the internal-facing SLB instance.'."\n" - .'* **false**: does not dissociate the internal-facing SLB instance.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The number of applications returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], ], 'responses' => [ 200 => [ - 'schema' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The returned result.'."\n", - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order. The ID can be used to query the status of the change task.'."\n", - 'type' => 'string', - 'example' => '4a815998-b468-4bea-b7d8-59f52a44****', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the internal-facing or Internet-facing SLB instance was disassociated. Valid values:'."\n" - ."\n" - .'* **true**: The SLB instance was disassociated.'."\n" - .'* **false**: The SLB instance failed to be disassociated.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/ListWebApplicationRevisionsBody', 'example' => ''], + 'examples' => [], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'Application.NotDeployYet', - 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"NextToken\\": \\"\\",\\n \\"Revisions\\": [\\n {\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"RevisionId\\": \\"\\",\\n \\"Weight\\": 0\\n }\\n ]\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListWebApplicationRevisions', + 'description' => 'Query the list of web application versions.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:03.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListWebApplicationRevisions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4a815998-b468-4bea-b7d8-59f52a44****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UnbindSlbResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <ChangeOrderId>4a815998-b468-4bea-b7d8-59f52a44****</ChangeOrderId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UnbindSlbResponse>","errorExample":""}]', - 'title' => 'UnbindSlb', - 'summary' => 'Disassociates an internal-facing or Internet-facing SLB instance from an application.', ], - 'UnbindNlb' => [ - 'summary' => 'Calls the UnbindNlb operation to delete an NLB listener bound for application access', - 'path' => '/pop/v1/sam/app/nlb', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'https', - ], + 'ListWebApplications' => [ + 'summary' => 'Query the list of web applications.', + 'path' => '/pop/v2/api/web/applications', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'tags' => [], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'readAndWrite', - 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '261343', - 'abilityTreeNodes' => [ - 'FEATUREsaeBRTWZ3', - ], + 'operationType' => 'list', + 'abilityTreeCode' => '181738', + 'abilityTreeNodes' => ['FEATUREsaeUWY6ZL'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'title' => 'A short description of struct', - 'description' => 'A short description of struct'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'NlbId', + 'name' => 'Prefix', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of NLB instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nlb-7z7jjbzz44d82c9***', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The prefix of the application name.'."\n", 'type' => 'string', 'required' => false, 'example' => 'my-application'], ], [ - 'name' => 'Protocol', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the protocol. Valid values:'."\n" - ."\n" - .'* **TCP**.'."\n" - .'* **UDP**.'."\n" - .'* **TCPSSL**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'TCP', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The pagination token.'."\n", 'type' => 'string', 'required' => false, 'example' => 'MTIzNCNhYmM'], ], [ - 'name' => 'Port', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'The listener port of the instance. Valid values: 0 to 65535.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3306', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The number of applications returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], ], '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' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned. Valid values:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a981dd515966966104121683d****', - ], - 'Data' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order. The ID can be used to query the status of the change task.'."\n", - 'type' => 'string', - 'example' => 'ba386059-69b1-4e65-b1e5-0682d9fa****', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The status code. Valid values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** section of this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the internal-facing or Internet-facing NLB instance was disassociated. Valid values:'."\n" - ."\n" - .'* **true**: The NLB instance was disassociated.'."\n" - .'* **false**: The NLB instance failed to be disassociated.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/ListWebApplicationsBody', 'example' => ''], + 'examples' => [], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"NextToken\\": \\"\\",\\n \\"WebApplicationWithInstanceCount\\": [\\n {\\n \\"WebApplication\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"InstanceCount\\": 0\\n }\\n ]\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListWebApplications', + 'description' => 'Call the ListWebApplications operation to query the list of web applications.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:02.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListWebApplications', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"ba386059-69b1-4e65-b1e5-0682d9fa****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'UnbindNlb', ], - 'CreateApplicationScalingRule' => [ - 'path' => '/pop/v1/sam/scale/applicationScalingRule', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ListWebCustomDomains' => [ + 'summary' => 'Query available custom domain names.', + 'path' => '/pop/v2/api/web/custom-domains', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'tags' => [], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', - 'deprecated' => false, + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '6304', - 'abilityTreeNodes' => [ - 'FEATUREsae5HLO11', - ], + 'operationType' => 'list', + 'abilityTreeCode' => '225952', + 'abilityTreeNodes' => ['FEATUREsae5U7VP0'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'ApplicationId', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the auto scaling policy. The name must be unique in an application, and can be up to 32 characters in length. It must start with a lowercase letter and can contain only lowercase letters, digits, and hyphens (-).'."\n" - ."\n" - .'> You cannot change the names of created auto scaling policies.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'timer-0800-2100', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => false, 'example' => '7e41aff0-9eca-45c9-ac48-675e09******'], ], [ - 'name' => 'ScalingRuleType', + 'name' => 'Prefix', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the auto scaling policy. Take note of the following rules:'."\n" - ."\n" - .'* **timing**: a scheduled auto scaling policy.'."\n" - .'* **metric**: a metric-based auto scaling policy.'."\n" - .'* **mix**: a hybrid auto scaling policy.'."\n" - ."\n" - .'> '."\n" - ."\n" - .'* If you set this parameter to timing, the ScalingRuleTimer parameter must be specified.'."\n" - ."\n" - .'* If you set this parameter to metric, the ScalingRuleMetric parameter must be specified.'."\n" - ."\n" - .'* If you set this parameter to mix, the ScalingRuleMetric parameter must be specified. You can specify the ScalingRuleTimer parameter based on your business requirements.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'timing', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The prefix of the custom domain name that you want to query.'."\n", 'type' => 'string', 'required' => false, 'example' => 'remoteresult'], ], [ - 'name' => 'ScalingRuleTimer', + 'name' => 'NextToken', 'in' => 'query', - 'schema' => [ - 'description' => 'The configuration of the scheduled elasticity policy. This parameter is required if you select Scheduled Scaling Policy or Use SDK to Set.'."\n" - ."\n" - .'The following table describes the parameters.'."\n" - ."\n" - .'* **beginDate** and **endDate**: **beginDate** is the start date and **endDate** is the end date, which is used to configure the timing Auto Scaling policy. Valid values:'."\n" - ."\n" - .' * If both values are **null**, long-term execution is performed. This is the default value.'."\n" - .' * If the value is a specific date, for example, the **beginDate** is **2021-03-25** and the **endDate** is **2021-04-25**, the validity period is one month.'."\n" - ."\n" - .'* **period**: The period during which the timed Auto Scaling policy is executed. Valid values:'."\n" - ."\n" - .' * **\\* \\* \\***: The scheduled policy is executed at a specified time every day.'."\n" - ."\n" - .' * **\\* \\* Fri,Mon**: The scheduled policy is executed at the specified time on the specified number of days per week. You can select multiple time zones. The time zone is GMT +8. Valid values:'."\n" - ."\n" - .' * **Sun**: Sunday'."\n" - .' * **Mon**: Monday'."\n" - .' * **Tue**: Tuesday'."\n" - .' * **Wed**: Wednesday'."\n" - .' * **Thu**: Thursday'."\n" - .' * **Fri**: Friday'."\n" - .' * **Sat**: Saturday'."\n" - ."\n" - .' * **1,2,3,28,31 \\* \\***: The scheduled auto scaling policy is executed at a specified point in time on one or more dates of each month. Valid values: 1 to 31. If a month does not have the 31st day, the auto scaling policy is executed on the specified days other than the 31st day.'."\n" - ."\n" - .'* **schedules**: the points in time at which the scheduled auto scaling policy is triggered and the number of application instances that are retained during the time periods. You can specify up to 20 points in time. The following list describes the involved parameters:'."\n" - ."\n" - .' * **atTime**: the point in time at which the policy is triggered. **targetReplicas**: the number of application instances that you want to retain during the corresponding time period or the minimum number of available instances required for each deployment.****'."\n" - ."\n" - .' * **Valid values: 1 to 50.** Valid values: 1 to 50.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note**Make sure that at least one instance is available during the application deployment and rollback to prevent your business from being interrupted. If you set the value to **0**, business interruptions occur when the application is updated. If you set the value to **0**, business interruptions occur when the application is updated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"beginDate":null,"endDate":null,"period":"* * *","schedules":[{"atTime":"08:00","targetReplicas":10},{"atTime":"20:00","targetReplicas":3}]}', - ], + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The pagination token.'."\n", 'type' => 'string', 'required' => false, 'example' => 'A2RN'], ], [ - 'name' => 'ScalingRuleMetric', + 'name' => 'Limit', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations of the metric-based auto scaling policy. This parameter is required if you set the ScalingRuleType parameter to metric.'."\n" - ."\n" - .'The following list describes the involved parameters:'."\n" - ."\n" - .'* **maxReplicas**: the maximum number of instances in the application.'."\n" - ."\n" - .'* **minReplicas**: the minimum number of instances in the application.'."\n" - ."\n" - .'* **metricType**: the metric that is used to trigger the auto scaling policy.'."\n" - ."\n" - .' * **CPU**: the CPU utilization.'."\n" - .' * **MEMORY**: the memory usage.'."\n" - .' * **QPS**: the average QPS within 1 minute per Java application instance.'."\n" - .' * **RT**: the average response time of all API operations within 1 minute in the Java application.'."\n" - .' * **tcpActiveConn**: the average number of active TCP connections within 30 seconds per instance.'."\n" - .' * **SLB_QPS**: the average QPS of the Internet-facing SLB instance within 15 seconds per instance.'."\n" - .' * **SLB_RT**: the average response time of the Internet-facing SLB instance within 15 seconds.'."\n" - .' * **INTRANET_SLB_QPS**: the average QPS of the internal-facing SLB instance within 15 seconds per instance.'."\n" - .' * **INTRANET_SLB_RT**: the average response time of the internal-facing SLB instance within 15 seconds.'."\n" - ."\n" - .'* **metricTargetAverageUtilization**: the limit on the metric that is specified by **metricType**. You can specify following limits:'."\n" - ."\n" - .' * The limit on the CPU utilization. Unit: percentage.'."\n" - .' * The limit on the memory usage. Unit: percentage.'."\n" - .' * The limit on the QPS.'."\n" - .' * The limit on the response time. Unit: milliseconds.'."\n" - .' * The limit on the average number of active TCP connections per second.'."\n" - .' * The limit on the QPS of the Internet-facing SLB instance.'."\n" - .' * The limit on the response time of the Internet-facing SLB instance. Unit: milliseconds.'."\n" - .' * The limit on the QPS of the internal-facing SLB instance.'."\n" - .' * The limit on the response time of the internal-facing SLB instance. Unit: milliseconds.'."\n" - ."\n" - .'* **slbId**: the ID of the SLB instance.'."\n" - ."\n" - .'* **slbProject**: the Simple Log Service (SLS) project.'."\n" - ."\n" - .'* **slbLogstore**: the SLS Logstore.'."\n" - ."\n" - .'* **vport**: the listener port of the SLB instance. HTTP and HTTPS are supported.'."\n" - ."\n" - .'* **scaleUpRules**: the scale-out rules.'."\n" - ."\n" - .'* **scaleDownRules**: the scale-in rule.'."\n" - ."\n" - .'* **step**: the scale-out or scale-in step size. This parameter specifies the maximum number of instances that can be added or removed per unit time.'."\n" - ."\n" - .'* **disabled**: specifies whether to disable the application scale-in. If you set this parameter to true, the application instances are never reduced. This prevents business risks during peak hours.'."\n" - ."\n" - .' * **true**: disables the application scale-in.'."\n" - .' * **false**: enables the application scale-in. Default value: false.'."\n" - ."\n" - .'* **stabilizationWindowSeconds**: the cooldown period during which the system is stable and does not perform scale-out or scale-in operations. Valid values: 0 to 3600. Unit: seconds. Default value: 0.'."\n" - ."\n" - .'> NoteYou can specify one or more metrics as the trigger conditions of the auto scaling policy. If one of the values of the specified metrics is greater than or equal to the specified limit, the application is scaled out. The number of instances after the scale-out operation is less than or equal to the value of the specified maximum application instances. If the values of all specified metrics are less than the limits, the application is scaled in. The number of instances after the scale-in operation is greater than or equal to the value of the specified minimum application instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"maxReplicas":3,"minReplicas":1,"metrics":[{"metricType":"CPU","metricTargetAverageUtilization":20},{"metricType":"MEMORY","metricTargetAverageUtilization":30},{"metricType":"tcpActiveConn","metricTargetAverageUtilization":20},{"metricType":"SLB_QPS","MetricTargetAverageUtilization":25,"SlbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","SlbLogstore":"function-log","Vport":"80"},{"metricType":"SLB_RT","MetricTargetAverageUtilization":35,"SlbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","SlbLogstore":"function-log","Vport":"80"}],"scaleUpRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":0},"scaleDownRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":300}}', + 'allowEmptyValue' => true, + 'schema' => ['title' => '', 'description' => 'The number of custom domain names returned.'."\n", 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + ], + 'responses' => [ + 200 => [ + 'description' => 'OK', + 'schema' => ['description' => 'The body of the request.'."\n", '$ref' => '#/components/schemas/ListWebCustomDomainBody', 'title' => '', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"NextToken\\": \\"\\",\\n \\"WebCustomDomains\\": [\\n {\\n \\"accountId\\": \\"123xxxxxx\\",\\n \\"WebCertConfig\\": {\\n \\"CertName\\": \\"\\",\\n \\"Certificate\\": \\"\\",\\n \\"PrivateKey\\": \\"\\"\\n },\\n \\"CreatedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"DefaultForwardingAppName\\": \\"appxxxxx\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LastModifiedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"Protocol\\": \\"HTTP\\",\\n \\"WebTLSConfig\\": {\\n \\"CipherSuites\\": [\\n \\"\\"\\n ],\\n \\"MaxVersion\\": \\"\\",\\n \\"MinVersion\\": \\"\\"\\n },\\n \\"WebWAFConfig\\": {\\n \\"EnableWAF\\": true\\n },\\n \\"RouteConfig\\": {\\n \\"routes\\": [\\n {\\n \\"path\\": \\"\\",\\n \\"applicationName\\": \\"\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ListWebCustomDomains', + 'description' => 'Query available custom domain names.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:02:59.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-08-28T10:49:33.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListWebCustomDomains', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:namespace/{#NamespaceId}'], + ], ], ], + ], + ], + 'OpenSaeService' => [ + 'path' => '/service/open', + 'methods' => ['post', 'get'], + 'schemes' => ['http', 'https'], + 'security' => [ + [ + 'AK' => [], + ], [ - 'name' => 'MinReadyInstances', - 'in' => 'query', + 'APP' => [], + ], + [ + 'PrivateKey' => [], + ], + [ + 'BearerToken' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'abilityTreeCode' => '20152', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The minimum number of available instances. Special values:'."\n" - ."\n" - .'* If you set the value to **0**, business is interrupted when the application is updated.'."\n" - .'* If you set this property to -1, the system calculates a recommended value as the minimum number of available instances by using the following formula: Recommended value = Number of existing instances × 25%. The calculation result is rounded up to the nearest integer. For example, if the number of existing instances is 5, the recommended value is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.'."\n" - ."\n" - .'> To ensure business continuity, make sure that at least one instance is available during application deployment and rollback.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'enableWAF', 'type' => 'string', 'example' => '559B4247-C41C-4D9E-B866-B55D378B****', 'title' => ''], + 'OrderId' => ['description' => 'PushEvent', 'type' => 'string', 'example' => '20485646575****', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'ORDER.OPEND', 'errorMessage' => 'order opend.', 'description' => ''], + ['errorCode' => 'Pay.Insufficient.Balance', 'errorMessage' => 'pay insufficient balance', 'description' => ''], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"559B4247-C41C-4D9E-B866-B55D378B****\\",\\n \\"OrderId\\": \\"20485646575****\\"\\n}","errorExample":""},{"type":"xml","example":"<OpenSaeServiceResponse>\\n <RequestId>559B4247-C41C-4D9E-B866-B55D378B****</RequestId>\\n <OrderId>20485646575****</OrderId>\\n</OpenSaeServiceResponse>","errorExample":""}]', + 'title' => 'OpenSaeService', + 'summary' => 'Activates Serverless App Engine (SAE) for free.', + 'description' => '> Make sure that your account balance is greater than 0. Otherwise, the SAE service cannot be activated.'."\n", + 'parameters' => [], + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:26.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'MinReadyInstanceRatio', - 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of the minimum number of available instances. Valid values:'."\n" - ."\n" - .'* **-1** (default value): The minimum number of available instances is not determined based on this parameter.'."\n" - .'* **0 to 100**: The minimum number of available instances is calculated by using the following formula: Number of existing instances × Value of MinReadyInstanceRatio × 100%. The calculation result is rounded up to the nearest integer. For example, if the number of existing instances is 5 and MinReadyInstanceRatio is set to 50, the minimum number of available instances is 3.'."\n" - ."\n" - .'> When **MinReadyInstance** and **MinReadyInstanceRatio** are passed at the same time and the **MinReadyInstanceRatio** value is not \\*\\*-1\\*\\*, the **MinReadyInstanceRatio** parameter takes precedence. **Note**When both **MinReadyInstance** and **MinReadyInstanceRatio** are specified and **MinReadyInstanceRatio** is set to a number from 0 to 100, the value of **MinReadyInstanceRatio** takes precedence.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '-1', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:OpenSaeService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'PublishWebApplicationRevision' => [ + 'summary' => 'Publish a web application version.', + 'path' => '/pop/v2/api/web/application-revisions/{ApplicationId}/revisions', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ [ - 'name' => 'ScalingRuleEnable', + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '225953', + 'abilityTreeNodes' => ['FEATUREsae37J6Z9'], + ], + 'parameters' => [ + [ + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **true**: The auto scaling policy is enabled.'."\n" - .'* **false**: The auto scaling policy is disabled.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shanghai'], + ], + [ + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '7e41aff0-9eca-45c9-ac48-675e09******'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The configurations of the version.'."\n", 'required' => true, '$ref' => '#/components/schemas/PublishWebApplicationRevisionInput', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationRevisionBody', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"RevisionId\\": \\"\\",\\n \\"Weight\\": 0\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'PublishWebApplicationRevision', + 'description' => 'Publish a web application version. You can change the configurations of the version and create a new version.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:02:59.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:PublishWebApplicationRevision', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'QueryArmsEnable' => [ + 'path' => '/pop/v1/arms/queryArms', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'EnableIdle', + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'abilityTreeCode' => '6382', + 'abilityTreeNodes' => ['FEATUREsaeK7DHH9'], + ], + 'parameters' => [ + [ + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'headers' => [], 'schema' => [ - 'description' => 'The returned information.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****', 'title' => ''], + 'Message' => ['description' => 'The additional information. Value description:'."\n" + ."\n" + .'- If the request was successful, **success** is returned.'."\n" + ."\n" + .'- If the request failed, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the trace, which is used to query the details of a request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The returned result.'."\n", + 'description' => 'The response data.', 'type' => 'object', 'properties' => [ - 'Timer' => [ - 'description' => 'The details of the scheduled auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'EndDate' => [ - 'description' => 'The end date of the validity period of the scheduled auto scaling policy.'."\n" - ."\n" - .'* **null** (default): If you set **BeginDate** and **EndDate** to null, the scheduled auto scaling policy can always be triggered.'."\n" - .'* If the two parameters are set to specific dates, the scheduled auto scaling policy can be triggered during the period between the two dates. For example, if **BeginDate** is set to 2021-03-25 and **EndDate** is set to 2021-04-25, the auto scaling policy is valid for one month.'."\n", - 'type' => 'string', - 'example' => '2021-04-25', - ], - 'BeginDate' => [ - 'description' => 'The start date of the validity period of the scheduled auto scaling policy.'."\n" - ."\n" - .'* **null** (default): If you set **BeginDate** and **EndDate** to null, the scheduled auto scaling policy can always be triggered.'."\n" - .'* If the two parameters are set to specific dates, the scheduled auto scaling policy can be triggered during the period between the two dates. For example, if **BeginDate** is set to 2021-03-25 and **EndDate** is set to 2021-04-25, the auto scaling policy is valid for one month.'."\n", - 'type' => 'string', - 'example' => '2021-03-25', - ], - 'Schedules' => [ - 'description' => 'The points in time at which the auto scaling policy is triggered within one day.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the point in time.'."\n", - 'type' => 'object', - 'properties' => [ - 'AtTime' => [ - 'description' => 'The point in time. Format: **Hour:Minute**.'."\n", - 'type' => 'string', - 'example' => '08:00', - ], - 'TargetReplicas' => [ - 'description' => 'The expected number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'MinReplicas' => [ - 'description' => 'The minimum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - ], - ], - ], - 'Period' => [ - 'description' => 'The days on which the scheduled auto scaling policy takes effect. Valid values:'."\n" - ."\n" - .'* **\\* \\* \\***: The scheduled auto scaling policy is executed at a specified point in time every day.'."\n" - ."\n" - .'* **\\* \\* Fri,Mon**: The scheduled auto scaling policy is executed at a specified point in time on one or more days every week. The time must be in GMT+8. Valid values:'."\n" - ."\n" - .' * **Sun**: Sunday'."\n" - .' * **Mon**: Monday'."\n" - .' * **Tue**: Tuesday'."\n" - .' * **Wed**: Wednesday'."\n" - .' * **Thu**: Thursday'."\n" - .' * **Fri**: Friday'."\n" - .' * **Sat**: Saturday'."\n" - ."\n" - .'* **1,2,3,28,31 \\* \\***: The scheduled auto scaling policy is executed at a specified point in time on one or more dates of each month. Valid values: 1 to 31. If a month does not have the 31st day, the auto scaling policy is executed on the specified days other than the 31st day.'."\n", - 'type' => 'string', - 'example' => '* * *', - ], - ], - ], - 'UpdateTime' => [ - 'description' => 'null null'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1616642248938', - ], - 'AppId' => [ - 'description' => 'null'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - 'CreateTime' => [ - 'description' => 'null null'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1616642248938', - ], - 'LastDisableTime' => [ - 'description' => 'null'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1641882854484', - ], - 'ScaleRuleEnabled' => [ - 'description' => 'null null'."\n" - ."\n" - .'* **null**'."\n" - .'* **null**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => 'null null'."\n" - ."\n" - .'* **null**'."\n" - .'* **metric**: a metric-based auto scaling policy.'."\n" - .'* **mix**: a hybrid auto scaling policy.'."\n", - 'type' => 'string', - 'example' => 'timing', - ], - 'Metric' => [ - 'description' => 'The details of the metric-based auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'Metrics' => [ - 'description' => 'The metrics that are used to trigger the auto scaling policy.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the metric.'."\n", - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => 'The limit on the metric.'."\n" - ."\n" - .'* The limit on the CPU utilization. Unit: percentage.'."\n" - .'* The limit on the memory usage. Unit: percentage.'."\n" - .'* The limit on the queries per second (QPS). Unit: seconds.'."\n" - .'* The limit on the response time. Unit: milliseconds.'."\n" - .'* The limit on the average number of active TCP connections per second.'."\n" - .'* The limit on the QPS of the Internet-facing SLB instance.'."\n" - .'* The limit on the response time of the Internet-facing SLB instance. Unit: milliseconds.'."\n" - .'* The limit on the QPS of the internal-facing SLB instance.'."\n" - .'* The limit on the response time of the internal-facing SLB instance. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'MetricType' => [ - 'description' => 'The metric that is used to trigger the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **CPU**: the CPU utilization.'."\n" - .'* **MEMORY**: the memory usage.'."\n" - .'* **QPS**: the average QPS within 1 minute per Java application instance.'."\n" - .'* **RT**: the average response time of all API operations within 1 minute in the Java application.'."\n" - .'* **tcpActiveConn**: the average number of active TCP connections within 30 seconds per instance.'."\n" - .'* **SLB_QPS**: the average QPS of the Internet-facing SLB instance within 15 seconds per instance.'."\n" - .'* **SLB_RT**: the average response time of the Internet-facing SLB instance within 15 seconds.'."\n" - .'* **INTRANET_SLB_QPS**: the average QPS of the internal-facing SLB instance within 15 seconds per instance.'."\n" - .'* **INTRANET_SLB_RT**: the average response time of the internal-facing SLB instance within 15 seconds.'."\n", - 'type' => 'string', - 'example' => 'CPU', - ], - 'SlbProject' => [ - 'description' => 'The project that stores the SLB access logs.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'SlbLogstore' => [ - 'description' => 'The Logstore that stores the SLB access logs.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'Vport' => [ - 'description' => 'The port number of the SLB instance.'."\n", - 'type' => 'string', - 'example' => '80', - ], - 'SlbId' => [ - 'description' => 'The ID of the SLB instance.'."\n", - 'type' => 'string', - 'example' => 'lb-xxx', - ], - ], - ], - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of Elastic Compute Service (ECS) instances supported by the node pool.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'MinReplicas' => [ - 'description' => 'The minimum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - 'ScaleRuleName' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'EnableIdle' => [ - 'type' => 'boolean', - ], + 'Enable' => ['description' => 'Indicates if enabled. Valid values: true and false.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - ], - 'Message' => [ - 'description' => 'The message returned. The following limits are imposed on the ID:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* An error code is returned when a request failed.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ErrorCode' => [ - 'description' => 'The status code. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application instances were restarted. Valid values:'."\n" - ."\n" - .'* **true**: The application instances were restarted.'."\n" - .'* **false**: The application instances failed to be restarted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. Value description:'."\n" + ."\n" + .'- If the request was successful, this field is not returned.'."\n" + ."\n" + .'- For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The status code or error code. Valid values: 2xx: The request was successful. 3xx: The request was redirected. 4xx: The request was invalid. 5xx: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InstanceExist.ScalingRuleName', - 'errorMessage' => 'The specified ScalingRuleName already exists.', - ], - [ - 'errorCode' => 'InvalidScalingRuleDate.BeginAfterEnd', - 'errorMessage' => 'The specified beginning time is later than the ending time.', - ], - [ - 'errorCode' => 'InvalidScalingRuleDate.Format', - 'errorMessage' => 'The specified date is invalid.', - ], - [ - 'errorCode' => 'InvalidScalingRuleName.NotFound', - 'errorMessage' => 'The specified ScalingRuleName does not exist.', - ], - [ - 'errorCode' => 'InvalidScalingRuleTime.Conflict', - 'errorMessage' => 'The specified scaling rule time is invalid. Another schedule has been set for the specified time range. Please set a different time.', - ], - [ - 'errorCode' => 'InvalidScalingRuleTime.Format', - 'errorMessage' => 'The specified time is invalid.', - ], - [ - 'errorCode' => 'QuotaExceeded.ScalingRule', - 'errorMessage' => 'The maximum number of application scaling rules is exceeded.', - ], - [ - 'errorCode' => 'QuotaExceeded.ScalingRuleTime', - 'errorMessage' => 'The maximum number of scaling policy trigger time is exceeded.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'OperationDenied.SDKNotSupported', - 'errorMessage' => 'Metrics is not supported in SDK', - ], - [ - 'errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', - 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', - ], - [ - 'errorCode' => 'MinReadyInstanceRatio.Invalid', - 'errorMessage' => 'The ratio of minimum available instances must be between 0 and 100.', - ], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Timer\\": {\\n \\"EndDate\\": \\"2021-04-25\\",\\n \\"BeginDate\\": \\"2021-03-25\\",\\n \\"Schedules\\": [\\n {\\n \\"AtTime\\": \\"08:00\\",\\n \\"TargetReplicas\\": 3,\\n \\"MaxReplicas\\": 10,\\n \\"MinReplicas\\": 5\\n }\\n ],\\n \\"Period\\": \\"* * *\\"\\n },\\n \\"UpdateTime\\": 1616642248938,\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"CreateTime\\": 1616642248938,\\n \\"LastDisableTime\\": 1641882854484,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"Metric\\": {\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 20,\\n \\"MetricType\\": \\"CPU\\",\\n \\"SlbProject\\": \\"test\\",\\n \\"SlbLogstore\\": \\"test\\",\\n \\"Vport\\": \\"80\\",\\n \\"SlbId\\": \\"lb-xxx\\"\\n }\\n ],\\n \\"MaxReplicas\\": 3,\\n \\"MinReplicas\\": 1\\n },\\n \\"ScaleRuleName\\": \\"test\\",\\n \\"EnableIdle\\": true\\n },\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<CreateApplicationScalingRuleResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Timer>\\n <EndDate>2021-04-25</EndDate>\\n <BeginDate>2021-03-25</BeginDate>\\n <Schedules>\\n <AtTime>08:00</AtTime>\\n <TargetReplicas>3</TargetReplicas>\\n <MaxReplicas>10</MaxReplicas>\\n <MinReplicas>5</MinReplicas>\\n </Schedules>\\n <Period>* * *</Period>\\n </Timer>\\n <UpdateTime>1616642248938</UpdateTime>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <CreateTime>1616642248938</CreateTime>\\n <LastDisableTime>1641882854484</LastDisableTime>\\n <ScaleRuleEnabled>true</ScaleRuleEnabled>\\n <ScaleRuleType>timing</ScaleRuleType>\\n <Metric>\\n <Metrics>\\n <MetricTargetAverageUtilization>20</MetricTargetAverageUtilization>\\n <MetricType>CPU</MetricType>\\n <SlbProject>test</SlbProject>\\n <SlbLogstore>test</SlbLogstore>\\n <Vport>80</Vport>\\n <SlbId>lb-xxx</SlbId>\\n </Metrics>\\n <MaxReplicas>3</MaxReplicas>\\n <MinReplicas>1</MinReplicas>\\n </Metric>\\n <ScaleRuleName>test</ScaleRuleName>\\n </Data>\\n <Message>success</Message>\\n <Code>200</Code>\\n <Success>true</Success>\\n</CreateApplicationScalingRuleResponse>","errorExample":""}]', - 'title' => 'CreateApplicationScalingRule', - 'summary' => 'Creates an auto scaling policy for an application.', - 'description' => '## [](#)Precautions'."\n" - ."\n" - .'* You can create up to five auto scaling policies for one application.'."\n" - .'* You can create up to 20 trigger points within one day in a scheduled auto scaling policy.'."\n" - .'* If an auto scaling policy is enabled for an application, you cannot manually manage the lifecycle of the application. For example, you cannot scale, deploy (including single-batch release, phased release, and canary release), stop, or restart the application, or change the instance type. If you want to perform the preceding operations on the application, disable the auto scaling policy and then manually perform the operations.'."\n" - .'* If an application is in the process of scale-out, scale-in, deployment (including single-batch release, phased release, and canary release), instance type change, restart, or stop, you cannot add or enable an auto scaling policy for the application.'."\n" - .'* If you want to configure more than 50 instances for an application, you must contact SAE technical support to add your account to the whitelist. For more information, see [Contact us](~~146530~~).'."\n", - ], - 'DeleteApplicationScalingRule' => [ - 'path' => '/pop/v1/sam/scale/applicationScalingRule', - 'methods' => [ - 'delete', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Enable\\": true\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'QueryArmsEnable', + 'summary' => 'Queries whether ARMS monitoring is enabled for a specified application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:26.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:QueryArmsEnable', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Application', 'arn' => 'acs:sae:{#regionId}:{#accountId}:application/{#namespaceid}/{#appid}'], + ], + ], + ], ], + ], + 'QueryResourceStatics' => [ + 'path' => '/pop/v1/paas/quota/queryResourceStatics', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '6311', - 'abilityTreeNodes' => [ - 'FEATUREsae5HLO11', - ], + 'operationType' => 'get', + 'abilityTreeCode' => '6384', + 'abilityTreeNodes' => ['FEATUREsae8U8CHA'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - ], - [ - 'name' => 'ScalingRuleName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'timer-0800-2100', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'TraceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Message' => [ - 'description' => 'The message returned. Valid values:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** section of this topic.'."\n", - 'type' => 'string', + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7CCF7092-72CA-4431-90D6-C7D98752****', 'title' => ''], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query the details of a request.', 'type' => 'string', 'example' => 'ac1a08a015623098794277264e****', 'title' => ''], + 'Data' => [ + 'description' => 'The resource usage information.', + 'type' => 'object', + 'properties' => [ + 'Summary' => [ + 'description' => 'The resource usage in the current month.', + 'type' => 'object', + 'properties' => [ + 'Cu' => ['description' => 'The number of CUs used.', 'type' => 'number', 'format' => 'float', 'example' => '2312145'."\n", 'title' => ''], + 'Cpu' => ['description' => 'The CPU usage, in Core·min.', 'type' => 'number', 'format' => 'float', 'example' => '3354', 'title' => ''], + 'Memory' => ['description' => 'The memory usage, in GiB·min.', 'type' => 'number', 'format' => 'float', 'example' => '6708', 'title' => ''], + 'ActiveCpu' => ['description' => 'The active vCPU usage, in Core·min.', 'type' => 'number', 'format' => 'float', 'example' => '10', 'title' => ''], + 'IdleCpu' => ['description' => 'The idle vCPU usage, in Core·min.', 'type' => 'number', 'format' => 'float', 'example' => '10', 'title' => ''], + 'EphemeralStorage' => ['description' => 'The ephemeral storage usage, in GiB·min.', 'type' => 'number', 'format' => 'float', 'example' => '20', 'title' => ''], + 'GpuA10' => ['description' => 'The GpuA10 usage.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => ''], + 'GpuPpu810e' => ['description' => 'The GpuPpu810e usage.', 'type' => 'number', 'format' => 'float', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'RealTimeRes' => [ + 'description' => 'The real-time resource usage.', + 'type' => 'object', + 'properties' => [ + 'Cpu' => ['description' => 'The CPU usage, in Core·min.', 'type' => 'number', 'format' => 'float', 'example' => '13', 'title' => ''], + 'Memory' => ['description' => 'The memory usage, in GiB·min.', 'type' => 'number', 'format' => 'float', 'example' => '26', 'title' => ''], + 'EphemeralStorage' => ['description' => 'The ephemeral storage usage, in GiB·min.', 'type' => 'number', 'format' => 'float', 'example' => '0', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the auto scaling policy was deleted. Valid values:'."\n" - ."\n" - .'* **true**: The policy was deleted.'."\n" - .'* **false**: The policy failed to be deleted.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', + ['errorCode' => 'InvalidServerlessRegion.Unsupported', 'errorMessage' => 'The current region is not supported: %s', 'description' => ''], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'Measuredata.Query.Error', 'errorMessage' => 'An error occurred while querying measurement information.', 'description' => 'Error happen when querying measurement information.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7CCF7092-72CA-4431-90D6-C7D98752****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a08a015623098794277264e****\\",\\n \\"Data\\": {\\n \\"Summary\\": {\\n \\"Cu\\": 2312145,\\n \\"Cpu\\": 3354,\\n \\"Memory\\": 6708,\\n \\"ActiveCpu\\": 10,\\n \\"IdleCpu\\": 10,\\n \\"EphemeralStorage\\": 20,\\n \\"GpuA10\\": 0,\\n \\"GpuPpu810e\\": 0\\n },\\n \\"RealTimeRes\\": {\\n \\"Cpu\\": 13,\\n \\"Memory\\": 26,\\n \\"EphemeralStorage\\": 0\\n }\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'QueryResourceStatics', + 'summary' => 'Gets the resource usage for an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:26.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-05-22T02:23:01.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2025-04-22T01:54:31.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2024-10-28T12:22:50.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryResourceStatics'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:QueryResourceStatics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteApplicationScalingRuleResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Message>success</Message>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DeleteApplicationScalingRuleResponse>","errorExample":""}]', - 'title' => 'DeleteApplicationScalingRule', - 'summary' => '7171a6ca-d1cd-4928-8642-7d5cfe69\\\\*\\\\*\\\\*\\\\*', ], - 'DisableApplicationScalingRule' => [ - 'path' => '/pop/v1/sam/scale/disableApplicationScalingRule', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'ReduceApplicationCapacityByInstanceIds' => [ + 'summary' => 'Scales in an application based on instance IDs.', + 'path' => '/pop/v1/sam/app/ScaleInApplicationWithInstanceIds', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6355', - 'abilityTreeNodes' => [ - 'FEATUREsae5HLO11', - ], + 'abilityTreeCode' => '22522', + 'abilityTreeNodes' => ['FEATUREsae5HLO11'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'timer-0800-2100'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'InstanceIds', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'timer-0800-2100', - ], + 'schema' => ['description' => 'The ID of the instance. Separate multiple instances with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'TraceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ErrorCode' => [ - 'description' => 'The error codes. Valid values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A8E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned. Take note of the following rules:'."\n" + ."\n" + .'- success: If the call is successful, **success** is returned.'."\n" + ."\n" + .'- An error code: If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The information about the change process.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change process.', 'type' => 'string', 'example' => '76fa5c0-9ebb-4bb4-b383-1f885447****', 'title' => ''], + ], + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the auto scaling policy was disabled. Valid values:'."\n" - ."\n" - .'* **true**: The auto scaling policy was disabled.'."\n" - .'* **false**: The auto scaling policy failed to be disabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the information of the change order was queried. Take note of the following rules:'."\n" + ."\n" + .'- **true**: The information was queried.'."\n" + ."\n" + .'- **false**: The image failed to be found.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'Application.NotDeployYet', 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', 'description' => 'The application has not been deployed. Please deploy it and try again.'], + ['errorCode' => 'unsupported.workload', 'errorMessage' => 'The specified instances to scale in application does not support the workload', 'description' => 'The specified instances to scale in application does not support the workload.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A8E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"76fa5c0-9ebb-4bb4-b383-1f885447****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'ReduceApplicationCapacityByInstanceIds', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-26T09:19:37.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ReduceApplicationCapacityByInstanceIds'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:ReduceApplicationCapacityByInstanceIds', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DisableApplicationScalingRuleResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Message>success</Message>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DisableApplicationScalingRuleResponse>","errorExample":""}]', - 'title' => 'DisableApplicationScalingRule', - 'summary' => 'Disables an auto scaling policy for an application.', ], - 'EnableApplicationScalingRule' => [ - 'path' => '/pop/v1/sam/scale/enableApplicationScalingRule', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RescaleApplication' => [ + 'path' => '/pop/v1/sam/app/rescaleApplication', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '6361', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', - ], + 'abilityTreeCode' => '6385', + 'abilityTreeNodes' => ['FEATUREsae5HLO11'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'Replicas', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'timer-0800-2100', - ], + 'schema' => ['description' => 'The expected number of instances.', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '5', 'title' => ''], + ], + [ + 'name' => 'MinReadyInstances', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of available instances. Special values:'."\n" + ."\n" + .'- If you set the value to **0**, business interruptions occur when the application is updated.'."\n" + ."\n" + .'- If you set the value to \\*\\*-1\\*\\*, the minimum number of available instances is automatically set to a system-recommended value. The value is the nearest integer to which the calculated result of the following formula is rounded up: Current number of instances × 25%. For example, if five instances are available, the minimum number of available instances is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.'."\n" + ."\n" + .'> Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'MinReadyInstanceRatio', + 'in' => 'query', + 'schema' => ['description' => 'The percentage of the minimum number of available instances. Take note of the following rules:'."\n" + ."\n" + .'- If you set the value to **-1**, the minimum number of available instances is not determined based on this parameter. Default value: -1.'."\n" + ."\n" + .'- If you set the value to a number **from 0 to 100**, the minimum number of available instances is calculated by using the following formula: Current number of instances × (Value of MinReadyInstanceRatio × 100%). The value is the nearest integer rounded up from the calculated result. For example, if the percentage is set to **50**% and five instances are available, the minimum number of available instances is 3.'."\n" + ."\n" + .'> When **MinReadyInstance** and **MinReadyInstanceRatio** are specified and **MinReadyInstanceRatio** is set to a number from 0 to 100, the value of MinReadyInstanceRatio\\*\\* takes precedence.\\*\\*\\*\\* For example, if **MinReadyInstances** is set to \\*\\*5, and **MinReadyInstanceRatio** is set to **50**, the minimum number of available instances is set to the nearest integer rounded up from the calculated result of the following formula: Current number of instances × **50%**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-1', 'title' => ''], + ], + [ + 'name' => 'AutoEnableApplicationScalingRule', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically enable an auto scaling policy for the application. Take note of the following rules:'."\n" + ."\n" + .'- **true**: turns on Logon-free Sharing'."\n" + ."\n" + .'- **false**: turns off Logon-free Sharing', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The information that is returned.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Take note of the following rules:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Take note of the following rules:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Specifies whether the instances are successfully restarted. Take note of the following rules:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**: The restart failed.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'Message' => ['description' => 'The message returned for the operation.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Data' => [ + 'description' => 'The response.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change order.', 'type' => 'string', 'example' => '0e09829f-4914-4612-bc88-6f52fd81****', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'ErrorCode' => ['description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Take note of the following rules:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application is successfully scaled. Take note of the following rules:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'Application.NotDeployYet', 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', 'description' => 'The application has not been deployed. Please deploy it and try again.'], + ['errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', 'description' => 'The minimum number of available instances must be less than the number of application instances.'], + ['errorCode' => 'MinReadyInstanceRatio.Invalid', 'errorMessage' => 'The ratio of minimum available instances must be between 0 and 100.', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'Associate.Eip.Not.Enough', 'errorMessage' => 'No sufficient EIPs are available.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<EnableApplicationScalingRuleResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n</EnableApplicationScalingRuleResponse>","errorExample":""}]', - 'title' => 'EnableApplicationScalingRule', - 'summary' => 'Enables an auto scaling policy for an application.', - ], - 'UpdateApplicationScalingRule' => [ - 'path' => '/pop/v1/sam/scale/applicationScalingRule', - 'methods' => [ - 'put', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"0e09829f-4914-4612-bc88-6f52fd81****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'RescaleApplication', + 'summary' => 'Rescale an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-26T09:19:37.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-11-17T11:35:05.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RescaleApplication'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:RescaleApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'RescaleApplicationVertically' => [ + 'path' => '/pop/v1/sam/app/rescaleApplicationVertically', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6397', - 'abilityTreeNodes' => [ - 'FEATUREsae5HLO11', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '6386', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'Cpu', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the auto scaling policy. The name must start with a lowercase letter and can contain only lowercase letters, digits, and hyphens (-). The name cannot exceed 32 characters in length.'."\n" - ."\n" - .'> You cannot change the names of created policies.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'timer-0800-2100', - ], + 'schema' => ['description' => 'The CPU specifications, in millicores.', 'type' => 'string', 'required' => true, 'example' => '1000', 'title' => ''], ], [ - 'name' => 'ScalingRuleTimer', + 'name' => 'Memory', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations of the scheduled auto scaling policy. This parameter is required when you set the ScalingRuleType parameter to timing or when you want to create a scheduled auto scaling policy by using an SDK.'."\n" - ."\n" - .'Parameter description:'."\n" - ."\n" - .'* **beginDate** and **endDate**: specify the validity period of the scheduled auto scaling policy. **beginDate** specifies the start date and **endDate** specifies the end date. Take note of the following rules:'."\n" - ."\n" - .' * If you set the two parameters to **null**, the scheduled auto scaling policy is a long-term policy. Default values of the beginDate and endDate parameters: null.'."\n" - .' * If you set the two parameters to specific dates, the scheduled auto scaling policy can be triggered during the period between the two dates. For example, if you set **beginDate** to **2021-03-25** and **endDate** to **2021-04-25**, the auto scaling policy is valid for one month.'."\n" - ."\n" - .'* **period**: specifies the frequency at which the scheduled auto scaling policy is executed. Valid values:'."\n" - ."\n" - .' * **\\* \\* \\***: The scheduled auto scaling policy is executed at a specified point in time every day.'."\n" - ."\n" - .' * **\\* \\* Fri,Mon**: The scheduled auto scaling policy is executed at a specified point in time on one or more specified days of each week. GMT+8 is used. Valid values:'."\n" - ."\n" - .' * **Sun**'."\n" - .' * **Mon**'."\n" - .' * **Tue**'."\n" - .' * **Wed**'."\n" - .' * **Thu**'."\n" - .' * **Fri**'."\n" - .' * **Sat**'."\n" - ."\n" - .' * **1,2,3,28,31 \\* \\***: The scheduled auto scaling policy is executed at a specified point in time on one or more days of each month. Valid values: 1 to 31. If the month does not have a 31st day, the auto scaling policy is executed on the specified days other than the 31st day.'."\n" - ."\n" - .'* **schedules**: specifies the points in time at which the auto scaling policy is triggered and the number of application instances that are retained during the corresponding period of time. You can specify up to 20 points in time. Parameter description:'."\n" - ."\n" - .' * **atTime**: the point in time at which the policy is triggered. Format: **Hour:Minute**. Example: **08:00**.'."\n" - ."\n" - .' * **targetReplicas**: specifies the number of application instances that you want to maintain by using this policy. You can also set the value to the minimum number of available instances required for each application release. Valid values: 1 to 50.'."\n" - ."\n" - .' **'."\n" - ."\n" - .' **Note**Make sure that at least **one** instance is available during the application deployment and rollback to prevent your business from being interrupted. If you set the value to **0**, business interruptions occur when the application is updated.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"beginDate":null,"endDate":null,"period":"* * *","schedules":[{"atTime":"08:00","targetReplicas":10},{"atTime":"20:00","targetReplicas":3}]}', - ], + 'schema' => ['description' => 'The memory size, in MB.', 'type' => 'string', 'required' => true, 'example' => '2048', 'title' => ''], ], [ - 'name' => 'ScalingRuleMetric', + 'name' => 'minReadyInstances', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations of the metric-based auto scaling policy. This parameter is required if you set the ScalingRuleType parameter to metric.'."\n" - ."\n" - .'Parameter description:'."\n" - ."\n" - .'* **maxReplicas**: the maximum number of instances in the application.'."\n" - ."\n" - .'* **minReplicas**: the minimum number of instances in the application.'."\n" - ."\n" - .'* **metricType**: the metric that is used to trigger the auto scaling policy.'."\n" - ."\n" - .' * **CPU**: the CPU utilization.'."\n" - .' * **MEMORY**: the memory usage.'."\n" - .' * **tcpActiveConn**: the average number of active TCP connections in an application instance within 30 seconds.'."\n" - .' * **SLB_QPS**: the average queries per second (QPS) of the Internet-facing Server Load Balancer (SLB) instance associated with an application instance within 15 seconds.'."\n" - .' * **SLB_RT**: the average response time of the Internet-facing SLB instance within 15 seconds.'."\n" - ."\n" - .'* **metricTargetAverageUtilization**: the limit on the metric specified by the **metricType** parameter.'."\n" - ."\n" - .' * The limit on the CPU utilization. Unit: percentage.'."\n" - .' * The limit on the memory usage. Unit: percentage.'."\n" - .' * The limit on the average number of active TCP connections per second.'."\n" - .' * The limit on the QPS of the Internet-facing SLB instance.'."\n" - .' * The limit on the response time of the Internet-facing SLB instance. Unit: milliseconds.'."\n" - ."\n" - .'* **SlbProject**: the Log Service project.'."\n" - ."\n" - .'* **SlbLogstore**: the Log Service Logstore.'."\n" - ."\n" - .'* **Vport**: the listener port for the SLB instance. HTTP and HTTPS are supported.'."\n" - ."\n" - .'* **scaleUpRules**: the scale-out rule.'."\n" - ."\n" - .'* **scaleDownRules**: the scale-in rule.'."\n" - ."\n" - .'* **step**: the scale-out or scale-in step size. The maximum number of instances that can be added or removed per unit time.'."\n" - ."\n" - .'* **disabled**: specifies whether to disable the application scale-in. If you set this parameter to true, the application instances are never scaled in. This prevents business risks during peak hours.'."\n" - ."\n" - .' * **true**: disables the application scale-in.'."\n" - .' * **false**: enables the application scale-in. Default value: false.'."\n" - ."\n" - .'* **stabilizationWindowSeconds**: the cooldown period during which the system is stable and does not perform scale-out or scale-in operations. Valid values: 0 to 3600. Unit: seconds. Default value: 0.'."\n" - ."\n" - .'> You can specify one or more metrics as the trigger conditions of the auto scaling policy. If you specify multiple metrics, the application is scaled out when the value of a metric is greater than or equal to the limit. The number of application instances after the scale-out cannot exceed the configured maximum number of application instances. If the values of all the metrics are less than the limits, the application is scaled in. The number of instances after the scale-in cannot be less than the configured minimum number of application instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"maxReplicas":3,"minReplicas":1,"metrics":[{"metricType":"CPU","metricTargetAverageUtilization":20},{"metricType":"MEMORY","metricTargetAverageUtilization":30},{"metricType":"tcpActiveConn","metricTargetAverageUtilization":20},{"metricType":"SLB_QPS","MetricTargetAverageUtilization":25,"SlbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","SlbLogstore":"function-log","Vport":"80"},{"metricType":"SLB_RT","MetricTargetAverageUtilization":35,"SlbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","SlbLogstore":"function-log","Vport":"80"}],"scaleUpRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":0},"scaleDownRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":300}}', - ], + 'schema' => ['description' => 'The minimum number of ready instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'MinReadyInstances', + 'name' => 'minReadyInstanceRatio', 'in' => 'query', - 'schema' => [ - 'description' => 'The minimum number of available instances. Take note of the following rules:'."\n" - ."\n" - .'* If you set the value to **0**, business interruptions occur when the auto-scaling policy is updated.'."\n" - .'* If you set the value to \\*\\*-1\\*\\*, the minimum number of available instances is automatically set to a system-recommended value. The value is the nearest integer to which the calculated result of the following formula is rounded up: Current number of instances × 25%. For example, if five instances are available, the minimum number of available instances is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.'."\n" - ."\n" - .'> Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3', - ], + 'schema' => ['description' => 'The minimum percentage of ready instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '50', 'title' => ''], ], [ - 'name' => 'MinReadyInstanceRatio', + 'name' => 'autoEnableApplicationScalingRule', 'in' => 'query', - 'schema' => [ - 'description' => 'The percentage of the minimum number of available instances. Take note of the following rules:'."\n" - ."\n" - .'* If you set the value to **-1**, the minimum number of available instances is not determined based on this parameter. This is the default value.'."\n" - .'* If you set the value to a number **from 0 to 100**, the minimum number of available instances is calculated by using the following formula: Current number of instances × (Value of MinReadyInstanceRatio × 100%). The value is the nearest integer rounded up from the calculated result. For example, if you set this parameter to **50**, and five instances are available, the minimum number of available instances is 3.'."\n" - ."\n" - .'> When **MinReadyInstance** and **MinReadyInstanceRatio** are specified and **MinReadyInstanceRatio** is set to a number from 0 to 100, the value of \\*\\*MinReadyInstanceRatio** takes precedence.**** For example, if **MinReadyInstances** is set to **5\\*\\*, and **MinReadyInstanceRatio** is set to **50**, the minimum number of available instances is set to the nearest integer rounded up from the calculated result of the following formula: Current number of instances × **50%**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '-1', - ], + 'schema' => ['description' => 'Specifies whether to automatically enable the auto scaling rule.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'EnableIdle', + 'name' => 'DiskSize', 'in' => 'query', - 'schema' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'schema' => ['description' => 'The disk size for each node, in GB.', 'type' => 'string', 'required' => false, 'example' => '20', 'title' => ''], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + ], + [ + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], + ], + [ + 'name' => 'Deploy', + 'in' => 'query', + 'schema' => ['type' => 'boolean', 'description' => '', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => 'AB521DBB-FA78-42E6-803F-A862EA4F****', 'title' => ''], + 'Message' => ['description' => 'The returned message.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID of the request. You can use this ID to query the details of the request.', 'type' => 'string', 'example' => '0bc3b6f315637273629117900d****', 'title' => ''], 'Data' => [ - 'description' => 'The returned result.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'Timer' => [ - 'description' => 'The details of the scheduled auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'EndDate' => [ - 'description' => 'The end date of the validity period of the scheduled auto scaling policy. Take note of the following rules:'."\n" - ."\n" - .'* If **BeginDate** and **EndDate** are set to **null**, the auto scaling policy is a long-term policy. Default values of the beginDate and endDate parameters: null.'."\n" - .'* If the two parameters are set to specific dates, the scheduled auto scaling policy can be triggered during the period between the two dates. For example, if **BeginDate** is set to 2021-03-25 and **EndDate** is set to 2021-04-25, the auto scaling policy is valid for one month.'."\n", - 'type' => 'string', - 'example' => '2021-04-25', - ], - 'BeginDate' => [ - 'description' => 'The start date of the validity period of the scheduled auto scaling policy. Parameter description:'."\n" - ."\n" - .'* If **BeginDate** and **EndDate** are set to **null**, the auto scaling policy is a long-term policy. Default values of the beginDate and endDate parameters: null.'."\n" - .'* If the two parameters are set to specific dates, the scheduled auto scaling policy can be triggered during the period between the two dates. For example, if **BeginDate** is set to 2021-03-25 and **EndDate** is set to 2021-04-25, the auto scaling policy is valid for one month.'."\n", - 'type' => 'string', - 'example' => '2021-03-25', - ], - 'Schedules' => [ - 'description' => 'The points in time at which the auto scaling policy is triggered within one day.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the point in time.'."\n", - 'type' => 'object', - 'properties' => [ - 'AtTime' => [ - 'description' => 'The point in time. Format: **Hour:Minute**.'."\n", - 'type' => 'string', - 'example' => '08:00', - ], - 'TargetReplicas' => [ - 'description' => 'The expected number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'MinReplicas' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - ], - ], - ], - 'Period' => [ - 'description' => 'The frequency at which the scheduled auto scaling policy is executed. Valid values:'."\n" - ."\n" - .'* **\\* \\* \\***: The scheduled auto scaling policy is executed at a specified point in time every day.'."\n" - ."\n" - .'* **\\* \\* Fri,Mon**: The scheduled auto scaling policy is executed at a specified point in time on one or more days of each week. GMT+8 is used. Valid values:'."\n" - ."\n" - .' * **Sun**'."\n" - .' * **Mon**'."\n" - .' * **Tue**'."\n" - .' * **Wed**'."\n" - .' * **Thu**'."\n" - .' * **Fri**'."\n" - .' * **Sat**'."\n" - ."\n" - .'* **1,2,3,28,31 \\* \\***: The scheduled auto scaling policy is executed at a specified point in time on one or more days of each month. Valid values: 1 to 31. If the month does not have a 31st day, the auto scaling policy is executed on the specified days other than the 31st day.'."\n", - 'type' => 'string', - 'example' => '* * *', - ], - ], - ], - 'UpdateTime' => [ - 'description' => 'The time when the auto scaling policy was updated. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1616642248938', - ], - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - 'CreateTime' => [ - 'description' => 'The time when the auto scaling policy was created. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1616642248938', - ], - 'LastDisableTime' => [ - 'description' => 'The time when the auto scaling policy was last disabled.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1641882854484', - ], - 'ScaleRuleEnabled' => [ - 'description' => 'Specifies whether to enable the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **true**: The auto scaling policy is enabled.'."\n" - .'* **false**: The auto scaling policy is disabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => 'The type of the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **timing**: a scheduled auto scaling policy'."\n" - .'* **metric**: a metric-based auto scaling policy'."\n" - .'* **mix**: a hybrid auto scaling policy'."\n", - 'type' => 'string', - 'example' => 'timing', - ], - 'Metric' => [ - 'description' => 'The details of the metric-based auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'Metrics' => [ - 'description' => 'The metrics that are used to trigger the auto scaling policy.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the metric.'."\n", - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => 'The limit on the metric.'."\n" - ."\n" - .'* The limit on the CPU utilization. Unit: percentage.'."\n" - .'* The limit on the memory usage. Unit: percentage.'."\n" - .'* The limit on the average number of active TCP connections per second.'."\n" - .'* The limit on the QPS of the Internet-facing SLB instance.'."\n" - .'* The limit on the response time of the Internet-facing SLB instance. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'MetricType' => [ - 'description' => 'The metric that is used to trigger the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **CPU**: the CPU utilization.'."\n" - .'* **MEMORY**: the memory usage.'."\n" - .'* **tcpActiveConn**: the average number of active TCP connections of an application instance within 30 seconds.'."\n" - .'* **SLB_QPS**: the average QPS of the Internet-facing SLB instance associated with an application instance within 15 seconds.'."\n" - .'* **SLB_RT**: the average response time of the Internet-facing SLB instance within 15 seconds.'."\n", - 'type' => 'string', - 'example' => 'CPU', - ], - 'SlbProject' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test', - ], - 'SlbLogstore' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test', - ], - 'Vport' => [ - 'description' => '', - 'type' => 'string', - 'example' => '80', - ], - 'SlbId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'lb-xxx', - ], - ], - ], - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'MinReplicas' => [ - 'description' => 'The minimum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - ], - ], - 'ScaleRuleName' => [ - 'description' => 'The name of the auto scaling policy.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'EnableIdle' => [ - 'type' => 'boolean', - ], + 'ChangeOrderId' => ['description' => 'The ID of the change order.', 'type' => 'string', 'example' => 'ffd8cd45-2b5f-415d-b4d0-1003e80b****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'Message' => [ - 'description' => 'The returned message. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, **success** is returned.'."\n" - .'* If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, **ErrorCode** is not returned.'."\n" - .'* If the call fails, **ErrorCode** is returned. For more information, see the "**Error codes**" section in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Specifies whether the instances are successfully restarted. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- If the request is successful, this parameter is not returned.'."\n" + ."\n" + .'- If the request fails, this parameter is returned. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'example' => '空', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the instance type was successfully changed.'."\n" + ."\n" + .'- **true**: The change was successful.'."\n" + ."\n" + .'- **false**: The change failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'InvalidScalingRuleDate.BeginAfterEnd', - 'errorMessage' => 'The specified beginning time is later than the ending time.', - ], - [ - 'errorCode' => 'InvalidScalingRuleDate.Format', - 'errorMessage' => 'The specified date is invalid.', - ], - [ - 'errorCode' => 'InvalidScalingRuleName.NotFound', - 'errorMessage' => 'The specified ScalingRuleName does not exist.', - ], - [ - 'errorCode' => 'InvalidScalingRuleTime.Conflict', - 'errorMessage' => 'The specified scaling rule time is invalid. Another schedule has been set for the specified time range. Please set a different time.', - ], - [ - 'errorCode' => 'InvalidScalingRuleTime.Format', - 'errorMessage' => 'The specified time is invalid.', - ], - [ - 'errorCode' => 'QuotaExceeded.ScalingRuleTime', - 'errorMessage' => 'The maximum number of scaling policy trigger time is exceeded.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', - 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', - ], - [ - 'errorCode' => 'MinReadyInstanceRatio.Invalid', - 'errorMessage' => 'The ratio of minimum available instances must be between 0 and 100.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidInstanceSpecification.Unsupported', 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'Application.NotDeployYet', 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', 'description' => 'The application has not been deployed. Please deploy it and try again.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"AB521DBB-FA78-42E6-803F-A862EA4F****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3b6f315637273629117900d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"ffd8cd45-2b5f-415d-b4d0-1003e80b****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'RescaleApplicationVertically', + 'summary' => 'Changes the instance type of an application.', + 'changeSet' => [ + ['createdAt' => '2026-01-12T09:33:29.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2026-01-07T12:14:03.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:00:29.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T01:25:54.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-24T12:48:58.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-19T07:00:08.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-11-26T04:57:28.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-10-15T07:12:42.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-04-07T03:09:05.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-24T01:47:26.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-26T09:19:38.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RescaleApplicationVertically'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:RescaleApplicationVertically', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Timer\\": {\\n \\"EndDate\\": \\"2021-04-25\\",\\n \\"BeginDate\\": \\"2021-03-25\\",\\n \\"Schedules\\": [\\n {\\n \\"AtTime\\": \\"08:00\\",\\n \\"TargetReplicas\\": 3,\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 10\\n }\\n ],\\n \\"Period\\": \\"* * *\\"\\n },\\n \\"UpdateTime\\": 1616642248938,\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"CreateTime\\": 1616642248938,\\n \\"LastDisableTime\\": 1641882854484,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"Metric\\": {\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 20,\\n \\"MetricType\\": \\"CPU\\",\\n \\"SlbProject\\": \\"test\\",\\n \\"SlbLogstore\\": \\"test\\",\\n \\"Vport\\": \\"80\\",\\n \\"SlbId\\": \\"lb-xxx\\"\\n }\\n ],\\n \\"MaxReplicas\\": 3,\\n \\"MinReplicas\\": 1\\n },\\n \\"ScaleRuleName\\": \\"test\\",\\n \\"EnableIdle\\": true\\n },\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateApplicationScalingRuleResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <Timer>\\n <EndDate>2021-04-25</EndDate>\\n <BeginDate>2021-03-25</BeginDate>\\n <Schedules>\\n <AtTime>08:00</AtTime>\\n <TargetReplicas>3</TargetReplicas>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>10</MaxReplicas>\\n </Schedules>\\n <Period>* * *</Period>\\n </Timer>\\n <UpdateTime>1616642248938</UpdateTime>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <CreateTime>1616642248938</CreateTime>\\n <LastDisableTime>1641882854484</LastDisableTime>\\n <ScaleRuleEnabled>true</ScaleRuleEnabled>\\n <ScaleRuleType>timing</ScaleRuleType>\\n <Metric>\\n <Metrics>\\n <MetricTargetAverageUtilization>20</MetricTargetAverageUtilization>\\n <MetricType>CPU</MetricType>\\n <SlbProject>test</SlbProject>\\n <SlbLogstore>test</SlbLogstore>\\n <Vport>80</Vport>\\n <SlbId>lb-xxx</SlbId>\\n </Metrics>\\n <MaxReplicas>3</MaxReplicas>\\n <MinReplicas>1</MinReplicas>\\n </Metric>\\n <ScaleRuleName>test</ScaleRuleName>\\n </Data>\\n <Message>success</Message>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateApplicationScalingRuleResponse>","errorExample":""}]', - 'title' => 'UpdateApplicationScalingRule', - 'summary' => 'Updates the auto scaling policy of an application.', - 'description' => '##'."\n" - ."\n" - .'If you want to configure more than 50 instances for an application, you must submit a [ticket](https://workorder.console.aliyun.com/#/ticket/createIndex) to add your account to the whitelist.'."\n", ], - 'DescribeApplicationScalingRule' => [ - 'path' => '/pop/v1/sam/scale/applicationScalingRule', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'RestartApplication' => [ + 'path' => '/pop/v1/sam/app/restartApplication', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6320', - 'abilityTreeNodes' => [ - 'FEATUREsaeX1L0GL', - 'FEATUREsaeAINYGA', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '6387', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'a0d2e04c-159d-40a8-b240-d2f2c263\\*\\*\\*\\*'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'a0d2e04c-159d-40a8-b240-d2f2c263****', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], ], [ - 'name' => 'ScalingRuleName', + 'name' => 'MinReadyInstances', 'in' => 'query', - 'schema' => [ - 'description' => 'test'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'The minimum number of available instances. Special values:'."\n" + ."\n" + .'- If you set the value to **0**, business interruptions occur when the application is updated.'."\n" + ."\n" + .'- If you set the value to \\*\\*-1\\*\\*, the minimum number of available instances is automatically set to a system-recommended value. The value is the nearest integer to which the calculated result of the following formula is rounded up: Current number of instances × 25%. For example, if five instances are available, the minimum number of available instances is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.'."\n" + ."\n" + .'> Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], + ], + [ + 'name' => 'MinReadyInstanceRatio', + 'in' => 'query', + 'schema' => ['description' => 'The percentage of the minimum number of available instances. Take note of the following rules:'."\n" + ."\n" + .'- If you set the value to **-1**, the minimum number of available instances is not determined based on this parameter. Default value: -1.'."\n" + ."\n" + .'- If you set the value to a number **from 0 to 100**, the minimum number of available instances is calculated by using the following formula: Current number of instances × (Value of MinReadyInstanceRatio × 100%). The value is the nearest integer rounded up from the calculated result. For example, if the percentage is set to **50**% and five instances are available, the minimum number of available instances is 3.'."\n" + ."\n" + .'> When **MinReadyInstance** and **MinReadyInstanceRatio** are specified and **MinReadyInstanceRatio** is set to a number from 0 to 100, the value of \\*\\*MinReadyInstanceRatio\\*\\* takes precedence.\\*\\*\\*\\* For example, if **MinReadyInstances** is set to \\*\\*5\\*\\*, and **MinReadyInstanceRatio** is set to **50**, the minimum number of available instances is set to the nearest integer rounded up from the calculated result of the following formula: Current number of instances × **50%**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-1', 'title' => ''], + ], + [ + 'name' => 'AutoEnableApplicationScalingRule', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to automatically enable an auto scaling policy for the application. Valid values:'."\n" + ."\n" + .'- **true**: enabled.'."\n" + ."\n" + .'- **false**: disabled', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '73404D3D-EE4F-4CB2-B197-5C46F6A1****', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0b57ff7e16243300839193068e****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned. Take note of the following rules:'."\n" + ."\n" + .'- success: If the call is successful, **success** is returned.'."\n" + ."\n" + .'- An error code: If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The response.', 'type' => 'object', 'properties' => [ - 'Timer' => [ - 'description' => 'The details of the scheduled auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'EndDate' => [ - 'description' => 'The end date of the validity period of the scheduled auto scaling policy. Valid values:'."\n" - ."\n" - .'* If both the **BeginDate** and **EndDate** parameters are set to **null**, the auto scaling policy can always be triggered. The default value for these parameters is null.'."\n" - .'* If the two parameters are set to specific dates, the scheduled auto scaling policy can be triggered during the period between the two dates. For example, if **BeginDate** is **2021-03-25** and **EndDate** is **2021-04-25**, the auto scaling policy is valid for one month.'."\n", - 'type' => 'string', - 'example' => '2021-04-25', - ], - 'BeginDate' => [ - 'description' => 'The start date of the validity period of the scheduled auto scaling policy. Valid values:'."\n" - ."\n" - .'* If both the **BeginDate** and **EndDate** parameters are set to **null**, the auto scaling policy can always be triggered. The default value for these parameters is null.'."\n" - .'* If the two parameters are set to specific dates, the scheduled auto scaling policy can be triggered during the period between the two dates. For example, if **BeginDate** is **2021-03-25** and **EndDate** is **2021-04-25**, the auto scaling policy is valid for one month.'."\n", - 'type' => 'string', - 'example' => '2021-03-25', - ], - 'Schedules' => [ - 'description' => 'The points in time when the auto scaling policy is triggered within one day.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AtTime' => [ - 'description' => 'The point in time. Format: **Hour:Minute**.'."\n", - 'type' => 'string', - 'example' => '08:00', - ], - 'TargetReplicas' => [ - 'description' => 'The expected number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'MinReplicas' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MaxReplicas' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - ], - ], - ], - 'Period' => [ - 'description' => 'The days on which the scheduled auto scaling policy takes effect. Valid values:'."\n" - ."\n" - .'* **\\* \\* \\***: The scheduled auto scaling policy takes effect at a specified time every day.'."\n" - ."\n" - .'* **\\* \\* Fri,Mon**: The scheduled auto scaling policy takes effect at a specified time on one or multiple days of a week. The specified time is in the GMT+8 time zone. Valid values:'."\n" - ."\n" - .' * **Sun**: Sunday'."\n" - .' * **Mon**: Monday'."\n" - .' * **Tue**: Tuesday'."\n" - .' * **Wed**: Wednesday'."\n" - .' * **Thu**: Thursday'."\n" - .' * **Fri**: Friday'."\n" - .' * **Sat**: Saturday'."\n" - ."\n" - .'* **1,2,3,28,31 \\* \\***: The scheduled auto scaling policy takes effect at a specified time on one or multiple days of a month. Valid values: 1 to 31. If the month does not have a 31st day, the auto scaling policy takes effect on the specified days other than the 31st day.'."\n", - 'type' => 'string', - 'example' => '* * *', - ], - ], - ], - 'UpdateTime' => [ - 'description' => 'The time when the auto scaling policy was updated. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1624330075827', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => 'a0d2e04c-159d-40a8-b240-d2f2c263****', - ], - 'CreateTime' => [ - 'description' => 'The time when the auto scaling policy was created. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1624329843790', - ], - 'LastDisableTime' => [ - 'description' => 'The time when the auto scaling policy was last disabled.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1641882854484', - ], - 'ScaleRuleEnabled' => [ - 'description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" - ."\n" - .'* **true**: enabled'."\n" - .'* **false**: disabled'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => 'The type of the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **timing**: the scheduled auto scaling policy.'."\n" - .'* **metric**: the metric-based auto scaling policy.'."\n" - .'* **mix**: the hybrid auto scaling policy.'."\n", - 'type' => 'string', - 'example' => 'timing', - ], - 'Metric' => [ - 'description' => 'The details of the metric-based auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'Metrics' => [ - 'description' => 'The list of metrics that are used to trigger the auto scaling policy.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => 'The limit on the metric.'."\n" - ."\n" - .'* The limit on the CPU utilization. Unit: percentage.'."\n" - .'* The limit on the memory usage. Unit: percentage.'."\n" - .'* The limit on the average number of active TCP connections per second.'."\n" - .'* The limit on the QPS of the Internet-facing SLB instance.'."\n" - .'* The limit on the response time of the Internet-facing SLB instance. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'MetricType' => [ - 'description' => 'The metric that is used to trigger the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **CPU**: the CPU utilization.'."\n" - .'* **MEMORY**: the memory usage.'."\n" - .'* **tcpActiveConn**: the average number of active TCP connections for an instance in 30 seconds.'."\n" - .'* **SLB_QPS**: the average QPS of the Internet-facing SLB instance associated with an application instance in 15 seconds.'."\n" - .'* **SLB_RT**: the average response time of the Internet-facing SLB instance in 15 seconds.'."\n", - 'type' => 'string', - 'example' => 'CPU', - ], - 'SlbProject' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test', - ], - 'SlbLogstore' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test', - ], - 'Vport' => [ - 'description' => '', - 'type' => 'string', - 'example' => '80', - ], - 'SlbId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'lb-xxx', - ], - ], - ], - ], - 'MetricsStatus' => [ - 'description' => 'The execution status of the metric-based auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'DesiredReplicas' => [ - 'description' => 'The expected number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'NextScaleTimePeriod' => [ - 'description' => 'The duration for which the metric-based auto scaling policy takes effect next time.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'CurrentReplicas' => [ - 'description' => 'The current number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'LastScaleTime' => [ - 'description' => 'The time when the auto scaling policy was last triggered.'."\n", - 'type' => 'string', - 'example' => '2022-01-11T08:14:32Z', - ], - 'CurrentMetrics' => [ - 'description' => 'The metrics that is used to trigger the current auto scaling policy.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the data. This parameter corresponds to the metric.'."\n" - ."\n" - .'* **Resource**: used when the metric is the **CPU utilization** or **memory usage**.'."\n" - .'* **Pods**: used when the metric is the **number of active TCP connections**.'."\n" - .'* **External**: used when the metric is about the **SLB** instance or from **Application Real-Time Monitoring Service (ARMS)**.'."\n", - 'type' => 'string', - 'example' => 'Resource', - ], - 'CurrentValue' => [ - 'description' => 'The current value of the metric.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Name' => [ - 'description' => 'The name of the metric.'."\n" - ."\n" - .'* **cpu**: the CPU utilization.'."\n" - .'* **memory**: the memory usage.'."\n" - .'* **tcpActiveConn**: the number of active TCP connections.'."\n" - .'* **slb_incall_qps**: the QPS of the Internet-facing SLB instance.'."\n" - .'* **slb_incall_rt**: the response time of the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - 'NextScaleMetrics' => [ - 'description' => 'The metrics that are used to trigger the auto scaling policy next time.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'NextScaleOutAverageUtilization' => [ - 'description' => 'The metric value as a percentage that triggers the application scale-out next time.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '21', - ], - 'NextScaleInAverageUtilization' => [ - 'description' => 'The metric value as a percentage that triggers the application scale-in next time.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Name' => [ - 'description' => 'The name of the metric.'."\n" - ."\n" - .'* **cpu**: the CPU utilization.'."\n" - .'* **memory**: the memory usage.'."\n" - .'* **tcpActiveConn**: the number of active TCP connections.'."\n" - .'* **slb_incall_qps**: the QPS of the Internet-facing SLB instance.'."\n" - .'* **slb_incall_rt**: the response time of the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - ], - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of instances.', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'MinReplicas' => [ - 'description' => 'The minimum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleUpRules' => [ - 'description' => 'Rules that determine the application scale-out.'."\n", - 'type' => 'object', - 'properties' => [ - 'Step' => [ - 'description' => 'The step size for the scale-out. The maximum number of instances that can be added within a specific period of time.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'StabilizationWindowSeconds' => [ - 'description' => 'The cooldown time of the scale-out. Valid values: 0 to 3600. Unit: seconds. Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '300', - ], - 'Disabled' => [ - 'description' => 'Indicates whether the application scale-in is disabled. Valid values:'."\n" - ."\n" - .'* **true**: The application scale-in is disabled.'."\n" - .'* **false**: The application scale-in is enabled.'."\n" - ."\n" - .'> When this parameter is set to true, the application instances are never reduced. This prevents risks to your business in peak hours. By default, this parameter is set to false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - 'ScaleDownRules' => [ - 'description' => 'Rules that determine the application scale-in.'."\n", - 'type' => 'object', - 'properties' => [ - 'Step' => [ - 'description' => 'The step size for the scale-in. The maximum number of instances that can be reduced within a specific period of time.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'StabilizationWindowSeconds' => [ - 'description' => 'The cooldown time of the scale-in. Valid values: 0 to 3600. Unit: seconds. Default value: 0.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '300', - ], - 'Disabled' => [ - 'description' => 'Indicates whether the application scale-in is disabled. Valid values:'."\n" - ."\n" - .'* **true**: disabled.'."\n" - .'* **false**: enabled.'."\n" - ."\n" - .'> When this parameter is set to true, the application instances are never reduced. This prevents risks to your business in peak hours. By default, this parameter is set to false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - ], - ], - 'ScaleRuleName' => [ - 'description' => 'The name of the auto scaling policy.', - 'type' => 'string', - 'example' => 'test', - ], - 'MinReadyInstances' => [ - 'description' => 'The minimum number of available instances. Valid values:'."\n" - ."\n" - .'* If you set the value to **0**, business is interrupted when the application is updated.'."\n" - .'* If you set this property to -1, the system calculates a recommended value as the minimum number of available instances by using the following formula: Recommended value = Number of existing instances × 25%. The calculation result is rounded up to the nearest integer. For example, if the number of existing instances is 5, the recommended value is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.'."\n" - ."\n" - .'> To ensure business continuity, make sure that at least one instance is available during application deployment and rollback.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MinReadyInstanceRatio' => [ - 'description' => 'The ratio of the minimum number of available instances to the current number of instances. Valid values:'."\n" - ."\n" - .'* **-1** (default value): The minimum number of available instances is not determined based on this parameter.'."\n" - .'* **0 to 100**: The minimum number of available instances is calculated by using the following formula: Number of existing instances × Value of MinReadyInstanceRatio × 100%. The calculation result is rounded up to the nearest integer. For example, if the number of existing instances is 5 and MinReadyInstanceRatio is set to 50, the minimum number of available instances is 3.'."\n" - ."\n" - .'> If the **MinReadyInstanceRatio** and **MinReadyInstanceRatio** parameters are configured and the **MinReadyInstanceRatio** parameter is set to a number from 0 to 100, the value of the MinReadyInstanceRatio parameter takes precedence. For example, if the **MinReadyInstances** parameter is set to **5**, and the **MinReadyInstanceRatio** parameter is set to **50**, the minimum number of available instances is set to the nearest integer rounded up from the calculated result of the following formula: Nmber of existing instances × **50**.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], + 'ChangeOrderId' => ['description' => 'The ID of the change process.', 'type' => 'string', 'example' => '4a815998-b468-4bea-b7d8-59f52a44****', 'title' => ''], ], - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'ErrorCode' => [ - 'description' => '', - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Take note of the following rules:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the instance is successfully restarted. Take note of the following rules:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"73404D3D-EE4F-4CB2-B197-5C46F6A1****\\",\\n \\"TraceId\\": \\"0b57ff7e16243300839193068e****\\",\\n \\"Data\\": {\\n \\"Timer\\": {\\n \\"EndDate\\": \\"2021-04-25\\",\\n \\"BeginDate\\": \\"2021-03-25\\",\\n \\"Schedules\\": [\\n {\\n \\"AtTime\\": \\"08:00\\",\\n \\"TargetReplicas\\": 2,\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 10\\n }\\n ],\\n \\"Period\\": \\"* * *\\"\\n },\\n \\"UpdateTime\\": 1624330075827,\\n \\"AppId\\": \\"a0d2e04c-159d-40a8-b240-d2f2c263****\\",\\n \\"CreateTime\\": 1624329843790,\\n \\"LastDisableTime\\": 1641882854484,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"Metric\\": {\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 20,\\n \\"MetricType\\": \\"CPU\\",\\n \\"SlbProject\\": \\"test\\",\\n \\"SlbLogstore\\": \\"test\\",\\n \\"Vport\\": \\"80\\",\\n \\"SlbId\\": \\"lb-xxx\\"\\n }\\n ],\\n \\"MetricsStatus\\": {\\n \\"DesiredReplicas\\": 2,\\n \\"NextScaleTimePeriod\\": 3,\\n \\"CurrentReplicas\\": 2,\\n \\"LastScaleTime\\": \\"2022-01-11T08:14:32Z\\",\\n \\"CurrentMetrics\\": [\\n {\\n \\"Type\\": \\"Resource\\",\\n \\"CurrentValue\\": 0,\\n \\"Name\\": \\"cpu\\"\\n }\\n ],\\n \\"NextScaleMetrics\\": [\\n {\\n \\"NextScaleOutAverageUtilization\\": 21,\\n \\"NextScaleInAverageUtilization\\": 10,\\n \\"Name\\": \\"cpu\\"\\n }\\n ]\\n },\\n \\"MaxReplicas\\": 3,\\n \\"MinReplicas\\": 1,\\n \\"ScaleUpRules\\": {\\n \\"Step\\": 100,\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"Disabled\\": false\\n },\\n \\"ScaleDownRules\\": {\\n \\"Step\\": 100,\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"Disabled\\": false\\n }\\n },\\n \\"ScaleRuleName\\": \\"test\\",\\n \\"MinReadyInstances\\": 1,\\n \\"MinReadyInstanceRatio\\": -1\\n },\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeApplicationScalingRuleResponse>\\n <RequestId>73404D3D-EE4F-4CB2-B197-5C46F6A1****</RequestId>\\n <TraceId>0b57ff7e16243300839193068e****</TraceId>\\n <Data>\\n <Timer>\\n <EndDate>2021-04-25</EndDate>\\n <BeginDate>2021-03-25</BeginDate>\\n <Schedules>\\n <AtTime>08:00</AtTime>\\n <TargetReplicas>2</TargetReplicas>\\n <MinReplicas>1</MinReplicas>\\n <MaxReplicas>10</MaxReplicas>\\n </Schedules>\\n <Period>* * *</Period>\\n </Timer>\\n <UpdateTime>1624330075827</UpdateTime>\\n <AppId>a0d2e04c-159d-40a8-b240-d2f2c263****</AppId>\\n <CreateTime>1624329843790</CreateTime>\\n <LastDisableTime>1641882854484</LastDisableTime>\\n <ScaleRuleEnabled>true</ScaleRuleEnabled>\\n <ScaleRuleType>timing</ScaleRuleType>\\n <Metric>\\n <Metrics>\\n <MetricTargetAverageUtilization>20</MetricTargetAverageUtilization>\\n <MetricType>CPU</MetricType>\\n <SlbProject>test</SlbProject>\\n <SlbLogstore>test</SlbLogstore>\\n <Vport>80</Vport>\\n <SlbId>lb-xxx</SlbId>\\n </Metrics>\\n <MetricsStatus>\\n <DesiredReplicas>2</DesiredReplicas>\\n <NextScaleTimePeriod>3</NextScaleTimePeriod>\\n <CurrentReplicas>2</CurrentReplicas>\\n <LastScaleTime>2022-01-11T08:14:32Z</LastScaleTime>\\n <CurrentMetrics>\\n <Type>Resource</Type>\\n <CurrentValue>0</CurrentValue>\\n <Name>cpu</Name>\\n </CurrentMetrics>\\n <NextScaleMetrics>\\n <NextScaleOutAverageUtilization>21</NextScaleOutAverageUtilization>\\n <NextScaleInAverageUtilization>10</NextScaleInAverageUtilization>\\n <Name>cpu</Name>\\n </NextScaleMetrics>\\n </MetricsStatus>\\n <MaxReplicas>3</MaxReplicas>\\n <MinReplicas>1</MinReplicas>\\n <ScaleUpRules>\\n <Step>100</Step>\\n <StabilizationWindowSeconds>300</StabilizationWindowSeconds>\\n <Disabled>false</Disabled>\\n </ScaleUpRules>\\n <ScaleDownRules>\\n <Step>100</Step>\\n <StabilizationWindowSeconds>300</StabilizationWindowSeconds>\\n <Disabled>false</Disabled>\\n </ScaleDownRules>\\n </Metric>\\n <ScaleRuleName>test</ScaleRuleName>\\n <MinReadyInstances>1</MinReadyInstances>\\n <MinReadyInstanceRatio>-1</MinReadyInstanceRatio>\\n </Data>\\n <Message>success</Message>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeApplicationScalingRuleResponse>","errorExample":""}]', - 'title' => 'DescribeApplicationScalingRule', - 'summary' => 'Queries an Auto Scaling policy of an application.', - ], - 'DescribeApplicationScalingRules' => [ - 'path' => '/pop/v1/sam/scale/applicationScalingRules', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'Application.NotDeployYet', 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', 'description' => 'The application has not been deployed. Please deploy it and try again.'], + ], + 404 => [ + ['errorCode' => 'Associate.Eip.Not.Enough', 'errorMessage' => 'No sufficient EIPs are available.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4a815998-b468-4bea-b7d8-59f52a44****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'RestartApplication', + 'summary' => 'Restarts an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-03-30T11:11:44.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-26T09:19:38.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:RestartApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'RestartInstances' => [ + 'path' => '/pop/v1/sam/app/restartInstances', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '6321', - 'abilityTreeNodes' => [ - 'FEATUREsaeX1L0GL', - 'FEATUREsaeAINYGA', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '8961', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => '7171a6ca-d1cd-4928-8642-7d5cfe69\\*\\*\\*\\*'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '1daa7236-3844-4f36-b39a-605b0cc0****', 'title' => ''], + ], + [ + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the instance to be restarted. Separate multiple instance IDs with commas (,).', 'type' => 'string', 'required' => true, 'example' => 'mysae-1daa7236-3844-4f36-b39a-605b0cc0caa6-*****', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The response parameters.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned. Take note of the following rules:'."\n" + ."\n" + .'- success: If the call is successful, **success** is returned.'."\n" + ."\n" + .'- An error code: If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The data returned.'."\n", + 'description' => 'The details of the application.', 'type' => 'object', 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The total number of auto scaling policies.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'ApplicationScalingRules' => [ - 'description' => 'The auto scaling policies of the application.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The auto scaling policies.'."\n", - 'type' => 'object', - 'properties' => [ - 'Timer' => [ - 'description' => 'The details of the scheduled auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'EndDate' => [ - 'description' => 'The end date of the validity period of the scheduled auto scaling policy. Valid values:'."\n" - ."\n" - .'* If both the **BeginDate** and **EndDate** parameters are set to **null**, the auto scaling policy can always be triggered. The default value for these parameters is null.'."\n" - .'* If the two parameters are set to specific dates, the scheduled auto scaling policy can be triggered during the period between the two dates. For example, if **BeginDate** is 2021-03-25 and **EndDate** is 2021-04-25, the auto scaling policy is valid for one month.'."\n", - 'type' => 'string', - 'example' => '2021-04-25', - ], - 'BeginDate' => [ - 'description' => 'The start date of the validity period of the scheduled auto scaling policy. Valid values:'."\n" - ."\n" - .'* If both the **BeginDate** and **EndDate** parameters are set to **null**, the auto scaling policy can always be triggered. The default value for these parameters is null.'."\n" - .'* If the two parameters are set to specific dates, the scheduled auto scaling policy can be triggered during the period between the two dates. For example, if **BeginDate** is 2021-03-25 and **EndDate** is 2021-04-25, the auto scaling policy is valid for one month.'."\n", - 'type' => 'string', - 'example' => '2021-03-25', - ], - 'Schedules' => [ - 'description' => 'The points in time when the auto scaling policy is triggered within one day.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AtTime' => [ - 'description' => 'The point in time. Format: **Hour:Minute**.'."\n", - 'type' => 'string', - 'example' => '08:00', - ], - 'TargetReplicas' => [ - 'description' => 'The expected number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '50', - ], - 'MinReplicas' => [ - 'description' => 'The minimum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - ], - 'Period' => [ - 'description' => 'The days on which the scheduled auto scaling policy takes effect. Valid values:'."\n" - ."\n" - .'* **\\* \\* \\***: The scheduled auto scaling policy takes effect at a specified time every day.'."\n" - ."\n" - .'* **\\* \\* Fri,Mon**: The scheduled auto scaling policy takes effect at a specified time on one or multiple days of a week. The specified time is in the GMT+8 time zone. Valid values:'."\n" - ."\n" - .' * **Sun**: Sunday'."\n" - .' * **Mon**: Monday'."\n" - .' * **Tue**: Tuesday'."\n" - .' * **Wed**: Wednesday'."\n" - .' * **Thu**: Thursday'."\n" - .' * **Fri**: Friday'."\n" - .' * **Sat**: Saturday'."\n" - ."\n" - .'* **1,2,3,28,31 \\* \\***: The scheduled auto scaling policy takes effect at a specified time on one or multiple days of a month. Valid values: 1 to 31. If the month does not have a 31st day, the auto scaling policy takes effect on the specified days other than the 31st day.'."\n", - 'type' => 'string', - 'example' => '* * *', - ], - 'TimeZone' => [ - 'type' => 'string', - ], - ], - ], - 'UpdateTime' => [ - 'description' => 'The time when the auto scaling policy was updated. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1616642248938', - ], - 'AppId' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - 'CreateTime' => [ - 'description' => 'The time when the auto scaling policy was created. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1616642248938', - ], - 'LastDisableTime' => [ - 'description' => 'The time when the auto scaling policy was last disabled.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1641882854484', - ], - 'ScaleRuleEnabled' => [ - 'description' => 'Indicates whether the auto scaling policy is enabled. Valid values:'."\n" - ."\n" - .'* **true**: enabled'."\n" - .'* **false**: disabled'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'ScaleRuleType' => [ - 'description' => 'The type of the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **timing**: the scheduled auto scaling policy.'."\n" - .'* **metric**: the metric-based auto scaling policy.'."\n" - .'* **mix**: the hybrid auto scaling policy.'."\n", - 'type' => 'string', - 'example' => 'timing', - ], - 'Metric' => [ - 'description' => 'The details of the metric-based auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'Metrics' => [ - 'description' => 'The list of metrics that are used to trigger the auto scaling policy.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'MetricTargetAverageUtilization' => [ - 'description' => 'The limit on the metric.'."\n" - ."\n" - .'* The limit on the CPU utilization. Unit: percentage.'."\n" - .'* The limit on the memory usage. Unit: percentage.'."\n" - .'* The limit on the average number of active TCP connections per second.'."\n" - .'* The limit on the queries per second (QPS) of the Internet-facing Server Load Balancer (SLB) instance.'."\n" - .'* The limit on the response time of the Internet-facing SLB instance. Unit: milliseconds.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'MetricType' => [ - 'description' => 'The metric that is used to trigger the auto scaling policy. Valid values:'."\n" - ."\n" - .'* **CPU**: the CPU utilization.'."\n" - .'* **MEMORY**: the memory usage.'."\n" - .'* **tcpActiveConn**: the average number of active TCP connections per second of an application instance in 30 seconds.'."\n" - .'* **SLB_QPS**: the average QPS of the Internet-facing SLB instance associated with an application instance in 15 seconds.'."\n" - .'* **SLB_RT**: the average response time of the Internet-facing SLB instance in 15 seconds.'."\n", - 'type' => 'string', - 'example' => 'CPU', - ], - 'SlbProject' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test', - ], - 'SlbLogstore' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'test', - ], - 'Vport' => [ - 'description' => '', - 'type' => 'string', - 'example' => '80', - ], - 'SlbId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'lb-xxx', - ], - ], - ], - ], - 'PrometheusMetrics' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'PrometheusQuery' => [ - 'type' => 'string', - ], - 'TargetMetricValue' => [ - 'type' => 'string', - ], - ], - ], - ], - 'MetricsStatus' => [ - 'description' => 'The execution status of the metric-based auto scaling policy.'."\n", - 'type' => 'object', - 'properties' => [ - 'DesiredReplicas' => [ - 'description' => 'The expected number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'NextScaleTimePeriod' => [ - 'description' => 'The duration for which the metric-based auto scaling policy takes effect next time.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'CurrentReplicas' => [ - 'description' => 'The current number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'LastScaleTime' => [ - 'description' => 'The time when the auto scaling policy was last triggered.'."\n", - 'type' => 'string', - 'example' => '2022-01-11T08:14:32Z', - ], - 'CurrentMetrics' => [ - 'description' => 'The metrics that are used to trigger the auto scaling policy this time.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Type' => [ - 'description' => 'The type of the data. This parameter corresponds to the metric.'."\n" - ."\n" - .'* **Resource**: used when the metric is the **CPU utilization** or **memory usage**.'."\n" - .'* **Pods**: used when the metric is the **number of active TCP connections**.'."\n" - .'* **External**: used when the metric is about the **SLB** instance or from **Application Real-Time Monitoring Service (ARMS)**.'."\n", - 'type' => 'string', - 'example' => 'Resource', - ], - 'CurrentValue' => [ - 'description' => 'The current value of the metric.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Name' => [ - 'description' => 'The name of the metric.'."\n" - ."\n" - .'* **cpu**: the CPU utilization.'."\n" - .'* **memory**: the memory usage.'."\n" - .'* **tcpActiveConn**: the number of active TCP connections.'."\n" - .'* **slb_incall_qps**: the QPS of the Internet-facing SLB instance.'."\n" - .'* **slb_incall_rt**: the response time of the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - 'NextScaleMetrics' => [ - 'description' => 'The metrics that are used to trigger the auto scaling policy next time.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'NextScaleOutAverageUtilization' => [ - 'description' => 'The metric value as a percentage that triggers the application scale-out next time.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '21', - ], - 'NextScaleInAverageUtilization' => [ - 'description' => 'The metric value as a percentage that triggers the application scale-in next time.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'Name' => [ - 'description' => 'The name of the metric.'."\n" - ."\n" - .'* **cpu**: the CPU utilization.'."\n" - .'* **memory**: the memory usage.'."\n" - .'* **tcpActiveConn**: the number of active TCP connections.'."\n" - .'* **slb_incall_qps**: the QPS of the Internet-facing SLB instance.'."\n" - .'* **slb_incall_rt**: the response time of the Internet-facing SLB instance.'."\n", - 'type' => 'string', - 'example' => 'cpu', - ], - ], - ], - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'MinReplicas' => [ - 'description' => 'The minimum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - 'MaxReplicas' => [ - 'description' => 'The maximum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - 'MinReplicas' => [ - 'description' => 'The minimum number of instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'ScaleUpRules' => [ - 'description' => 'Rules that determine the application scale-out.'."\n", - 'type' => 'object', - 'properties' => [ - 'Step' => [ - 'description' => 'The step size for the scale-out. The maximum number of instances that can be added in a unit of time.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'StabilizationWindowSeconds' => [ - 'description' => 'The cooldown time of the scale-out. Valid values: 0 to 3600. Unit: seconds. The default value is 0.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '300', - ], - 'Disabled' => [ - 'description' => 'Indicates whether the application scale-in was disabled. Valid values:'."\n" - ."\n" - .'* **true**: The application scale-in was disabled.'."\n" - .'* **false**: The application scale-in was enabled.'."\n" - ."\n" - .'> When this parameter is set to true, the application instances will never be reduced. This prevents risks to your business in peak hours. By default, this parameter is set to false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - 'ScaleDownRules' => [ - 'description' => 'Rules that determine the application scale-in.'."\n", - 'type' => 'object', - 'properties' => [ - 'Step' => [ - 'description' => 'The step size for the scale-in. The maximum number of instances that can be reduced in a unit of time.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'StabilizationWindowSeconds' => [ - 'description' => 'The cooldown time of the scale-in. Valid values: 0 to 3600. Unit: seconds. The default value is 0.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '300', - ], - 'Disabled' => [ - 'description' => 'Indicates whether the application scale-in was disabled. Valid values:'."\n" - ."\n" - .'* **true**: The application scale-in was disabled.'."\n" - .'* **false**: The application scale-in was enabled.'."\n" - ."\n" - .'> When this parameter is set to true, the application instances will never be reduced. This prevents risks to your business in peak hours. By default, this parameter is set to false.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - 'MetricSource' => [ - 'type' => 'string', - ], - 'PrometheusUrl' => [ - 'type' => 'string', - ], - 'PrometheusToken' => [ - 'type' => 'string', - ], - ], - ], - 'ScaleRuleName' => [ - 'description' => 'The name of the auto scaling policy.', - 'type' => 'string', - 'example' => 'test', - ], - 'MinReadyInstances' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'MinReadyInstanceRatio' => [ - 'description' => '', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - ], - ], - ], + 'ChangeOrderId' => ['description' => 'The ID of the change order.', 'type' => 'string', 'example' => '5afa5b98-0c64-4637-983f-15eaa888****', 'title' => ''], ], - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'ErrorCode' => [ - 'description' => '', - 'type' => 'string', + 'title' => '', 'example' => '', ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Take note of the following rules:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Specifies whether the instances are successfully restarted. Take note of the following rules:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 3,\\n \\"PageSize\\": 10,\\n \\"ApplicationScalingRules\\": [\\n {\\n \\"Timer\\": {\\n \\"EndDate\\": \\"2021-04-25\\",\\n \\"BeginDate\\": \\"2021-03-25\\",\\n \\"Schedules\\": [\\n {\\n \\"AtTime\\": \\"08:00\\",\\n \\"TargetReplicas\\": 3,\\n \\"MaxReplicas\\": 50,\\n \\"MinReplicas\\": 1\\n }\\n ],\\n \\"Period\\": \\"* * *\\",\\n \\"TimeZone\\": \\"\\"\\n },\\n \\"UpdateTime\\": 1616642248938,\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"CreateTime\\": 1616642248938,\\n \\"LastDisableTime\\": 1641882854484,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"Metric\\": {\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 20,\\n \\"MetricType\\": \\"CPU\\",\\n \\"SlbProject\\": \\"test\\",\\n \\"SlbLogstore\\": \\"test\\",\\n \\"Vport\\": \\"80\\",\\n \\"SlbId\\": \\"lb-xxx\\"\\n }\\n ],\\n \\"PrometheusMetrics\\": [\\n {\\n \\"PrometheusQuery\\": \\"\\",\\n \\"TargetMetricValue\\": \\"\\"\\n }\\n ],\\n \\"MetricsStatus\\": {\\n \\"DesiredReplicas\\": 2,\\n \\"NextScaleTimePeriod\\": 3,\\n \\"CurrentReplicas\\": 2,\\n \\"LastScaleTime\\": \\"2022-01-11T08:14:32Z\\",\\n \\"CurrentMetrics\\": [\\n {\\n \\"Type\\": \\"Resource\\",\\n \\"CurrentValue\\": 0,\\n \\"Name\\": \\"cpu\\"\\n }\\n ],\\n \\"NextScaleMetrics\\": [\\n {\\n \\"NextScaleOutAverageUtilization\\": 21,\\n \\"NextScaleInAverageUtilization\\": 10,\\n \\"Name\\": \\"cpu\\"\\n }\\n ],\\n \\"MaxReplicas\\": 3,\\n \\"MinReplicas\\": 1\\n },\\n \\"MaxReplicas\\": 3,\\n \\"MinReplicas\\": 1,\\n \\"ScaleUpRules\\": {\\n \\"Step\\": 100,\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"Disabled\\": false\\n },\\n \\"ScaleDownRules\\": {\\n \\"Step\\": 100,\\n \\"StabilizationWindowSeconds\\": 300,\\n \\"Disabled\\": false\\n },\\n \\"MetricSource\\": \\"\\",\\n \\"PrometheusUrl\\": \\"\\",\\n \\"PrometheusToken\\": \\"\\"\\n },\\n \\"ScaleRuleName\\": \\"test\\",\\n \\"MinReadyInstances\\": 1,\\n \\"MinReadyInstanceRatio\\": -1\\n }\\n ]\\n },\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeApplicationScalingRulesResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>3</TotalSize>\\n <PageSize>10</PageSize>\\n <ApplicationScalingRules>\\n <Timer>\\n <EndDate>2021-04-25</EndDate>\\n <BeginDate>2021-03-25</BeginDate>\\n <Schedules>\\n <AtTime>08:00</AtTime>\\n <TargetReplicas>3</TargetReplicas>\\n <MaxReplicas>50</MaxReplicas>\\n <MinReplicas>1</MinReplicas>\\n </Schedules>\\n <Period>* * *</Period>\\n </Timer>\\n <UpdateTime>1616642248938</UpdateTime>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <CreateTime>1616642248938</CreateTime>\\n <LastDisableTime>1641882854484</LastDisableTime>\\n <ScaleRuleEnabled>true</ScaleRuleEnabled>\\n <ScaleRuleType>timing</ScaleRuleType>\\n <Metric>\\n <Metrics>\\n <MetricTargetAverageUtilization>20</MetricTargetAverageUtilization>\\n <MetricType>CPU</MetricType>\\n <SlbProject>test</SlbProject>\\n <SlbLogstore>test</SlbLogstore>\\n <Vport>80</Vport>\\n <SlbId>lb-xxx</SlbId>\\n </Metrics>\\n <MetricsStatus>\\n <DesiredReplicas>2</DesiredReplicas>\\n <NextScaleTimePeriod>3</NextScaleTimePeriod>\\n <CurrentReplicas>2</CurrentReplicas>\\n <LastScaleTime>2022-01-11T08:14:32Z</LastScaleTime>\\n <CurrentMetrics>\\n <Type>Resource</Type>\\n <CurrentValue>0</CurrentValue>\\n <Name>cpu</Name>\\n </CurrentMetrics>\\n <NextScaleMetrics>\\n <NextScaleOutAverageUtilization>21</NextScaleOutAverageUtilization>\\n <NextScaleInAverageUtilization>10</NextScaleInAverageUtilization>\\n <Name>cpu</Name>\\n </NextScaleMetrics>\\n <MaxReplicas>3</MaxReplicas>\\n <MinReplicas>1</MinReplicas>\\n </MetricsStatus>\\n <MaxReplicas>3</MaxReplicas>\\n <MinReplicas>1</MinReplicas>\\n <ScaleUpRules>\\n <Step>100</Step>\\n <StabilizationWindowSeconds>300</StabilizationWindowSeconds>\\n <Disabled>false</Disabled>\\n </ScaleUpRules>\\n <ScaleDownRules>\\n <Step>100</Step>\\n <StabilizationWindowSeconds>300</StabilizationWindowSeconds>\\n <Disabled>false</Disabled>\\n </ScaleDownRules>\\n </Metric>\\n <ScaleRuleName>test</ScaleRuleName>\\n <MinReadyInstances>1</MinReadyInstances>\\n <MinReadyInstanceRatio>-1</MinReadyInstanceRatio>\\n </ApplicationScalingRules>\\n </Data>\\n <Message>success</Message>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeApplicationScalingRulesResponse>","errorExample":""}]', - 'title' => 'DescribeApplicationScalingRules', - 'summary' => 'Queries the auto scaling policies of an application.', - ], - 'CreateWebApplication' => [ - 'summary' => 'Create a web application', - 'path' => '/pop/v2/api/web/applications', - 'methods' => [ - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'Application.NotDeployYet', 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', 'description' => 'The application has not been deployed. Please deploy it and try again.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"5afa5b98-0c64-4637-983f-15eaa888****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'RestartInstances', + 'summary' => 'Restarts one or more instances in an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-26T09:19:38.000Z', 'description' => 'Error codes changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartInstances'], + ], ], - 'tags' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:RestartInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'ResumeTraffic' => [ + 'summary' => 'Resumes traffic on an instance from Classic Load Balancer (CLB), Network Load Balancer (NLB), CLB gateway routing, Application Load Balancer (ALB) gateway routing, and Kubernetes Service.', + 'path' => '/pop/v1/sam/app/instanceTrafficResume', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '181739', - 'abilityTreeNodes' => [ - 'FEATUREsaeUWY6ZL', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '289039', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => false, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], [ - 'name' => 'body', - 'in' => 'body', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用信息', - 'description' => 'The information about the application.'."\n", - 'required' => true, - '$ref' => '#/components/schemas/CreateWebApplicationInput', - ], + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => ['description' => 'The instance ID. To specify multiple instances, separate their IDs with commas.', 'type' => 'string', 'required' => false, 'example' => 'c-668727a8-17d86664-41e5bb******,c-668727a8-17d86664-7e4958******', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '返回信息', 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationBody', + 'title' => 'Schema of Response', + 'description' => 'The response body.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****'], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID of the request. You can use this ID to troubleshoot the request.', 'type' => 'string', 'example' => 'ac1a0b2215622920113732501e****', 'title' => ''], + 'Data' => [ + 'description' => 'The returned results.', + 'type' => 'object', + 'properties' => [ + 'msg' => ['description' => 'Details about the operation\'s result.', 'type' => 'string', 'example' => 'succeed in handling request', 'title' => ''], + 'success' => ['description' => 'Indicates whether the traffic was resumed.'."\n" + ."\n" + .'- **True**: The traffic was resumed.'."\n" + ."\n" + .'- **False**: The traffic was not resumed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is empty if the request is successful.'."\n" + ."\n" + .'- If the request fails, this parameter contains an error code. For more information, see the "**Error codes**" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The API status code or POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: Redirection.'."\n" + ."\n" + .'- **4xx**: A client-side error occurred.'."\n" + ."\n" + .'- **5xx**: A server-side error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the traffic was resumed. **True** indicates that the traffic was resumed, and **False** indicates that the traffic was not resumed.', 'type' => 'string', 'example' => 'True', 'title' => ''], + ], + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'CreateWebApplication', - 'description' => 'Call the CreateWebApplication operation to create a web application.'."\n", - ], - 'DescribeWebApplication' => [ - 'summary' => 'Query web applications.', - 'path' => '/pop/v2/api/web/applications/{ApplicationId}', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"Data\\": {\\n \\"msg\\": \\"succeed in handling request\\",\\n \\"success\\": true\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": \\"True\\"\\n}","type":"json"}]', + 'title' => 'ResumeTraffic', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:26.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], - 'tags' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:ResumeTraffic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'RollbackApplication' => [ + 'path' => '/pop/v1/sam/app/rollbackApplication', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '225942', - 'abilityTreeNodes' => [ - 'FEATUREsaeUWY6ZL', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '6389', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'description' => '返回信息', - 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationBody', - ], - 'examples' => [], + 'name' => 'VersionId', + 'in' => 'query', + 'schema' => ['description' => 'The ID of the application version. Call the [ListAppVersions](~~162054~~) operation to obtain the version ID.', 'type' => 'string', 'required' => true, 'example' => '0026ff7f-2b57-4127-bdd0-9bf202bb9****', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DescribeWebApplication', - 'description' => 'Call the DescribeWebApplication operation to query web applications.'."\n", - ], - 'ListWebApplications' => [ - 'summary' => 'Query the list of web applications.', - 'path' => '/pop/v2/api/web/applications', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'tags' => [], - 'security' => [ [ - 'AK' => [], - ], - ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '181738', - 'abilityTreeNodes' => [ - 'FEATUREsaeUWY6ZL', + 'name' => 'BatchWaitTime', + 'in' => 'query', + 'schema' => ['description' => 'The wait time between batches. Unit: seconds.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'MinReadyInstances', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The minimum number of available instances. Take note of the following rules:'."\n" + ."\n" + .'- If you set the value to **0**, business interruptions occur when the application is updated.'."\n" + ."\n" + .'- If you set the value to \\*\\*-1\\*\\*, the minimum number of available instances is automatically set to a system-recommended value. The value is the nearest integer to which the calculated result of the following formula is rounded up: Current number of instances × 25%. For example, if five instances are available, the minimum number of available instances is calculated by using the following formula: 5 × 25% = 1.25. In this case, the minimum number of available instances is 2.'."\n" + ."\n" + .'> Make sure that at least one instance is available during application deployment and rollback to prevent business interruptions.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Prefix', + 'name' => 'MinReadyInstanceRatio', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '应用名前缀', - 'description' => 'The prefix of the application name.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'my-application', - ], + 'schema' => ['description' => 'The percentage of the minimum number of available instances. Take note of the following rules:'."\n" + ."\n" + .'- If you set the value to **-1**, the minimum number of available instances is not determined based on this parameter. Default value: -1.'."\n" + ."\n" + .'- If you set the value to a number **from 0 to 100**, the minimum number of available instances is calculated by using the following formula: Current number of instances × (Value of MinReadyInstanceRatio × 100%). The value is the nearest integer rounded up from the calculated result. For example, if the percentage is set to **50**% and five instances are available, the minimum number of available instances is 3.'."\n" + ."\n" + .'> When both **MinReadyInstance** and **MinReadyInstanceRatio** are specified and **MinReadyInstanceRatio** is set to a number from 0 to 100, the value of **MinReadyInstanceRatio** takes precedence.\\*\\* For example, if **MinReadyInstances** is set to \\*\\*5, and **MinReadyInstanceRatio** is set to **50**, the minimum number of available instances is set to the nearest integer rounded up from the calculated result of the following formula: Current number of instances × **50%**.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-1', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'UpdateStrategy', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '分页起始标记', - 'description' => 'The pagination token.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'MTIzNCNhYmM', - ], + 'schema' => ['description' => 'The deployment policy. If the minimum number of available instances is 1, the value of the **UpdateStrategy** parameter is an empty string (""). If the minimum number of available instances is larger than 1, specify this parameter based on your requirements. Examples:'."\n" + ."\n" + .'- Perform canary release for one instance and release the remaining instances in two batches automatically with a one-minute interval between the deployment of each instance:'."\n" + ."\n" + .' `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}`'."\n" + ."\n" + .'- Perform canary release for one instance and release the remaining instances in two batches manually:'."\n" + ."\n" + .' `{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}`'."\n" + ."\n" + .'- Release the instances in two batches automatically with no interval between the deployment of each instance:'."\n" + ."\n" + .' `{"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}`'."\n" + ."\n" + .'The following table describes the parameters that are used in the preceding statements.'."\n" + ."\n" + .'- **type**: the type of the release policy. Valid values: **GrayBatchUpdate** and **BatchUpdate**.'."\n" + ."\n" + .'- **batchUpdate**: the phased release policy.'."\n" + ."\n" + .' - **batch**: the number of release batches.'."\n" + ."\n" + .' - **releaseType**: the processing method for the batches. Valid values: **auto** and **manual**.'."\n" + ."\n" + .' - **batchWaitTime**: the interval between release batches. Unit: seconds.'."\n" + ."\n" + .'- **grayUpdate**: the number of release batches in the phased release after a canary release. This parameter is returned only if the **type** parameter is set to **GrayBatchUpdate**.', 'type' => 'string', 'required' => false, 'example' => '{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}', 'title' => ''], ], [ - 'name' => 'Limit', + 'name' => 'AutoEnableApplicationScalingRule', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '返回的应用数量', - 'description' => 'The number of applications returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'Specifies whether to automatically enable an auto scaling policy for the application. Take note of the following rules:'."\n" + ."\n" + .'- **true**: turns on Logon-free Sharing'."\n" + ."\n" + .'- **false**: turns off Logon-free Sharing', 'type' => 'string', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '返回信息', 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/ListWebApplicationsBody', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The message returned for the operation.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The response.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change process.', 'type' => 'string', 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', 'title' => ''], + 'IsNeedApproval' => ['description' => 'Specifies whether approval is required when a RAM user performs release. Take note of the following rules:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Take note of the following rules:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application is successfully rolled back. Take note of the following rules:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"NextToken\\": \\"\\",\\n \\"WebApplicationWithInstanceCount\\": [\\n {\\n \\"WebApplication\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"InstanceCount\\": 0\\n }\\n ]\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'ListWebApplications', - 'description' => 'Call the ListWebApplications operation to query the list of web applications.'."\n", - ], - 'UpdateWebApplication' => [ - 'summary' => 'Updates the configuration at the web application level.', - 'path' => '/pop/v2/api/web/applications/{ApplicationId}', - 'methods' => [ - 'put', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'Application.NotDeployYet', 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', 'description' => 'The application has not been deployed. Please deploy it and try again.'], + ['errorCode' => 'rollback.error', 'errorMessage' => 'Failed to roll back.', 'description' => 'Rollback error'], + ['errorCode' => 'Application.MissingJdk', 'errorMessage' => 'Your application must at least contain a JDK component.', 'description' => ''], + ['errorCode' => 'JarApplication.MissingJdk', 'errorMessage' => 'A FatJar application must contain JDK.', 'description' => ''], + ['errorCode' => 'PandoraApplication.MissingJdk', 'errorMessage' => 'The Pandora application is missing a JDK component.', 'description' => ''], + ['errorCode' => 'WarApplication.MissingJdkWebcontainer', 'errorMessage' => 'A War application must contain JDK and Tomcat.', 'description' => ''], + ['errorCode' => 'InvalidComponent.NotFound', 'errorMessage' => 'The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.', 'description' => ''], + ['errorCode' => 'InvalidHostnameIp.Invalid', 'errorMessage' => 'The hostname and/or IP is invalid: Hostname [%s], IP [%s].', 'description' => ''], + ['errorCode' => 'InvalidInstanceSpecification.Unsupported', 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', 'description' => ''], + ['errorCode' => 'InvalidPackageType.NotFound', 'errorMessage' => 'The package type must be War, FatJar, or Image.', 'description' => ''], + ['errorCode' => 'LogService.ConfigQuotaExceed', 'errorMessage' => 'The maximum number of Log Service configs is exceeded.', 'description' => 'The maximum number of Log Service configs is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'LogService.InternalError', 'errorMessage' => 'An exception occurred while calling Log Service. Please submit a ticket to solve the problem.', 'description' => 'An exception occurred while calling log service. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'LogService.LogDirInvalid', 'errorMessage' => 'The log collection path is invalid.', 'description' => 'The log collection path is invalid.'], + ['errorCode' => 'LogService.NotAvailable', 'errorMessage' => 'Log Service is unavailable. Please activate Log Service first.', 'description' => 'The log service is not available. Please open the log service first.'], + ['errorCode' => 'LogService.ProjectNumQuotaExceed', 'errorMessage' => 'The maximum number of Log Service projects is exceeded.', 'description' => 'The maximum number of Log Service projects is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'VolumnPath.Conflict', 'errorMessage' => 'Conflict between log collection directory and persistent storage directory.', 'description' => 'Conflict between log collection directory and persistent storage directory.'], + ['errorCode' => 'MountConflict.ConfigMap', 'errorMessage' => 'Conflict detected for ConfigMap path %s.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMap', 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMapKey', 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', 'description' => 'The minimum number of available instances must be less than the number of application instances.'], + ['errorCode' => 'MinReadyInstanceRatio.Invalid', 'errorMessage' => 'The ratio of minimum available instances must be between 0 and 100.', 'description' => ''], + ['errorCode' => 'Package.Version.Too.Long', 'errorMessage' => 'The maximum length of package version is exceeded.', 'description' => 'This package version is too long.'], + ['errorCode' => 'App.Package.Version.Exists', 'errorMessage' => 'The package version of application already exists.', 'description' => 'The package version of application already exists.'], + ['errorCode' => 'Slb.Occupied', 'errorMessage' => 'The SLB instance is occupied.', 'description' => 'This SLB is occupied.'], + ['errorCode' => 'Slb.Tag.Not.Qualified', 'errorMessage' => 'The current SLB instance cannot be reused because it may have been occupied by %s.', 'description' => 'The current SLB instance cannot be reused because it may have been occupied by %s.'], + ['errorCode' => 'InvalidParameter.FileName', 'errorMessage' => 'The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file.', 'description' => ''], + ['errorCode' => 'vswitch.not.exist', 'errorMessage' => 'The specified vSwitch does not exist.', 'description' => 'The specified vSwitch does not exist. Please change the vSwitch.'], + ], + 404 => [ + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\",\\n \\"IsNeedApproval\\": true\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'RollbackApplication', + 'summary' => 'Rolls back an application.', + 'requestParamsDescription' => ' ', + 'responseParamsDescription' => ' ', + 'extraInfo' => ' ', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-26T09:19:37.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-02-21T02:03:50.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-01-18T04:01:16.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2021-11-17T02:28:51.000Z', 'description' => 'Response parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RollbackApplication'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:RollbackApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'tags' => [], + ], + 'StartApplication' => [ + 'path' => '/pop/v1/sam/app/startApplication', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '181749', - 'abilityTreeNodes' => [ - 'FEATUREsaeUWY6ZL', - ], + 'abilityTreeCode' => '6390', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], - ], - [ - 'name' => 'body', - 'in' => 'body', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '更新应用的信息', - 'description' => 'Updates the information about a web application.'."\n", - 'required' => true, - '$ref' => '#/components/schemas/UpdateWebApplicationInput', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '返回信息', 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationBody', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '7BD8F4C7-D84C-4D46-9885-8212997E****', 'title' => ''], + 'Message' => ['description' => 'The returned message. Take note of the following rules:'."\n" + ."\n" + .'- If the call is successful, **success** is returned.'."\n" + ."\n" + .'- If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0bc3b6e215637275918588187d****', 'title' => ''], + 'Data' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change order.', 'type' => 'string', 'example' => '4a815998-b468-4bea-b7d8-59f52a44****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code returned. Take note of the following rules:'."\n" + ."\n" + .'- If the call is successful, **ErrorCode** is not returned.'."\n" + ."\n" + .'- If the call fails, **ErrorCode** is returned. For more information, see the "**Error codes**" section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application is started. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'UpdateWebApplication', - 'description' => 'You can call the UpdateWebApplication operation to update the configuration at the web application level.'."\n", - ], - 'DeleteWebApplication' => [ - 'summary' => 'Delete a web application.', - 'path' => '/pop/v2/api/web/applications/{ApplicationId}', - 'methods' => [ - 'delete', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'vswitch.not.exist', 'errorMessage' => 'The specified vSwitch does not exist.', 'description' => 'The specified vSwitch does not exist. Please change the vSwitch.'], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'Application.NotDeployYet', 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', 'description' => 'The application has not been deployed. Please deploy it and try again.'], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7BD8F4C7-D84C-4D46-9885-8212997E****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3b6e215637275918588187d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4a815998-b468-4bea-b7d8-59f52a44****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'StartApplication', + 'summary' => 'Starts an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-26T09:19:38.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-05-27T03:00:55.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartApplication'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:StartApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'StartWebApplication' => [ + 'summary' => 'Start a web application.', + 'path' => '/pop/v2/api/web/application-ops/{ApplicationId}/start', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'tags' => [], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '181737', - 'abilityTreeNodes' => [ - 'FEATUREsaeUWY6ZL', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '197218', + 'abilityTreeNodes' => ['FEATUREsaeUWY6ZL'], ], 'parameters' => [ [ 'name' => 'NamespaceId', 'in' => 'query', 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test'], ], [ 'name' => 'ApplicationId', 'in' => 'path', 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****'], ], ], 'responses' => [ 200 => [ - 'schema' => [ - 'description' => 'The returned message.'."\n", - '$ref' => '#/components/schemas/WebApplicationBody', - ], + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationBody', 'example' => ''], + 'examples' => [], ], ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DeleteWebApplication', - 'description' => 'Call the DeleteWebApplication operation to delete a web application.'."\n", - ], - 'UpdateWebApplicationScalingConfig' => [ - 'summary' => 'Update the scaling configuration of a web application.', - 'path' => '/pop/v2/api/web/application-scaling/{ApplicationId}', - 'methods' => [ - 'put', + 'title' => 'StartWebApplication', + 'description' => 'Call the StartWebApplication operation to start a web application.'."\n", + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:02:58.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], - 'tags' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:StartWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'StopApplication' => [ + 'path' => '/pop/v1/sam/app/stopApplication', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '225956', - 'abilityTreeNodes' => [ - 'FEATUREsaeWX6046', - ], + 'abilityTreeCode' => '6391', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], - ], - [ - 'name' => 'body', - 'in' => 'body', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '弹性配置信息', - 'description' => 'The information about scaling configurations.'."\n", - 'required' => true, - '$ref' => '#/components/schemas/UpdateWebApplicationScalingConfigInput', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '返回信息', 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationScalingConfigBody', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message. Valid values:'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the call chain. Use this ID to query detailed information about the call.', 'type' => 'string', 'example' => '0bc3b6e215637275918588187d****', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The ID of the change order.', 'type' => 'string', 'example' => '4a815998-b468-4bea-b7d8-59f52a44****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The status of the API call or a POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application was stopped. Valid values:'."\n" + ."\n" + .'- **true**: The application was stopped.'."\n" + ."\n" + .'- **false**: The application failed to be stopped.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'UpdateWebApplicationScalingConfig', - 'description' => 'You can call the UpdateWebApplicationScalingConfig operation to update the scaling configurations of a web application.'."\n", - ], - 'DescribeWebApplicationScalingConfig' => [ - 'summary' => 'Describe the scaling configuration of a web application.', - 'path' => '/pop/v2/api/web/application-scaling/{ApplicationId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'tags' => [], - 'security' => [ - [ - 'AK' => [], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'Application.NotDeployYet', 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', 'description' => 'The application has not been deployed. Please deploy it and try again.'], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3b6e215637275918588187d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4a815998-b468-4bea-b7d8-59f52a44****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'StopApplication', + 'summary' => 'Stops an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '225945', - 'abilityTreeNodes' => [ - 'FEATUREsaeWX6046', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopApplication'], ], ], - 'parameters' => [ - [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:sae-test', - ], - ], + 'ramActions' => [ [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], - ], - ], - 'responses' => [ - 200 => [ - 'description' => '返回信息', - 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationScalingConfigBody', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:StopApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Application', 'arn' => 'acs:sae:{#regionId}:{#accountId}:application/{#namespaceid}/{#appid}'], + ], ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DescribeWebApplicationScalingConfig', - 'description' => 'Call the DescribeWebApplicationScalingConfig operation to obtain the scaling configuration of a web application.'."\n", ], 'StopWebApplication' => [ 'summary' => 'Stop a web application.', 'path' => '/pop/v2/api/web/application-ops/{ApplicationId}/stop', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'tags' => [], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'readAndWrite', 'systemTags' => [ 'operationType' => 'update', 'abilityTreeCode' => '197250', - 'abilityTreeNodes' => [ - 'FEATUREsaeUWY6ZL', - ], + 'abilityTreeNodes' => ['FEATUREsaeUWY6ZL'], ], 'parameters' => [ [ 'name' => 'NamespaceId', 'in' => 'query', 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test'], ], [ 'name' => 'ApplicationId', 'in' => 'path', 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****'], ], ], 'responses' => [ 200 => [ 'description' => '返回信息', - 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationBody', - ], + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationBody', 'example' => ''], 'examples' => [], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', 'title' => 'StopWebApplication', 'description' => 'Call the StopWebApplication operation to stop a web application.'."\n", - ], - 'StartWebApplication' => [ - 'summary' => 'Start a web application.', - 'path' => '/pop/v2/api/web/application-ops/{ApplicationId}/start', - 'methods' => [ - 'post', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:02:57.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], - 'tags' => [], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:StopWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'SuspendJob' => [ + 'path' => '/pop/v1/sam/job/suspendJob', + 'methods' => ['get'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '197218', - 'abilityTreeNodes' => [ - 'FEATUREsaeUWY6ZL', - ], + 'abilityTreeCode' => '100748', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'The ID of the job template.', 'type' => 'string', 'required' => true, 'example' => 'ee1a7a07-abcb-4652-a1d3-2d57f415****', 'title' => ''], ], [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'name' => 'Suspend', + 'in' => 'query', + 'schema' => ['description' => 'Start or suspend a job template.'."\n" + ."\n" + .'- true: Start a job template.'."\n" + ."\n" + .'- false: Suspend a job template.', 'type' => 'boolean', 'required' => true, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '返回信息', 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationBody', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '67DD9A98-9CCC-5BE8-8C9E-B45E72F4****', 'title' => ''], + 'Message' => ['description' => 'The additional information that is returned. Valid values:'."\n" + ."\n" + .'- success: If the call is successful, **success** is returned.'."\n" + ."\n" + .'- An error code: If the call fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0b87b7e716575071334387401e****', 'title' => ''], + 'Data' => ['description' => 'Whether the execution is successful.', 'type' => 'string', 'example' => '{success: true}', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code returned. Valid values:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see **Error codes** in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the job was executed. Valid values:'."\n" + ."\n" + .'- **true**: The job was executed.'."\n" + ."\n" + .'- **false**: The job failed to be executed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'description' => '', + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 404 => [ + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'StartWebApplication', - 'description' => 'Call the StartWebApplication operation to start a web application.'."\n", - ], - 'UpdateWebApplicationTrafficConfig' => [ - 'summary' => 'Update the traffic configurations of a web application.', - 'path' => '/pop/v2/api/web/application-traffic/{ApplicationId}', - 'methods' => [ - 'put', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"67DD9A98-9CCC-5BE8-8C9E-B45E72F4****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0b87b7e716575071334387401e****\\",\\n \\"Data\\": \\"{success: true}\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'SuspendJob', + 'summary' => 'Suspends one or more jobs.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:26.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SuspendJob'], + ], ], - 'tags' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:SuspendJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'SuspendTraffic' => [ + 'summary' => 'Stops routing traffic from Classic Load Balancer (CLB) application access, Network Load Balancer (NLB) application access, CLB gateway routes, Application Load Balancer (ALB) gateway routes, or Kubernetes (K8s) services to the specified instances.', + 'path' => '/pop/v1/sam/app/instanceTrafficSuspend', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '225957', - 'abilityTreeNodes' => [ - 'FEATUREsaeOXSSSO', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '289034', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], - ], - [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => false, 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****', 'title' => ''], ], [ - 'name' => 'body', - 'in' => 'body', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '流量配置信息', - 'description' => 'The traffic configurations.'."\n", - 'required' => true, - '$ref' => '#/components/schemas/UpdateWebApplicationTrafficConfigInput', - ], + 'name' => 'InstanceIds', + 'in' => 'query', + 'schema' => ['description' => 'The IDs of the instances.', 'type' => 'string', 'required' => false, 'example' => 'c-668727a8-17d86664-41e5bb******,c-668727a8-17d86664-7e4958******', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '返回信息', 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationTrafficConfigBody', + 'title' => 'Schema of Response', + 'description' => 'Response schema', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****'], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, a specific error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'msg' => ['description' => 'A detailed description of the result.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'success' => ['description' => 'Indicates whether the traffic was successfully removed. Valid values:'."\n" + ."\n" + .'- **true**: The traffic was removed.'."\n" + ."\n" + .'- **false**: The traffic was not removed.', 'type' => 'boolean', 'example' => 'True', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code. This parameter is returned only if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client-side error occurred.'."\n" + ."\n" + .'- **5xx**: A server-side error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:', 'type' => 'string', 'example' => 'true', 'title' => ''], + ], + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'UpdateWebApplicationTrafficConfig', - 'description' => 'Call the UpdateWebApplicationTrafficConfig operation to update the traffic configurations of a web application.'."\n", - ], - 'DescribeWebApplicationTrafficConfig' => [ - 'summary' => 'Query the traffic configurations of a web application.', - 'path' => '/pop/v2/api/web/application-traffic/{ApplicationId}', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"msg\\": \\"success\\",\\n \\"success\\": true\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + 'title' => 'SuspendTraffic', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], - 'tags' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:SuspendTraffic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'TagResources' => [ + 'path' => '/tags', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '225946', - 'abilityTreeNodes' => [ - 'FEATUREsaeOXSSSO', - ], + 'abilityTreeCode' => '6393', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-beijing:test', - ], + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', - ], + 'name' => 'ResourceType', + 'in' => 'formData', + 'schema' => ['description' => 'The resource type. Only `application` is supported.', 'type' => 'string', 'required' => true, 'example' => 'application', 'title' => ''], + ], + [ + 'name' => 'Tags', + 'in' => 'formData', + 'schema' => ['description' => 'The key-value pairs of the tags. This parameter is required unless you specify the **ResourceIds** parameter. The following rules apply:'."\n" + ."\n" + .'- **key**: The tag key. The key must be 1 to 128 characters in length.'."\n" + ."\n" + .'- **value**: The tag value. The value must be 1 to 128 characters in length.'."\n" + ."\n" + .'Tags are case-sensitive. If you specify multiple tags, they are created and bound to the specified resources. For a single resource, each tag key must be unique. If you specify a tag key that already exists for a resource, the operation updates the existing tag value.'."\n" + ."\n" + .'A tag key cannot start with `aliyun` or `acs:` and cannot contain `http://` or `https://`.', 'type' => 'string', 'required' => false, 'example' => '[{"key":"k1","value":"v1"}]', 'title' => ''], + ], + [ + 'name' => 'ResourceIds', + 'in' => 'formData', + 'schema' => ['description' => 'The resource IDs. You can specify up to 50 resource IDs in a JSON array. This parameter is required unless you specify the **Tags** parameter.', 'type' => 'string', 'required' => true, 'example' => '["d42921c4-5433-4abd-8075-0e536f8b****"]', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '返回信息', 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationTrafficConfigBody', + 'description' => 'The data returned.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information returned.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, a specific error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that you can use to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => ['description' => 'Indicates whether the operation was successful.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is returned only if the request fails.'."\n" + ."\n" + .'- For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the tags were added to the resources. Valid values:'."\n" + ."\n" + .'- **true**: The tags were added.'."\n" + ."\n" + .'- **false**: The tags failed to be added.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DescribeWebApplicationTrafficConfig', - 'description' => 'Call the DescribeWebApplicationTrafficConfig operation to query the traffic configurations of a web application.'."\n", - ], - 'PublishWebApplicationRevision' => [ - 'summary' => 'Publish a web application version.', - 'path' => '/pop/v2/api/web/application-revisions/{ApplicationId}/revisions', - 'methods' => [ - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The TagKey contains duplicate keys.', 'description' => ''], + ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified TagKey is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified TagValue is invalid.', 'description' => ''], + ['errorCode' => 'Missing.TagKey', 'errorMessage' => 'You must specify TagKey.', 'description' => ''], + ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The maximum number of tags is exceeded.', 'description' => ''], + ['errorCode' => 'InvalidResourceType.NotFound', 'errorMessage' => 'The specified resource type is not supported.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'NumberExceed.ResourceIds', 'errorMessage' => 'The number of resource IDs cannot exceed 50.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": true,\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'TagResources', + 'summary' => 'Adds one or more tags to specified resources.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-10-25T08:48:54.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:TagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'tags' => [], + ], + 'UnbindNlb' => [ + 'summary' => 'Unbinds an NLB listener from an application.', + 'path' => '/pop/v1/sam/app/nlb', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '225953', - 'abilityTreeNodes' => [ - 'FEATUREsae37J6Z9', - ], + 'operationType' => 'none', + 'abilityTreeCode' => '261343', + 'abilityTreeNodes' => ['FEATUREsaeBRTWZ3'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], + 'schema' => ['title' => 'A short description of struct', 'description' => 'The application ID.', 'type' => 'string', 'required' => false, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****'], ], [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7e41aff0-9eca-45c9-ac48-675e09******', - ], + 'name' => 'NlbId', + 'in' => 'query', + 'schema' => ['description' => 'The NLB instance ID.', 'type' => 'string', 'required' => false, 'example' => 'nlb-7z7jjbzz44d82c9***', 'title' => ''], ], [ - 'name' => 'body', - 'in' => 'body', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '版本配置信息', - 'description' => 'The configurations of the version.'."\n", - 'required' => true, - '$ref' => '#/components/schemas/PublishWebApplicationRevisionInput', - ], + 'name' => 'Protocol', + 'in' => 'query', + 'schema' => ['description' => 'The protocol. Valid values:'."\n" + ."\n" + .'- **TCP**'."\n" + ."\n" + .'- **UDP**'."\n" + ."\n" + .'- **TCPSSL**', 'type' => 'string', 'required' => false, 'example' => 'TCP', 'title' => ''], + ], + [ + 'name' => 'Port', + 'in' => 'query', + 'schema' => ['description' => 'The listener port, which must be between 0 and 65535.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3306', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '返回信息', 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationRevisionBody', + 'title' => 'Schema of Response', + 'description' => 'The response data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****'], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID for the request. Use this ID to query request details.', 'type' => 'string', 'example' => '0a981dd515966966104121683d****', 'title' => ''], + 'Data' => [ + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The change order ID. Use this ID to check the task\'s execution status.', 'type' => 'string', 'example' => 'ba386059-69b1-4e65-b1e5-0682d9fa****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request is successful.'."\n" + ."\n" + .'- The **ErrorCode** parameter is returned if the request fails. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: Success.'."\n" + ."\n" + .'- **3xx**: Redirection.'."\n" + ."\n" + .'- **4xx**: Client error.'."\n" + ."\n" + .'- **5xx**: Server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful.'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"RevisionId\\": \\"\\",\\n \\"Weight\\": 0\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'PublishWebApplicationRevision', - 'description' => 'Publish a web application version. You can change the configurations of the version and create a new version.'."\n", - ], - 'ListWebApplicationRevisions' => [ - 'summary' => 'Query the list of web application versions.', - 'path' => '/pop/v2/api/web/application-revisions/{ApplicationId}/revisions', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"ba386059-69b1-4e65-b1e5-0682d9fa****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UnbindNlb', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], - 'tags' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:UnbindNlb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'UnbindSlb' => [ + 'path' => '/pop/v1/sam/app/slb', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '225950', - 'abilityTreeNodes' => [ - 'FEATUREsae37J6Z9', - ], + 'abilityTreeCode' => '6395', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], + 'schema' => ['description' => 'The ID of the application.', 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], ], [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7e41aff0-9eca-45c9-ac48-675e09******', - ], - ], - [ - 'name' => 'NextToken', + 'name' => 'Internet', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '分页起始标记', - 'description' => 'The pagination token.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'A2RN', - ], + 'schema' => ['description' => 'Specifies whether to unbind the public network SLB. Valid values:'."\n" + ."\n" + .'- **true**: unbinds the public network SLB.'."\n" + ."\n" + .'- **false**: does not unbind the public network SLB.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''], ], [ - 'name' => 'Limit', + 'name' => 'Intranet', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '返回的应用数量', - 'description' => 'The number of applications returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'Specifies whether to unbind the private network SLB. Valid values:'."\n" + ."\n" + .'- **true**: unbinds the private network SLB.'."\n" + ."\n" + .'- **false**: does not unbind the private network SLB.', 'type' => 'boolean', 'required' => false, 'default' => 'false', 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '返回信息', 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/ListWebApplicationRevisionsBody', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message. Valid values:'."\n" + ."\n" + .'- If the request succeeds, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID of the request. You can use this ID to query call details.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The response data.', + 'type' => 'object', + 'properties' => [ + 'ChangeOrderId' => ['description' => 'The change order ID. You can use this ID to query the status of the task.', 'type' => 'string', 'example' => '4a815998-b468-4bea-b7d8-59f52a44****', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The returned error code.'."\n" + ."\n" + .'- This parameter is left empty if the request is successful.'."\n" + ."\n" + .'- If the request fails, this parameter contains an error code. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: success'."\n" + ."\n" + .'- **3xx**: redirection'."\n" + ."\n" + .'- **4xx**: request error'."\n" + ."\n" + .'- **5xx**: server error', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the operation was successful.'."\n" + ."\n" + .'- **true**: The operation was successful.'."\n" + ."\n" + .'- **false**: The operation failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"NextToken\\": \\"\\",\\n \\"Revisions\\": [\\n {\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"RevisionId\\": \\"\\",\\n \\"Weight\\": 0\\n }\\n ]\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'ListWebApplicationRevisions', - 'description' => 'Query the list of web application versions.'."\n", - ], - 'DescribeWebApplicationRevision' => [ - 'summary' => 'Describe a web application version.', - 'path' => '/pop/v2/api/web/application-revisions/{ApplicationId}/revisions/{RevisionId}', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'Application.NotDeployYet', 'errorMessage' => 'The application has not been deployed. Please deploy it and try again.', 'description' => 'The application has not been deployed. Please deploy it and try again.'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"4a815998-b468-4bea-b7d8-59f52a44****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UnbindSlb', + 'summary' => 'Unbinds a public or private SLB instance from an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], ], - 'tags' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnbindSlb'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:UnbindSlb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'UntagResources' => [ + 'path' => '/tags', + 'methods' => ['delete'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '225944', - 'abilityTreeNodes' => [ - 'FEATUREsae37J6Z9', - ], + 'abilityTreeCode' => '6396', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'RegionId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => 'namespace id', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The region ID.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing', 'title' => ''], ], [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => 'application id', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7e41aff0-9eca-45c9-ac48-675e09******', - ], + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => 'The resource type. Only `application` is supported.', 'type' => 'string', 'required' => true, 'example' => 'application', 'title' => ''], ], [ - 'name' => 'RevisionId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => 'revision id', - 'description' => 'The revision ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '001', - ], + 'name' => 'ResourceIds', + 'in' => 'query', + 'schema' => ['description' => 'The resource IDs. To specify multiple resource IDs, separate them with commas (,).', 'type' => 'string', 'required' => true, 'example' => '["d42921c4-5433-4abd-8075-0e536f8b****"]', 'title' => ''], + ], + [ + 'name' => 'TagKeys', + 'in' => 'query', + 'schema' => ['description' => 'The tag keys. To specify multiple tag keys, separate them with commas (,).', 'type' => 'string', 'required' => false, 'example' => '["k1","k2"]', 'title' => ''], + ], + [ + 'name' => 'DeleteAll', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to remove all tags. This parameter applies only when TagKeys is not specified. Valid values:'."\n" + ."\n" + .'- **true**: All tags are removed.'."\n" + ."\n" + .'- **false**: Only the tags specified in the TagKeys parameter are removed.', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '返回信息', 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationRevisionBody', + 'description' => 'The data returned.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- A successful request returns **success**.'."\n" + ."\n" + .'- A failed request returns an error code.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID for querying the details of a call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => ['description' => 'The returned result.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned on a successful request.'."\n" + ."\n" + .'- This parameter is returned on a failed request. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the call was successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"RevisionId\\": \\"\\",\\n \\"Weight\\": 0\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DescribeWebApplicationRevision', - 'description' => 'Describe a web application version.'."\n", - ], - 'DeleteWebApplicationRevision' => [ - 'summary' => 'Delete a web application version.', - 'path' => '/pop/v2/api/web/application-revisions/{ApplicationId}/revisions/{RevisionId}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Duplicate.TagKey', 'errorMessage' => 'The TagKey contains duplicate keys.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidResourceType.NotFound', 'errorMessage' => 'The specified resource type is not supported.', 'description' => ''], + ['errorCode' => 'InvalidParameter.TagKey', 'errorMessage' => 'The specified TagKey is invalid.', 'description' => ''], + ['errorCode' => 'InvalidParameter.TagValue', 'errorMessage' => 'The specified TagValue is invalid.', 'description' => ''], + ['errorCode' => 'NumberExceed.Tags', 'errorMessage' => 'The specified parameter Tags count exceed.', 'description' => ''], + ['errorCode' => 'NumberExceed.ResourceIds', 'errorMessage' => 'The number of resource IDs cannot exceed 50.', 'description' => ''], + ['errorCode' => 'Invalid.Param.Tag.Scope', 'errorMessage' => 'The specified parameter is invalid: tag scope.', 'description' => ''], + ['errorCode' => 'No.Permission', 'errorMessage' => 'The account has no permission.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": true,\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UntagResources', + 'summary' => 'Removes one or more tags from specified resources.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:UntagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'tags' => [], + ], + 'UpdateAppMode' => [ + 'summary' => 'Updates the idle mode for an application.', + 'path' => '/pop/v1/sam/app/updateAppMode', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '225939', - 'abilityTreeNodes' => [ - 'FEATUREsae37J6Z9', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '259402', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'EnableIdle', 'in' => 'query', - 'allowEmptyValue' => false, 'schema' => [ - 'title' => 'namespace id', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', + 'description' => 'Specifies whether to enable the idle mode.', + 'enumValueTitles' => ['true' => 'Enables the idle mode.', 'false' => 'Disables the idle mode.'], + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'title' => '', ], ], [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => 'application id', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7e41aff0-9eca-45c9-ac48-675e09******', - ], + 'name' => 'AppId', + 'in' => 'query', + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => false, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], [ - 'name' => 'RevisionId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => 'revision id', - 'description' => 'The revision ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '001', - ], + 'name' => 'NamespaceId', + 'in' => 'query', + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], + ], + [ + 'name' => 'AppIds', + 'in' => 'query', + 'schema' => ['description' => 'The application IDs.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ - 'description' => 'No Content', 'schema' => [ - 'description' => 'Update the information about a web application version.'."\n", - '$ref' => '#/components/schemas/WebApplicationRevisionBody', + 'title' => 'Schema of Response', + 'description' => 'The response data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****'], + 'Message' => ['description' => 'The additional information.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID for querying request details.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned for successful requests.'."\n" + ."\n" + .'- It is returned for failed requests. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request succeeded. Valid values: **true** and **false**.', 'type' => 'string', 'example' => 'true', 'title' => ''], + ], + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"RevisionId\\": \\"\\",\\n \\"Weight\\": 0\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DeleteWebApplicationRevision', - 'description' => 'Delete a web application version.'."\n", - ], - 'CreateWebCustomDomain' => [ - 'summary' => 'Create a custom domain name for the web application.', - 'path' => '/pop/v2/api/web/custom-domains', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', + 'title' => 'UpdateAppMode', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:00:29.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T02:10:43.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T01:47:16.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T01:45:03.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T01:38:55.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T01:33:13.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T01:31:45.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T01:26:39.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-24T12:48:57.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-07-23T09:05:02.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateAppMode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'tags' => [], + ], + 'UpdateAppSecurityGroup' => [ + 'path' => '/pop/v1/sam/app/updateAppSecurityGroup', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '225938', - 'abilityTreeNodes' => [ - 'FEATUREsae5U7VP0', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '6399', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], [ - 'name' => 'body', - 'in' => 'body', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '自定义域名信息', - 'description' => 'The information about custom domain name.'."\n", - 'required' => true, - '$ref' => '#/components/schemas/CreateWebCustomDomainInput', - ], + 'name' => 'SecurityGroupId', + 'in' => 'query', + 'schema' => ['description' => 'The security group ID.', 'type' => 'string', 'required' => true, 'example' => 'sg-wz969ngg2e49q5i4****', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => '返回信息', 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebCustomDomainBody', + 'description' => 'The data returned.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The additional information. Valid values:'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code that is returned for the request. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application security group was successfully updated. Valid values:'."\n" + ."\n" + .'- **true**: The update was successful.'."\n" + ."\n" + .'- **false**: The update failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"accountId\\": \\"123xxxxxx\\",\\n \\"WebCertConfig\\": {\\n \\"CertName\\": \\"\\",\\n \\"Certificate\\": \\"\\",\\n \\"PrivateKey\\": \\"\\"\\n },\\n \\"CreatedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"DefaultForwardingAppName\\": \\"appxxxxx\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LastModifiedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"Protocol\\": \\"HTTP\\",\\n \\"WebTLSConfig\\": {\\n \\"CipherSuites\\": [\\n \\"\\"\\n ],\\n \\"MaxVersion\\": \\"\\",\\n \\"MinVersion\\": \\"\\"\\n },\\n \\"WebWAFConfig\\": {\\n \\"EnableWAF\\": true\\n },\\n \\"RouteConfig\\": {\\n \\"routes\\": [\\n {\\n \\"path\\": \\"\\",\\n \\"applicationName\\": \\"\\"\\n }\\n ]\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'CreateWebCustomDomain', - 'description' => 'Create a custom domain name for the web application.'."\n", - ], - 'DescribeWebCustomDomain' => [ - 'summary' => 'Query the details of a custom domain name for a web application.', - 'path' => '/pop/v2/api/web/custom-domains/{DomainName}', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateAppSecurityGroup', + 'summary' => 'Updates an application security group.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], ], - 'tags' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateAppSecurityGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateAppSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'UpdateApplicationDescription' => [ + 'summary' => 'Updates the description of an application.', + 'path' => '/pop/v1/sam/app/updateAppDescription', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '225947', - 'abilityTreeNodes' => [ - 'FEATUREsae5U7VP0', - ], + 'abilityTreeCode' => '10540', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], + 'schema' => ['description' => 'The ID of the application that you want to update.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], [ - 'name' => 'DomainName', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间名称', - 'description' => 'The custom domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'example.com', - ], + 'name' => 'AppDescription', + 'in' => 'query', + 'schema' => ['description' => 'The new description of the application. The description can be up to 1,024 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'newdesc', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => 'OK', 'schema' => [ - 'description' => 'OK.'."\n", - '$ref' => '#/components/schemas/WebCustomDomain', - 'title' => 'OK', + 'description' => 'The data returned.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3***', 'title' => ''], + 'Message' => ['description' => 'The message returned. The following limits are imposed on the ID:'."\n" + ."\n" + .'- If the request was successful, **success** is returned.'."\n" + ."\n" + .'- An error code is returned when a request failed.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the trace. The ID is used to query the details of a request.', 'type' => 'string', 'example' => 'ac1a0b2215622246421415014e****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code returned if the call failed. Value values:'."\n" + ."\n" + .'- If the request was successful, **ErrorCode** is not returned.'."\n" + ."\n" + .'- If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or the error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: The request failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the application was deployed. Valid values:'."\n" + ."\n" + .'- **true**: The application was deployed.'."\n" + ."\n" + .'- **false**: The application failed to be deployed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"accountId\\": \\"123xxxxxx\\",\\n \\"WebCertConfig\\": {\\n \\"CertName\\": \\"\\",\\n \\"Certificate\\": \\"\\",\\n \\"PrivateKey\\": \\"\\"\\n },\\n \\"CreatedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"DefaultForwardingAppName\\": \\"appxxxxx\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LastModifiedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"Protocol\\": \\"HTTP\\",\\n \\"WebTLSConfig\\": {\\n \\"CipherSuites\\": [\\n \\"\\"\\n ],\\n \\"MaxVersion\\": \\"\\",\\n \\"MinVersion\\": \\"\\"\\n },\\n \\"WebWAFConfig\\": {\\n \\"EnableWAF\\": true\\n },\\n \\"RouteConfig\\": {\\n \\"routes\\": [\\n {\\n \\"path\\": \\"\\",\\n \\"applicationName\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => 'DescribeWebCustomDomain', - 'description' => 'Query the details of a custom domain name for a web application.'."\n", - ], - 'ListWebCustomDomains' => [ - 'summary' => 'Query available custom domain names.', - 'path' => '/pop/v2/api/web/custom-domains', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ], + 404 => [ + ['errorCode' => 'InvalidAppId.NotFound', 'errorMessage' => 'The specified AppId does not exist.', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3***\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateApplicationDescription', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], ], - 'tags' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateApplicationDescription'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:UpdateApplicationDescription', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'UpdateApplicationScalingRule' => [ + 'path' => '/pop/v1/sam/scale/applicationScalingRule', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '225952', - 'abilityTreeNodes' => [ - 'FEATUREsae5U7VP0', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '6397', + 'abilityTreeNodes' => ['FEATUREsaeX1L0GL', 'FEATUREsaeAINYGA'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], [ - 'name' => 'ApplicationId', + 'name' => 'ScalingRuleName', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7e41aff0-9eca-45c9-ac48-675e09******', - ], + 'schema' => ['description' => 'The name of the auto scaling policy. The name must start with a lowercase letter, contain only lowercase letters, digits, and hyphens (-), and be no more than 32 characters long.'."\n" + ."\n" + .'> You cannot change the name of an auto scaling policy after it is created.', 'type' => 'string', 'required' => true, 'example' => 'timer-0800-2100', 'title' => ''], ], [ - 'name' => 'Prefix', + 'name' => 'ScalingRuleTimer', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '自定义域名查询前缀', - 'description' => 'The prefix of the custom domain name that you want to query.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'remoteresult', - ], + 'schema' => ['description' => 'The configuration of the scheduled scaling policy. This parameter is required for scheduled scaling policies.'."\n" + ."\n" + .'The parameter includes the following fields:'."\n" + ."\n" + .'- **beginDate** and **endDate**: The start and end dates for the policy\'s effective period.'."\n" + ."\n" + .' - If both parameters are set to **null**, the policy is always active. This is the default.'."\n" + ."\n" + .' - If you set **beginDate** to **2021-03-25** and **endDate** to **2021-04-25**, the policy is effective for one month.'."\n" + ."\n" + .'- **period**: The execution schedule for the policy. Valid values:'."\n" + ."\n" + .' - **\\* \\* \\***: Executes the policy at a specified time every day.'."\n" + ."\n" + .' - **\\* \\* Fri,Mon**: Executes the policy at a specified time on specified days of the week. You can select multiple days. The time is in the UTC+8 time zone. Valid values:'."\n" + ."\n" + .' - **Sun**: Sunday'."\n" + ."\n" + .' - **Mon**: Monday'."\n" + ."\n" + .' - **Tue**: Tuesday'."\n" + ."\n" + .' - **Wed**: Wednesday'."\n" + ."\n" + .' - **Thu**: Thursday'."\n" + ."\n" + .' - **Fri**: Friday'."\n" + ."\n" + .' - **Sat**: Saturday'."\n" + ."\n" + .' - **1,2,3,28,31 \\* \\***: Executes the policy at a specified time on specified days of a month. The value ranges from 1 to 31. If a specified day does not exist in a given month (for example, the 31st), the policy skips it.'."\n" + ."\n" + .'- **schedules**: The trigger times and the corresponding target number of instances. You can specify up to 20 time points. This field includes the following parameters:'."\n" + ."\n" + .' - **atTime**: The trigger time. The format is **HH:mm**, for example, **08:00**.'."\n" + ."\n" + .' - **targetReplicas**: The target number of application instances. The value ranges from 1 to 50.'."\n" + ."\n" + .' > To ensure business continuity, we recommend that you set the minimum number of surviving instances for each rolling deployment to **1** or higher. If you set this parameter to **0**, your application is interrupted during an upgrade.', 'type' => 'string', 'required' => false, 'example' => '{"beginDate":null,"endDate":null,"period":"* * *","schedules":[{"atTime":"08:00","targetReplicas":10},{"atTime":"20:00","targetReplicas":3}]}', 'title' => ''], ], [ - 'name' => 'NextToken', + 'name' => 'ScalingRuleMetric', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '分页起始标记', - 'description' => 'The pagination token.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'A2RN', - ], + 'schema' => ['description' => 'The configuration for the metric-based scaling policy. This parameter is required for metric-based scaling policies.'."\n" + ."\n" + .'The parameter includes the following fields:'."\n" + ."\n" + .'- **maxReplicas**: The maximum number of application instances.'."\n" + ."\n" + .'- **minReplicas**: The minimum number of application instances.'."\n" + ."\n" + .'- **metricType**: The metric that triggers the policy. Valid values:'."\n" + ."\n" + .' - **CPU**: The CPU usage.'."\n" + ."\n" + .' - **MEMORY**: The memory usage.'."\n" + ."\n" + .' - **QPS**: The average QPS of a single instance of a Java application over a 1-minute period.'."\n" + ."\n" + .' - **RT**: The average RT of all service interfaces of a Java application over a 1-minute period.'."\n" + ."\n" + .' - **tcpActiveConn**: The average number of active TCP connections per instance over a 30-second period.'."\n" + ."\n" + .' - **SLB\\_QPS**: The average QPS of an internet-facing SLB, measured per instance over a 15-second period.'."\n" + ."\n" + .' - **SLB\\_RT**: The average RT of an internet-facing SLB over a 15-second period.'."\n" + ."\n" + .' - **INTRANET\\_SLB\\_QPS**: The average QPS of an internal-facing SLB, measured per instance over a 15-second period.'."\n" + ."\n" + .' - **INTRANET\\_SLB\\_RT**: The average RT of an internal-facing SLB over a 15-second period.'."\n" + ."\n" + .'- **metricTargetAverageUtilization**: The target value for the specified **metricType**.'."\n" + ."\n" + .' - Target CPU usage, in percent.'."\n" + ."\n" + .' - Target memory usage, in percent.'."\n" + ."\n" + .' - Target QPS.'."\n" + ."\n" + .' - Target RT, in milliseconds.'."\n" + ."\n" + .' - Average number of active TCP connections, in connections/second.'."\n" + ."\n" + .' - Target internet-facing SLB QPS.'."\n" + ."\n" + .' - Target internet-facing SLB RT, in milliseconds.'."\n" + ."\n" + .' - Target internal-facing SLB QPS.'."\n" + ."\n" + .' - Target internal-facing SLB RT, in milliseconds.'."\n" + ."\n" + .'- **slbId**: The SLB ID.'."\n" + ."\n" + .'- **slbProject**: The Simple Log Service project.'."\n" + ."\n" + .'- **slbLogstore**: The Simple Log Service Logstore.'."\n" + ."\n" + .'- **vport**: The listening port of the SLB. Both HTTP and HTTPS are supported.'."\n" + ."\n" + .'- **scaleUpRules**: The scale-out rules.'."\n" + ."\n" + .'- **scaleDownRules**: The scale-in rules.'."\n" + ."\n" + .'- **step**: The step size for a scale-out or scale-in action. It defines the maximum number of instances that can be added or removed at a time.'."\n" + ."\n" + .'- **disabled**: Specifies whether to disable scale-in. Disabling scale-in prevents the application from scaling in, which can mitigate risks during peak traffic.'."\n" + ."\n" + .' - **true**: Disables scale-in.'."\n" + ."\n" + .' - **false**: Enables scale-in. This is the default value.'."\n" + ."\n" + .'- **stabilizationWindowSeconds**: The cooldown time, in seconds, for a scaling action. The value must be an integer from 0 to 3,600. The default is 0.'."\n" + ."\n" + .'> If you specify multiple metrics, a scale-out is triggered when any metric meets its target. The number of instances will not exceed maxReplicas. A scale-in is triggered only when all metrics are below their targets. The number of instances will not drop below minReplicas.', 'type' => 'string', 'required' => false, 'example' => '{"maxReplicas":3,"minReplicas":1,"metrics":[{"metricType":"CPU","metricTargetAverageUtilization":20},{"metricType":"MEMORY","metricTargetAverageUtilization":30},{"metricType":"tcpActiveConn","metricTargetAverageUtilization":20},{"metricType":"SLB_QPS","MetricTargetAverageUtilization":25,"slbId":"lb-xxx","slbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","slbLogstore":"function-log","vport":"80"},{"metricType":"SLB_RT","MetricTargetAverageUtilization":35,"slbId":"lb-xxx","slbProject":"aliyun-fc-cn-hangzhou-d95881d9-5d3c-5f26-a6b8-************","slbLogstore":"function-log","vport":"80"}],"scaleUpRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":0},"scaleDownRules":{"step":"100","disabled":false,"stabilizationWindowSeconds":300}}', 'title' => ''], ], [ - 'name' => 'Limit', + 'name' => 'MinReadyInstances', 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '返回的域名数量', - 'description' => 'The number of custom domain names returned.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The minimum number of instances that must remain available during a rolling deployment. Valid values:'."\n" + ."\n" + .'- If you set this parameter to **0**, your application experiences service interruptions during a rolling deployment.'."\n" + ."\n" + .'- If you set this parameter to **-1**, the system uses a recommended value, which is 25% of the current number of instances. For example, if you have 5 instances, the minimum number of surviving instances is 2 (5 × 25% = 1.25, rounded up).'."\n" + ."\n" + .'> To ensure business continuity, we recommend that you set the minimum number of surviving instances for each rolling deployment to 1 or higher.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3', 'title' => ''], + ], + [ + 'name' => 'MinReadyInstanceRatio', + 'in' => 'query', + 'schema' => ['description' => 'The minimum percentage of instances that must remain available during a rolling deployment. Valid values:'."\n" + ."\n" + .'- **-1**: An initial value that indicates that a percentage is not used.'."\n" + ."\n" + .'- **0 to 100**: A percentage that is rounded up. For example, if you have 5 instances and set this parameter to **50**, the minimum number of surviving instances is 3.'."\n" + ."\n" + .'> If you specify both **MinReadyInstances** and **MinReadyInstanceRatio**, and **MinReadyInstanceRatio** is not **-1**, **MinReadyInstanceRatio** takes precedence. For example, if **MinReadyInstances** is set to **5** and **MinReadyInstanceRatio** is set to **50**, the system uses **50%** to calculate the minimum number of surviving instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-1', 'title' => ''], + ], + [ + 'name' => 'EnableIdle', + 'in' => 'query', + 'schema' => ['description' => 'Specifies whether to enable or disable the idle mode.', 'type' => 'boolean', 'required' => false, 'title' => '', 'example' => ''], + ], + [ + 'name' => 'ScalingRuleType', + 'in' => 'query', + 'schema' => ['type' => 'string', 'description' => '', 'required' => false, 'example' => 'timing', 'title' => ''], ], ], 'responses' => [ 200 => [ - 'description' => 'OK', 'schema' => [ - 'description' => 'The body of the request.'."\n", - '$ref' => '#/components/schemas/ListWebCustomDomainBody', + 'description' => 'The returned information.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID used to query call details.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The response data.', + 'type' => 'object', + 'properties' => [ + 'Timer' => [ + 'description' => 'The configuration for scheduled scaling.', + 'type' => 'object', + 'properties' => [ + 'EndDate' => ['description' => 'The end date of the short-term scheduled scaling policy.'."\n" + ."\n" + .'- If **BeginDate** and **EndDate** are both set to **null**, the policy is long-term by default.'."\n" + ."\n" + .'- If you specify a date range, for example, **BeginDate** is set to 2021-03-25 and **EndDate** is set to 2021-04-25, the policy is effective for one month.', 'type' => 'string', 'example' => '2021-04-25', 'title' => ''], + 'BeginDate' => ['description' => 'The start date of the short-term scheduled scaling policy.'."\n" + ."\n" + .'- If **BeginDate** and **EndDate** are both set to **null**, the policy is long-term by default.'."\n" + ."\n" + .'- If you specify a date range, for example, **BeginDate** is set to 2021-03-25 and **EndDate** is set to 2021-04-25, the policy is effective for one month.', 'type' => 'string', 'example' => '2021-03-25', 'title' => ''], + 'Schedules' => [ + 'description' => 'The schedules for the scaling policy.', + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration for a specific trigger schedule.', + 'type' => 'object', + 'properties' => [ + 'AtTime' => ['description' => 'The time at which the scaling action is triggered. Format: **HH:mm**.', 'type' => 'string', 'example' => '08:00', 'title' => ''], + 'TargetReplicas' => ['description' => 'The target number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'MinReplicas' => ['description' => 'The minimum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + 'MaxReplicas' => ['description' => 'The maximum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '10', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'Period' => ['description' => 'The recurrence schedule for the scaling policy.'."\n" + ."\n" + .'- **\\* \\* \\***: The policy runs at a specified time every day.'."\n" + ."\n" + .'- **\\* \\* Fri,Mon**: The policy runs at a specified time on specific days of a week. You can select multiple days. The time is in the GMT+8 time zone. Valid values:'."\n" + ."\n" + .' - **Sun**: Sunday'."\n" + ."\n" + .' - **Mon**: Monday'."\n" + ."\n" + .' - **Tue**: Tuesday'."\n" + ."\n" + .' - **Wed**: Wednesday'."\n" + ."\n" + .' - **Thu**: Thursday'."\n" + ."\n" + .' - **Fri**: Friday'."\n" + ."\n" + .' - **Sat**: Saturday'."\n" + ."\n" + .'- **1,2,3,28,31 \\* \\***: The policy runs at a specified time on specific days of a month. You can select multiple days. If a month does not have a specific day, such as the 31st, the policy skips that day.', 'type' => 'string', 'example' => '* * *', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'UpdateTime' => ['description' => 'The time when the scaling policy was updated, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1616642248938', 'title' => ''], + 'AppId' => ['description' => 'The application ID.', 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], + 'CreateTime' => ['description' => 'The time when the scaling policy was created, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1616642248938', 'title' => ''], + 'LastDisableTime' => ['description' => 'The time when the scaling policy was last disabled, in milliseconds.', 'type' => 'integer', 'format' => 'int64', 'example' => '1641882854484', 'title' => ''], + 'ScaleRuleEnabled' => ['description' => 'Specifies whether the scaling policy is enabled. Valid values:'."\n" + ."\n" + .'- **true**: Enabled.'."\n" + ."\n" + .'- **false**: Disabled.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + 'ScaleRuleType' => ['description' => 'The type of the scaling policy. Valid values:'."\n" + ."\n" + .'- **timing**: scheduled scaling'."\n" + ."\n" + .'- **metric**: metric-based scaling'."\n" + ."\n" + .'- **mix**: hybrid scaling', 'type' => 'string', 'example' => 'timing', 'title' => ''], + 'Metric' => [ + 'description' => 'The configuration for metric-based scaling.', + 'type' => 'object', + 'properties' => [ + 'Metrics' => [ + 'description' => 'The metrics that trigger scaling actions.', + 'type' => 'array', + 'items' => [ + 'description' => 'The configuration for a specific metric trigger.', + 'type' => 'object', + 'properties' => [ + 'MetricTargetAverageUtilization' => ['description' => 'The target value for the specified metric. The unit varies based on the metric type.'."\n" + ."\n" + .'- Target CPU utilization, in percentage.'."\n" + ."\n" + .'- Target memory usage, in percentage.'."\n" + ."\n" + .'- Target queries per second (QPS).'."\n" + ."\n" + .'- Target response time, in milliseconds.'."\n" + ."\n" + .'- The target number of active TCP connections.'."\n" + ."\n" + .'- Target QPS for the public-facing SLB instance.'."\n" + ."\n" + .'- Target response time of the public-facing SLB instance, in milliseconds.'."\n" + ."\n" + .'- Target QPS for the internal SLB instance.'."\n" + ."\n" + .'- Target response time of the internal SLB instance, in milliseconds.', 'type' => 'integer', 'format' => 'int32', 'example' => '20', 'title' => ''], + 'MetricType' => ['description' => 'The metric that triggers the scaling policy. Valid values:'."\n" + ."\n" + .'- **CPU**: CPU utilization.'."\n" + ."\n" + .'- **MEMORY**: memory usage.'."\n" + ."\n" + .'- **QPS**: The average queries per second (QPS) per instance over the last minute. This applies only to Java applications.'."\n" + ."\n" + .'- **RT**: The average response time (RT) of all service interfaces in the application over the last minute. This applies only to Java applications.'."\n" + ."\n" + .'- **tcpActiveConn**: The average number of active TCP connections per instance over the last 30 seconds.'."\n" + ."\n" + .'- **SLB\\_QPS**: The average QPS from the public-facing SLB, per instance, over the last 15 seconds.'."\n" + ."\n" + .'- **SLB\\_RT**: The average response time of a public-facing SLB instance over the last 15 seconds.'."\n" + ."\n" + .'- **INTRANET\\_SLB\\_QPS**: The average QPS from the internal SLB, per instance, over the last 15 seconds.'."\n" + ."\n" + .'- **INTRANET\\_SLB\\_RT**: The average response time of an internal SLB instance over the last 15 seconds.', 'type' => 'string', 'example' => 'CPU', 'title' => ''], + 'SlbProject' => ['description' => 'The name of the Log Service Project for SLB access logs.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'SlbLogstore' => ['description' => 'The name of the Logstore for SLB access logs.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'Vport' => ['description' => 'The SLB port.', 'type' => 'string', 'example' => '80', 'title' => ''], + 'SlbId' => ['description' => 'The SLB instance ID.', 'type' => 'string', 'example' => 'lb-xxx', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'title' => '', + 'example' => '', + ], + 'MaxReplicas' => ['description' => 'The maximum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '3', 'title' => ''], + 'MinReplicas' => ['description' => 'The minimum number of instances.', 'type' => 'integer', 'format' => 'int32', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ScaleRuleName' => ['description' => 'The name of the scaling policy.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'EnableIdle' => ['description' => 'Specifies whether to enable idle mode.', 'type' => 'boolean', 'title' => '', 'example' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- **success** is returned if the request is successful.'."\n" + ."\n" + .'- An error message is returned if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is returned only if the request fails.'."\n" + ."\n" + .'- For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or a POP error code.'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A client-side error occurred.'."\n" + ."\n" + .'- **5xx**: A server-side error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Specifies whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"NextToken\\": \\"\\",\\n \\"WebCustomDomains\\": [\\n {\\n \\"accountId\\": \\"123xxxxxx\\",\\n \\"WebCertConfig\\": {\\n \\"CertName\\": \\"\\",\\n \\"Certificate\\": \\"\\",\\n \\"PrivateKey\\": \\"\\"\\n },\\n \\"CreatedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"DefaultForwardingAppName\\": \\"appxxxxx\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LastModifiedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"Protocol\\": \\"HTTP\\",\\n \\"WebTLSConfig\\": {\\n \\"CipherSuites\\": [\\n \\"\\"\\n ],\\n \\"MaxVersion\\": \\"\\",\\n \\"MinVersion\\": \\"\\"\\n },\\n \\"WebWAFConfig\\": {\\n \\"EnableWAF\\": true\\n },\\n \\"RouteConfig\\": {\\n \\"routes\\": [\\n {\\n \\"path\\": \\"\\",\\n \\"applicationName\\": \\"\\"\\n }\\n ]\\n }\\n }\\n ]\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'ListWebCustomDomains', - 'description' => 'Query available custom domain names.'."\n", - ], - 'UpdateWebCustomDomain' => [ - 'summary' => 'Update a custom domain name.', - 'path' => '/pop/v2/api/web/custom-domains/{DomainName}', - 'methods' => [ - 'put', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidScalingRuleDate.BeginAfterEnd', 'errorMessage' => 'The specified beginning time is later than the ending time.', 'description' => 'The specified begin date is later than the end date.'."\n"], + ['errorCode' => 'InvalidScalingRuleDate.Format', 'errorMessage' => 'The specified date is invalid.', 'description' => 'The specified date is invalid. The correct format is yyyy-MM-dd .'], + ['errorCode' => 'InvalidScalingRuleName.NotFound', 'errorMessage' => 'The specified ScalingRuleName does not exist.', 'description' => 'The specified ScalingRuleName does not exist.'], + ['errorCode' => 'InvalidScalingRuleTime.Conflict', 'errorMessage' => 'The specified scaling rule time is invalid. Another schedule has been set for the specified time range. Please set a different time.', 'description' => 'The specified scaling rule time is invalid. Another schedule has been set for the specified time range. Please set a different time.'], + ['errorCode' => 'InvalidScalingRuleTime.Format', 'errorMessage' => 'The specified time is invalid.', 'description' => 'The specified time is invalid. The correct format is HH:mm .'], + ['errorCode' => 'QuotaExceeded.ScalingRuleTime', 'errorMessage' => 'The maximum number of scaling policy trigger time is exceeded.', 'description' => 'Scaling rule time quota exceeded.'], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', 'description' => 'The minimum number of available instances must be less than the number of application instances.'], + ['errorCode' => 'MinReadyInstanceRatio.Invalid', 'errorMessage' => 'The ratio of minimum available instances must be between 0 and 100.', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'title' => 'UpdateApplicationScalingRule', + 'summary' => 'Updating the application auto-scaling policy', + 'description' => '## Usage notes'."\n" + ."\n" + .'To scale an application beyond 50 instances, contact SAE technical support to be added to the allowlist. For details, see [Contact us](~~146530~~).', + 'changeSet' => [ + ['createdAt' => '2026-04-28T09:07:58.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2024-08-30T09:16:23.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2023-05-24T09:14:46.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-12-26T09:19:37.000Z', 'description' => 'Error codes changed'], + ['createdAt' => '2022-12-19T02:15:03.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-11-09T01:54:08.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateApplicationScalingRule'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Application', 'arn' => 'acs:sae:{#regionId}:{#accountId}:application/{#namespaceid}/{#appid}'], + ], + ], + ], ], - 'tags' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Timer\\": {\\n \\"EndDate\\": \\"2021-04-25\\",\\n \\"BeginDate\\": \\"2021-03-25\\",\\n \\"Schedules\\": [\\n {\\n \\"AtTime\\": \\"08:00\\",\\n \\"TargetReplicas\\": 3,\\n \\"MinReplicas\\": 1,\\n \\"MaxReplicas\\": 10\\n }\\n ],\\n \\"Period\\": \\"* * *\\"\\n },\\n \\"UpdateTime\\": 1616642248938,\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"CreateTime\\": 1616642248938,\\n \\"LastDisableTime\\": 1641882854484,\\n \\"ScaleRuleEnabled\\": true,\\n \\"ScaleRuleType\\": \\"timing\\",\\n \\"Metric\\": {\\n \\"Metrics\\": [\\n {\\n \\"MetricTargetAverageUtilization\\": 20,\\n \\"MetricType\\": \\"CPU\\",\\n \\"SlbProject\\": \\"test\\",\\n \\"SlbLogstore\\": \\"test\\",\\n \\"Vport\\": \\"80\\",\\n \\"SlbId\\": \\"lb-xxx\\"\\n }\\n ],\\n \\"MaxReplicas\\": 3,\\n \\"MinReplicas\\": 1\\n },\\n \\"ScaleRuleName\\": \\"test\\",\\n \\"EnableIdle\\": false\\n },\\n \\"Message\\": \\"success\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + ], + 'UpdateApplicationVswitches' => [ + 'path' => '/pop/v1/sam/app/updateAppVswitches', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'update', - 'abilityTreeCode' => '225959', - 'abilityTreeNodes' => [ - 'FEATUREsae5U7VP0', - ], + 'abilityTreeCode' => '6398', + 'abilityTreeNodes' => ['FEATUREsaeRVPNSA'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'AppId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The application ID.', 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****', 'title' => ''], ], [ - 'name' => 'DomainName', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '自定义域名名称', - 'description' => 'The name of the custom domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'www.99zuowen.com', - ], + 'name' => 'VSwitchId', + 'in' => 'query', + 'schema' => ['description' => 'The vSwitch ID.', 'type' => 'string', 'required' => true, 'example' => 'vsw-2ze559r1z1bpwqxwp****', 'title' => ''], ], [ - 'name' => 'body', - 'in' => 'body', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '自定义域名信息', - 'description' => 'The information about the custom domain name.'."\n", - 'required' => true, - '$ref' => '#/components/schemas/UpdateWebCustomDomainInput', - ], + 'name' => 'Deploy', + 'in' => 'query', + 'schema' => ['description' => 'Indicates whether to deploy the application immediately. Valid values:'."\n" + ."\n" + .'- **true**: Deploys the application immediately. This is the default.'."\n" + ."\n" + .'- **false**: The application is not deployed.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + [ + 'name' => 'MinReadyInstances', + 'in' => 'query', + 'schema' => ['description' => 'The minimum number of ready instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => ''], + ], + [ + 'name' => 'MinReadyInstanceRatio', + 'in' => 'query', + 'schema' => ['description' => 'The minimum percentage of ready instances.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ - 'description' => 'OK', 'schema' => [ - 'title' => 'OK', - 'description' => 'OK.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebCustomDomainBody', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message. Valid values:'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to trace the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned for successful requests.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: The request is invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"accountId\\": \\"123xxxxxx\\",\\n \\"WebCertConfig\\": {\\n \\"CertName\\": \\"\\",\\n \\"Certificate\\": \\"\\",\\n \\"PrivateKey\\": \\"\\"\\n },\\n \\"CreatedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"DefaultForwardingAppName\\": \\"appxxxxx\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LastModifiedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"Protocol\\": \\"HTTP\\",\\n \\"WebTLSConfig\\": {\\n \\"CipherSuites\\": [\\n \\"\\"\\n ],\\n \\"MaxVersion\\": \\"\\",\\n \\"MinVersion\\": \\"\\"\\n },\\n \\"WebWAFConfig\\": {\\n \\"EnableWAF\\": true\\n },\\n \\"RouteConfig\\": {\\n \\"routes\\": [\\n {\\n \\"path\\": \\"\\",\\n \\"applicationName\\": \\"\\"\\n }\\n ]\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'UpdateWebCustomDomain', - 'description' => 'Update a custom domain name.'."\n", - ], - 'DeleteWebCustomDomain' => [ - 'summary' => 'Delete a custom domain name.', - 'path' => '/pop/v2/api/web/custom-domains/{DomainName}', - 'methods' => [ - 'delete', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateApplicationVswitches', + 'summary' => 'Updates the vSwitch configuration for an application.', + 'changeSet' => [ + ['createdAt' => '2025-12-29T02:31:16.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-12-25T08:23:20.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-11-26T04:57:28.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateApplicationVswitches'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateApplicationVswitches', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], - 'tags' => [], + ], + 'UpdateConfigMap' => [ + 'path' => '/pop/v1/sam/configmap/configMap', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'abilityTreeCode' => '225941', - 'abilityTreeNodes' => [ - 'FEATUREsae5U7VP0', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '6400', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'ConfigMapId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], + 'schema' => ['description' => 'The ID of the ConfigMap instance that you want to update. To view the ID, call the [ListNamespacedConfigMaps](~~176917~~) operation.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], ], [ - 'name' => 'DomainName', - 'in' => 'path', - 'allowEmptyValue' => false, + 'name' => 'Data', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '自定义域名名称', - 'description' => 'The custom domain name.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'admin.pupumall.com', + 'description' => 'The data of the ConfigMap.', + 'type' => 'object', + 'properties' => [ + 'Data' => ['description' => 'The key-value pairs for the ConfigMap. The value must be a JSON-formatted string, as shown in the following example:'."\n" + ."\n" + .'{"Data":"{"k1":"v1", "k2":"v2"}"}'."\n" + ."\n" + .'In the JSON string, k represents a key and v represents a value. For more information about configuration items, see [Managing and using configuration items](~~171326~~).', 'type' => 'string', 'required' => true, 'example' => '{"env.shell": "/bin/sh"}', 'title' => ''], + ], + 'required' => false, + 'example' => '{"env.home": "/root", "env.shell": "/bin/sh"}', + 'title' => '', ], ], + [ + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'The description.', 'type' => 'string', 'required' => false, 'example' => 'test-desc', 'title' => ''], + ], ], 'responses' => [ 200 => [ - 'description' => 'No Content', 'schema' => [ - 'description' => 'The request body.'."\n", - '$ref' => '#/components/schemas/WebCustomDomainBody', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'Additional information about the call.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The returned result.', + 'type' => 'object', + 'properties' => [ + 'ConfigMapId' => ['description' => 'The ID of the ConfigMap instance.', 'type' => 'string', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code or the POP error code.'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the ConfigMap instance was updated.'."\n" + ."\n" + .'- **true**: The instance was updated.'."\n" + ."\n" + .'- **false**: The instance failed to be updated.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"accountId\\": \\"123xxxxxx\\",\\n \\"WebCertConfig\\": {\\n \\"CertName\\": \\"\\",\\n \\"Certificate\\": \\"\\",\\n \\"PrivateKey\\": \\"\\"\\n },\\n \\"CreatedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"DefaultForwardingAppName\\": \\"appxxxxx\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LastModifiedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"Protocol\\": \\"HTTP\\",\\n \\"WebTLSConfig\\": {\\n \\"CipherSuites\\": [\\n \\"\\"\\n ],\\n \\"MaxVersion\\": \\"\\",\\n \\"MinVersion\\": \\"\\"\\n },\\n \\"WebWAFConfig\\": {\\n \\"EnableWAF\\": true\\n },\\n \\"RouteConfig\\": {\\n \\"routes\\": [\\n {\\n \\"path\\": \\"\\",\\n \\"applicationName\\": \\"\\"\\n }\\n ]\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DeleteWebCustomDomain', - 'description' => 'Delete a custom domain name.'."\n", - ], - 'ListWebApplicationInstances' => [ - 'summary' => 'Query the list of web application instances.', - 'path' => '/pop/v2/api/web/applications-observability/{ApplicationId}/instances', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMap', 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'TooMany.Configmap', 'errorMessage' => 'The maximum number of keys or the maximum length of Configmap is exceeded.', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'OperationFailed.RPCError', 'errorMessage' => 'Internal RPC request processing error.', 'description' => 'Internal RPC request processing error.'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ConfigMapId\\": \\"1\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateConfigMap', + 'summary' => 'Updates a ConfigMap instance.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2021-11-25T02:53:56.000Z', 'description' => 'Request parameters changed'], ], - 'tags' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateConfigMap'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateConfigMap', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], + ], + ], + 'UpdateGreyTagRoute' => [ + 'summary' => 'Updates a grey tag route.', + 'path' => '/pop/v1/sam/tagroute/greyTagRoute', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'readAndWrite', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '225949', - 'abilityTreeNodes' => [ - 'FEATUREsaeUWY6ZL', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '10391', + 'abilityTreeNodes' => ['FEATUREsaeETR3ZD'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'Description', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'The description of the rule.', 'type' => 'string', 'example' => 'Canary release - region-based', 'title' => '', 'required' => false], ], [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '614a6500-fddb-464d-a549-408a07******', - ], + 'name' => 'ScRules', + 'in' => 'query', + 'schema' => ['description' => 'The grey tag route for a Spring Cloud application.', 'type' => 'string', 'example' => '[{"condition":"OR","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"param","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}]', 'title' => '', 'required' => false], ], [ - 'name' => 'InstanceIds', + 'name' => 'DubboRules', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The instance ID. Separate multiple instance IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c-668727a8-17d86664-41e5bb******,c-668727a8-17d86664-7e4958******', - ], - 'required' => false, - 'example' => 'c-667d143a-17b4e0fa-46d3a2******', - ], + 'schema' => ['description' => 'The grey tag route for a Dubbo application.', 'type' => 'string', 'example' => '[{"condition":"OR","group":"DUBBO","items":[{"cond":"==","expr":".key1","index":0,"operator":"rawvalue","value":"value1"},{"cond":"==","expr":".key2","index":0,"operator":"rawvalue","value":"value2"}],"methodName":"echo","serviceName":"com.alibaba.edas.boot.EchoService","version":"1.0.0"}]', 'title' => '', 'required' => false], ], [ - 'name' => 'VersionIds', + 'name' => 'GreyTagRouteId', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => 'The ID of the application version.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The list of secret versions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '001', - ], - 'required' => false, - 'example' => '001', - ], + 'schema' => ['description' => 'The grey tag route ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1', 'title' => ''], ], [ - 'name' => 'Statuses', + 'name' => 'AlbRules', 'in' => 'query', - 'style' => 'json', + 'schema' => ['description' => 'The grey tag route for an ALB gateway route.', 'type' => 'string', 'example' => '[{"condition":"AND","items":[{"cond":"==","name":"grey","operator":"rawvalue","type":"sourceIp","value":"127.0.0.1"},{"cond":"==","name":"grey","operator":"rawvalue","type":"cookie","value":"true"},{"cond":"==","name":"grey","operator":"rawvalue","type":"header","value":"true"}],"path":"/post-echo/hi"}]', 'required' => false, 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The status of the application instance.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The status of the application instance:'."\n" + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '9D29CBD0-45D3-410B-9826-52F86F90****', 'title' => ''], + 'Message' => ['description' => 'Additional information about the call result.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use this ID to query the details of a call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'The grey tag route information.', + 'type' => 'object', + 'properties' => [ + 'GreyTagRouteId' => ['description' => 'The globally unique grey tag route ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '1', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned for successful requests.'."\n" + ."\n" + .'- The **ErrorCode** parameter is returned for failed requests. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: A client error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" ."\n" - .'* Busy: indicates that the request is being processed.'."\n" - .'* Idle: indicates that the instance is ready and in the standby state.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Busy', + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], - 'required' => false, + 'title' => '', 'example' => '', ], ], - [ - 'name' => 'Limit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of application instances returned.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'StartTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time when the task was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1562831689704', - ], - ], - [ - 'name' => 'EndTime', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time when the operation ended.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1715567192', - ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], ], ], - 'responses' => [ - 200 => [ - 'description' => '返回信息', - 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/ListWebApplicationInstancesBody', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"9D29CBD0-45D3-410B-9826-52F86F90****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"GreyTagRouteId\\": 1\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateGreyTagRoute', + 'requestParamsDescription' => '- **ScRules parameters**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| --------- | -------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| condition | String | OR | The logical operator for the conditions. Valid values:<br>\\- **AND**: All conditions must be met.<br>\\- **OR**: At least one of the conditions must be met. |'."\n" + .'| path | String | /path | The application path to which the grey tag route applies. |'."\n" + .'| items | Array of items | | The list of conditions. |'."\n" + ."\n" + .'**items parameters**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| --------- | ------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |'."\n" + .'| name | String | test | The parameter name. |'."\n" + .'| cond | String | \\== | The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==** and **!=**. |'."\n" + .'| type | String | cookie | The comparison type. Valid values:<br>\\- **param**: Parameter.<br>\\- **cookie**: Cookie.<br>\\- **header**: Header. |'."\n" + .'| value | String | test | The value to compare. The system compares this value with the value retrieved based on the **type** and **name** parameters. |'."\n" + .'| operator | String | rawvalue | The operator. Valid values:<br>\\- **rawvalue**: Indicates a direct comparison.<br>\\- **list**: Indicates a whitelist.<br>\\- **mod**: Indicates a modulo 100 operation.<br>\\- **deterministic_proportional_steaming_division**: Indicates a percentage. |'."\n" + ."\n" + .'- **DubboRules parameters**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| ----------- | -------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |'."\n" + .'| condition | String | OR | The logical operator for the conditions. Valid values:<br>\\- **AND**: All conditions must be met.<br>\\- **OR**: At least one of the conditions must be met. |'."\n" + .'| methodName | String | echo | The method name of the Dubbo service. |'."\n" + .'| serviceName | String | com.alibaba.edas.boot.EchoService | The name of the Dubbo service. |'."\n" + .'| version | String | 1.0.0 | The version of the Dubbo service. |'."\n" + .'| items | Array of items | | The list of conditions. |'."\n" + .'| group | String | DUBBO | The Dubbo service group to which the grey tag route applies. |'."\n" + ."\n" + .'**items parameters**'."\n" + ."\n" + .'| Parameter | Type | Example | Description |'."\n" + .'| --------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |'."\n" + .'| index | Integer | 0 | The parameter index. 0 indicates the first parameter. |'."\n" + .'| expr | String | .name | The expression used to retrieve the parameter value. Valid values:<br>\\- **If left empty**, the value of the current parameter is retrieved directly.<br>\\- **.name**: Retrieves the `name` attribute of the parameter, which is equivalent to `args0.getName()`.<br>\\- **.isEnabled()**: Retrieves the `enabled` attribute of the parameter, which is equivalent to `args0.isEnabled()`.<br>\\- **[0]**: Indicates that the parameter is an array. This retrieves the first element of the array, which is equivalent to `args0[0]`. Note that the expression does not start with a period (.).<br>\\- **.get(0)**: Indicates that the parameter is a List. This retrieves the first element of the List, which is equivalent to `args0.get(0)`.<br>\\- **.get("key")**: Indicates that the parameter is a Map. This retrieves the value that corresponds to the specified key, which is equivalent to `args0.get("key")`. |'."\n" + .'| cond | String | \\== | The comparison operator. Valid values: **>**, **<**, **>=**, **<=**, **==** and **!=**. |'."\n" + .'| value | String | test | The value to compare. The system compares this value with the value retrieved based on the **expr** and **index** parameters. |'."\n" + .'| operator | String | rawvalue | The operator. Valid values:<br>\\- **rawvalue**: Indicates a direct comparison.<br>\\- **list**: Indicates a whitelist.<br>\\- **mod**: Indicates a modulo 100 operation.<br>\\- **deterministic_proportional_steaming_division**: Indicates a percentage. |', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-29T03:14:27.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-11-16T02:00:05.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateGreyTagRoute'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateGreyTagRoute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'examples' => [], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"WebInstances\\": [\\n {\\n \\"InstanceId\\": \\"c-66691780-1522405d-3021e147e0c3\\",\\n \\"VersionId\\": \\"1\\",\\n \\"ImageUrl\\": \\"\\",\\n \\"Status\\": \\"\\"\\n }\\n ],\\n \\"CurrentError\\": \\"\\",\\n \\"WebVersionStatus\\": {\\n \\"key\\": {\\n \\"ErrorMessage\\": \\"\\",\\n \\"Status\\": \\"\\"\\n }\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'ListWebApplicationInstances', - 'description' => 'Query the list of web application instances.'."\n", + 'translator' => 'machine', ], - 'DescribeWebInstanceLogs' => [ - 'summary' => 'Obtain the logs of web application instances.', - 'path' => '/pop/v2/api/web/applications-observability/{ApplicationId}/instances/{InstanceId}/logs', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'tags' => [], + 'UpdateIngress' => [ + 'path' => '/pop/v1/sam/ingress/Ingress', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '225948', - 'abilityTreeNodes' => [ - 'FEATUREsaeWFLA5T', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '6401', + 'abilityTreeNodes' => ['FEATUREsaeBRTWZ3'], ], 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'IngressId', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', - ], + 'schema' => ['description' => 'Routing rule ID.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '87', 'title' => ''], ], [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7e41aff0-9eca-45c9-ac48-675e09******', - ], + 'name' => 'CertId', + 'in' => 'query', + 'schema' => ['description' => '**CLB** certificate ID. Details are as follows:'."\n" + ."\n" + .'- If **LoadBalanceType** is **clb**, use this field to configure the HTTPS listener certificate.'."\n" + ."\n" + .'For more information about using SSL certificate IDs with CLB, see [Manage Certificates (CLB)]().', 'type' => 'string', 'required' => false, 'example' => '188077086902****_176993d****_181437****_108724****', 'title' => ''], ], [ - 'name' => 'InstanceId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用实例ID', - 'description' => 'The ID of the application instance.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'c-667b71bc-185b1067-5d99255c3abd', - ], - ], - ], - 'responses' => [ - 200 => [ - 'description' => '返回信息', - 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationInstanceLogsBody', - ], - 'examples' => [], + 'name' => 'CertIds', + 'in' => 'query', + 'schema' => ['description' => '**ALB** multiple certificate IDs. Details are as follows:'."\n" + ."\n" + .'- If **LoadBalanceType** is **alb**, use this field to configure multiple HTTPS listener certificates. Separate multiple certificate IDs with commas.'."\n" + ."\n" + .'- Obtain the SSL certificate ID used by ALB from the digital certificate product. For example, configure `756***-cn-hangzhou`, where `756***` is the certificate ID obtained from the product page, and `-cn-hangzhou` is a fixed suffix. For more information, see [Manage Certificates (ALB)]().', 'type' => 'string', 'required' => false, 'example' => '87***35-cn-hangzhou,812***3-cn-hangzhou', 'title' => ''], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"WebLogEntrys\\": [\\n {\\n \\"Message\\": \\"\\"\\n }\\n ]\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DescribeWebInstanceLogs', - 'description' => 'Obtain the logs of web application instances.'."\n", - ], - 'DescribeWebApplicationResourceStatics' => [ - 'summary' => 'Query the resource usage of a web application.', - 'path' => '/pop/v2/api/web/applications-observability/{ApplicationId}/resource', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'tags' => [], - 'security' => [ [ - 'AK' => [], + 'name' => 'Description', + 'in' => 'query', + 'schema' => ['description' => 'Routing rule name.', 'type' => 'string', 'required' => false, 'example' => 'ingress-sae-test', 'title' => ''], ], - ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '225943', - 'abilityTreeNodes' => [ - 'FEATUREsae1X6KNP', + [ + 'name' => 'ListenerPort', + 'in' => 'query', + 'schema' => ['description' => 'SLB listening port. This port must not be occupied.', 'type' => 'string', 'required' => false, 'example' => '443', 'title' => ''], ], - ], - 'parameters' => [ [ - 'name' => 'NamespaceId', + 'name' => 'DefaultRule', 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '命名空间ID', - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['description' => 'Default forwarding rule. Forward traffic to the specified application by IP address through the specified port. Parameter description:'."\n" + ."\n" + .'- **appId**: Application ID.'."\n" + ."\n" + .'- **containerPort**: Application instance port.'."\n" + ."\n" + .'> All requests that do not match or satisfy the **Rules** forwarding rule are forwarded to this specified application.', 'type' => 'string', 'required' => false, 'example' => '{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080}', 'title' => ''], ], [ - 'name' => 'ApplicationId', - 'in' => 'path', - 'allowEmptyValue' => false, - 'schema' => [ - 'title' => '应用ID', - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7e41aff0-9eca-45c9-ac48-675e09******', - ], + 'name' => 'Rules', + 'in' => 'formData', + 'schema' => ['description' => 'Forwarding rules. Forward traffic to the specified application by domain name and URI of the request through the specified port. Parameter description:'."\n" + ."\n" + .'- **appId**: Application ID.'."\n" + ."\n" + .'- **containerPort**: Application instance port.'."\n" + ."\n" + .'- **domain**: Domain name.'."\n" + ."\n" + .'- **path**: URI of the request.', 'type' => 'string', 'required' => false, 'example' => '[{"appId":"395b60e4-0550-458d-9c54-a265d036****","containerPort":8080,"domain":"www.sae.site","path":"/path1"},{"appId":"666403ce-d25b-47cf-87fe-497565d2****","containerPort":8080,"domain":"sae.site","path":"/path2"}]', 'title' => ''], ], [ - 'name' => 'RegionId', + 'name' => 'LoadBalanceType', 'in' => 'query', - 'schema' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'schema' => ['description' => 'Deprecated parameter. Updates are no longer supported.', 'type' => 'string', 'required' => false, 'example' => 'clb', 'title' => ''], ], [ - 'name' => 'StartTime', + 'name' => 'ListenerProtocol', 'in' => 'query', - 'schema' => [ - 'description' => 'The time when the task was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1562831689704', - ], + 'schema' => ['description' => 'Forwarding Protocol. Details are as follows:'."\n" + ."\n" + .'- **HTTP**: Applies to applications that need to identify data content.'."\n" + ."\n" + .'- **HTTPS**: Applies to applications that need encrypted transmission.', 'type' => 'string', 'required' => false, 'example' => 'HTTP', 'title' => ''], ], [ - 'name' => 'EndTime', + 'name' => 'RequestTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The end of the time range during which data was queried.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1687832980387', - ], - ], - ], - 'responses' => [ - 200 => [ - 'description' => '返回信息', - 'schema' => [ - 'title' => '返回信息', - 'description' => 'The returned message.'."\n", - 'required' => false, - '$ref' => '#/components/schemas/WebApplicationResourceStaticsBody', - ], - 'examples' => [], + 'schema' => ['description' => 'Request timeout, in seconds (s).', 'type' => 'integer', 'format' => 'int32', 'example' => '60', 'title' => '', 'required' => false], ], - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"Length\\": 0,\\n \\"WebAppStatics\\": [\\n {\\n \\"CpuUsage\\": 0,\\n \\"Invocations\\": 0,\\n \\"InternetTrafficOut\\": 0,\\n \\"MemoryUsage\\": 0\\n }\\n ]\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DescribeWebApplicationResourceStatics', - 'description' => 'Query the resource usage of a web application.'."\n", - ], - 'CreateJob' => [ - 'path' => '/pop/v1/sam/job/createJob', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ [ - 'AK' => [], - ], - ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'create', - 'abilityTreeCode' => '100729', - 'abilityTreeNodes' => [ - 'FEATUREsaeN5OIM9', + 'name' => 'SecurityPolicyId', + 'in' => 'query', + 'schema' => ['description' => 'Security policy instance ID.', 'type' => 'string', 'example' => 'tls_cipher_policy_1_2_strict_with_1_3', 'title' => '', 'required' => false], ], - ], - 'parameters' => [ [ - 'name' => 'AppName', + 'name' => 'IdleTimeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the job template. The name can contain digits, letters, and hyphens (-). The name must start with a letter and cannot exceed 36 characters in length.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'test', - ], + 'schema' => ['description' => 'Idle connection timeout, in seconds (s).'."\n" + ."\n" + .'> A value of 0 indicates that the default idle timeout is used.', 'type' => 'integer', 'format' => 'int32', 'example' => '15', 'title' => '', 'required' => false], ], [ - 'name' => 'NamespaceId', + 'name' => 'EnableXForwardedFor', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Serverless App Engine (SAE) namespace. The ID can contain only lowercase letters and hyphens (-). It must start with a lowercase letter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', - ], + 'schema' => ['description' => 'Enable or disable obtaining the client IP address of the visitor through the X-Forwarded-For header field.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'AppDescription', + 'name' => 'EnableXForwardedForClientSrcPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The description of the template. The description cannot exceed 1,024 characters in length.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'This is a test description.', - ], + 'schema' => ['description' => 'Obtain the listening port of the SLB instance through the X-Forwarded-Port header field.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'VpcId', + 'name' => 'EnableXForwardedForProto', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the virtual private cloud (VPC) that corresponds to the SAE namespace. In SAE, once correspondence is configured between a namespace and a VPC, the namespace cannot correspond to other VPCs. When the SAE application is created within the namespace, the application is bound with the VPC. Multiple namespaces can correspond to the same VPC. The default value is the ID of the VPC that is bound to the namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-bp1aevy8sofi8mh1q****', - ], + 'schema' => ['description' => 'Specifies whether to determine the listener protocol of the SLB instance from the X-Forwarded-Proto header field.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'VSwitchId', + 'name' => 'EnableXForwardedForSlbId', 'in' => 'query', - 'schema' => [ - 'description' => 'The vSwitch to which the elastic network interface (ENI) of the application instance is connected. The vSwitch must be located in the VPC specified by the VpcId parameter. The SAE namespace is bound with this vSwitch. The default value is the ID of the vSwitch that is bound to the namespace.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-bp12mw1f8k3jgygk9****', - ], + 'schema' => ['description' => 'Obtain the SLB instance ID through the SLB-ID header field.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'PackageType', + 'name' => 'EnableXForwardedForSlbPort', 'in' => 'query', - 'schema' => [ - 'description' => 'The type of the deployment package. Take note of the following rules:'."\n" - ."\n" - .'* If you deploy the application by using a Java Archive (JAR) package, you can set this parameter to **FatJar**, **War**, or **Image**.'."\n" - .'* If you deploy the application by using a PHP package, you can set this parameter to one of the following values:'."\n" - ."\n" - .'**PhpZip** **IMAGE_PHP\\_5\\_4** **IMAGE_PHP\\_5\\_4\\_ALPINE** **IMAGE_PHP\\_5\\_5** **IMAGE_PHP\\_5\\_5\\_ALPINE** **IMAGE_PHP\\_5\\_6** **IMAGE_PHP\\_5\\_6\\_ALPINE** **IMAGE_PHP\\_7\\_0** **IMAGE_PHP\\_7\\_0\\_ALPINE** **IMAGE_PHP\\_7\\_1** **IMAGE_PHP\\_7\\_1\\_ALPINE** **IMAGE_PHP\\_7\\_2** **IMAGE_PHP\\_7\\_2\\_ALPINE** **IMAGE_PHP\\_7\\_3** **IMAGE_PHP\\_7\\_3\\_ALPINE**'."\n" - ."\n" - .'* If you deploy the application by using a **Python** package, you can set this parameter to **PythonZip** or **Image**:'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'FatJar', - ], + 'schema' => ['description' => 'Whether to obtain the listening port of the Server Load Balancer instance from the X-Forwarded-Port header field.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ - 'name' => 'PackageVersion', + 'name' => 'CorsConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the deployment package. This parameter is required if you set **PackageType** to **FatJar**, **War**, or **PythonZip**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.1', - ], + 'schema' => ['description' => 'Cross-domain configuration.', 'type' => 'string', 'required' => false, 'example' => '{\\"Enable\\":\\"true\\"}', 'title' => ''], ], [ - 'name' => 'PackageUrl', + 'name' => 'EnableGzip', 'in' => 'query', + 'schema' => ['description' => 'Enable or disable data compression.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The address of the deployment package. This parameter is required if you set **PackageType** to **FatJar**, **War**, or **PythonZip**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar', + 'description' => 'Returns data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['description' => 'Request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'Additional information. Details are as follows:'."\n" + ."\n" + .'- If the request is normal, **success** is returned.'."\n" + ."\n" + .'- If the request is abnormal, a specific abnormal error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'Call chain ID.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'Data' => [ + 'description' => 'Returned result.', + 'type' => 'object', + 'properties' => [ + 'IngressId' => ['description' => 'Routing rule ID.', 'type' => 'integer', 'format' => 'int64', 'example' => '87', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + 'ErrorCode' => ['description' => 'Error code. Details are as follows:'."\n" + ."\n" + .'- If the request is successful, the **ErrorCode** field is not returned.'."\n" + ."\n" + .'- If the request failed, the **ErrorCode** field is returned. For more information, see the **Error Codes** list in this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'API status or POP error code. Details are as follows:'."\n" + ."\n" + .'- **2xx**: Success.'."\n" + ."\n" + .'- **3xx**: Redirection.'."\n" + ."\n" + .'- **4xx**: Request error.'."\n" + ."\n" + .'- **5xx**: Server error.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the Ingress instance configuration was successfully updated. Details are as follows:'."\n" + ."\n" + .'- **true**: The update was successful.'."\n" + ."\n" + .'- **false**: The update failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'Exceed.IngressRule', 'errorMessage' => 'The number of Ingress related rules must be less than or equal to 40.', 'description' => ''], + ['errorCode' => 'SlbListenerPort.NotAvailable', 'errorMessage' => 'The SLB listening port is unavailable: slbId [%s], port [%s]', 'description' => ''], + ['errorCode' => 'SSLCert.NotFound', 'errorMessage' => 'The specified SSL certificate cannot be found.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"IngressId\\": 87\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateIngress', + 'summary' => 'Update the configuration of an Ingress instance.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-10-24T08:31:04.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2025-03-21T02:11:42.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-10-29T08:50:17.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-09-11T08:44:35.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2024-08-21T01:31:17.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-02T02:40:58.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2021-11-16T02:00:05.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateIngress'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateIngress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'UpdateJob' => [ + 'path' => '/pop/v1/sam/job/updateJob', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], + 'security' => [ [ - 'name' => 'ImageUrl', + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '100734', + 'abilityTreeNodes' => ['FEATUREsaeN5OIM9'], + ], + 'parameters' => [ + [ + 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the image. This parameter is returned only if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1', - ], + 'schema' => ['description' => 'The ID of the job template to update.', 'type' => 'string', 'required' => true, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], [ 'name' => 'Jdk', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Java development kit (JDK) on which the deployment package of the application depends. The following versions are supported:'."\n" - ."\n" - .'* **Open JDK 8**'."\n" - .'* **Open JDK 7**'."\n" - .'* **Dragonwell 11**'."\n" - .'* **Dragonwell 8**'."\n" - .'* **openjdk-8u191-jdk-alpine3.9**'."\n" - .'* **openjdk-7u201-jdk-alpine3.9**'."\n" - ."\n" - .'This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open JDK 8', - ], + 'schema' => ['description' => 'The Java Development Kit (JDK) version that the deployment package depends on. The following versions are supported:'."\n" + ."\n" + .'- **Open JDK 8**'."\n" + ."\n" + .'- **Open JDK 7**'."\n" + ."\n" + .'- **Dragonwell 11**'."\n" + ."\n" + .'- **Dragonwell 8**'."\n" + ."\n" + .'- **openjdk-8u191-jdk-alpine3.9**'."\n" + ."\n" + .'- **openjdk-7u201-jdk-alpine3.9**'."\n" + ."\n" + .'This parameter is not supported when **Package Type** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'Open JDK 8', 'title' => ''], ], [ 'name' => 'WebContainer', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Tomcat container on which the deployment package depends. Valid values:'."\n" - ."\n" - .'* **apache-tomcat-7.0.91**'."\n" - .'* **apache-tomcat-8.5.42**'."\n" - ."\n" - .'This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'apache-tomcat-7.0.91', - ], + 'schema' => ['description' => 'The Tomcat version that the deployment package depends on. The following versions are supported:'."\n" + ."\n" + .'- **apache-tomcat-7.0.91**'."\n" + ."\n" + .'- **apache-tomcat-8.5.42**'."\n" + ."\n" + .'This parameter is not supported when **Package Type** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'apache-tomcat-7.0.91', 'title' => ''], ], [ - 'name' => 'Cpu', + 'name' => 'PackageVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU specifications that are required for each instance. Unit: millicores. You cannot set this parameter to 0. Valid values:'."\n" - ."\n" - .'* 500'."\n" - .'* 1000'."\n" - .'* 2000'."\n" - .'* 4000'."\n" - .'* 8000'."\n" - .'* 16000'."\n" - .'* 32000'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1000', - ], + 'schema' => ['description' => 'The version of the deployment package. This parameter is required if **Package Type** is set to **FatJar**, **War**, or **PythonZip**.', 'type' => 'string', 'required' => false, 'example' => '1.0.1', 'title' => ''], ], [ - 'name' => 'Memory', + 'name' => 'PackageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The size of memory required by each instance. Unit: MB. You cannot set this parameter to 0. The values of this parameter correspond to the values of the Cpu parameter:'."\n" - ."\n" - .'* Set the value to 1024 when Cpu is set to 500 or 1000.'."\n" - .'* Set the value to 2048 when Cpu is set to 500, 1000 or 2000.'."\n" - .'* Set the value to 4096 when Cpu is set to 1000, 2000, or 4000.'."\n" - .'* Set the value to 8192 when Cpu is set to 2000, 4000, or 8000.'."\n" - .'* Set the value to 12288 when Cpu is set to 12000.'."\n" - .'* Set the value to 16384 when Cpu is set to 4000, 8000, or 16000.'."\n" - .'* Set the value to 24576 when Cpu is set to 12000.'."\n" - .'* Set the value to 32768 when Cpu is set to 16000.'."\n" - .'* Set the value to 65536 when Cpu is set to 8000, 16000, or 32000.'."\n" - .'* Set the value to 131072 when Cpu is set to 32000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1024', - ], + 'schema' => ['description' => 'The URL of the deployment package. This parameter is required if **Package Type** is set to **FatJar**, **War**, or **PythonZip**.', 'type' => 'string', 'required' => false, 'example' => 'http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar', 'title' => ''], ], [ - 'name' => 'Replicas', + 'name' => 'ImageUrl', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of concurrent instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '3', - ], + 'schema' => ['description' => 'The URL of the image. This parameter is required if **Package Type** is set to **Image**.', 'type' => 'string', 'required' => false, 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1', 'title' => ''], ], [ 'name' => 'Command', 'in' => 'query', - 'schema' => [ - 'description' => 'The command that is used to start the image. The command must be an existing executable object in the container. Sample statements:'."\n" - ."\n" - .' command:'."\n" - .' - echo'."\n" - .' - abc'."\n" - .' - >'."\n" - .' - file0'."\n" - ."\n" - .'In this example, the Command parameter is set to `Command="echo", CommandArgs=["abc", ">", "file0"]`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo', - ], + 'schema' => ['description' => 'The startup command of the image. The command must be an executable object that exists in the container. Example:'."\n" + ."\n" + .'```'."\n" + .'command:'."\n" + .' - echo'."\n" + .' - abc'."\n" + .' - >'."\n" + .' - file0'."\n" + .'```'."\n" + ."\n" + .'In this example, `Command="echo" and CommandArgs=["abc", ">", "file0"]`.', 'type' => 'string', 'required' => false, 'example' => 'echo', 'title' => ''], ], [ 'name' => 'CommandArgs', 'in' => 'query', - 'schema' => [ - 'description' => 'The parameters of the image startup command. The CommandArgs parameter specifies the parameters that are required for the **Command** parameter. You can specify the name in one of the following formats:'."\n" - ."\n" - .'`["a","b"]`'."\n" - ."\n" - .'In the preceding example, the CommandArgs parameter is set to `CommandArgs=["abc", ">", "file0"]`. The data type of `["abc", ">", "file0"]` must be an array of strings in the JSON format. This parameter is optional.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["a","b"]', - ], + 'schema' => ['description' => 'The arguments of the image startup **Command**. The value must be a JSON array that is converted to a string. Format:'."\n" + ."\n" + .'`["a","b"]`'."\n" + ."\n" + .'In the preceding example, `CommandArgs=["abc", ">", "file0"]`. The `["abc", ">", "file0"]` array is converted to a string. This parameter is optional.', 'type' => 'string', 'required' => false, 'example' => '["a","b"]', 'title' => ''], ], [ 'name' => 'Envs', 'in' => 'query', - 'schema' => [ - 'description' => 'The environment variables. You can configure custom environment variables or reference a ConfigMap. If you want to reference a ConfigMap, you must first create a ConfigMap. For more information, see [CreateConfigMap](~~176914~~). Take note of the following rules:'."\n" - ."\n" - .'* Customize'."\n" - ."\n" - .' * **name**: the name of the environment variable.'."\n" - .' * **value**: the value of the environment variable.'."\n" - ."\n" - .'* Reference ConfigMap'."\n" - ."\n" - .' * **name**: the name of the environment variable. You can reference one or all keys. If you want to reference all keys, specify `sae-sys-configmap-all-<ConfigMap name>`. Example: `sae-sys-configmap-all-test1`.'."\n" - .' * **valueFrom**: the reference of the environment variable. Set the value to `configMapRef`.'."\n" - .' * **configMapId**: the ConfigMap ID.'."\n" - .' * **key**: the key. If you want to reference all keys, do not configure this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"envtmp","value":"0"}]', - ], + 'schema' => ['description' => 'The environment variables of the container. You can customize environment variables or reference variables from a ConfigMap. To reference a ConfigMap, you must create a ConfigMap instance first. For more information, see [CreateConfigMap](~~176914~~). The value is a JSON string. The following fields are supported:'."\n" + ."\n" + .'- Custom variables'."\n" + ."\n" + .' - **name**: the name of the environment variable.'."\n" + ."\n" + .' - **value**: the value of the environment variable.'."\n" + ."\n" + .'- Reference variables from a ConfigMap'."\n" + ."\n" + .' - **name**: The name of the environment variable. You can reference a single key-value pair or all key-value pairs. To reference all key-value pairs, set the value to `sae-sys-configmap-all-<ConfigMap name>`. Example: `sae-sys-configmap-all-test1`.'."\n" + ."\n" + .' - **valueFrom**: the reference of the environment variable. Set the value to `configMapRef`.'."\n" + ."\n" + .' - **configMapId**: the ID of the ConfigMap.'."\n" + ."\n" + .' - **key**: The key of the key-value pair. If you want to reference all key-value pairs, do not configure this field.', 'type' => 'string', 'required' => false, 'example' => '[{"name":"envtmp","value":"0"}]', 'title' => ''], ], [ 'name' => 'CustomHostAlias', 'in' => 'query', - 'schema' => [ - 'description' => 'The custom mappings between hostnames and IP addresses in the container. Take note of the following rules:'."\n" - ."\n" - .'* **hostName**: the domain name or hostname.'."\n" - .'* **ip**: the IP address.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"hostName":"samplehost","ip":"127.0.0.1"}]', - ], + 'schema' => ['description' => 'The custom mapping between a hostname and an IP address in the container. The value is a JSON string. The following fields are supported:'."\n" + ."\n" + .'- **hostName**: the domain name or hostname.'."\n" + ."\n" + .'- **ip**: the IP address.', 'type' => 'string', 'required' => false, 'example' => '[{"hostName":"samplehost","ip":"127.0.0.1"}]', 'title' => ''], ], [ 'name' => 'JarStartOptions', 'in' => 'query', - 'schema' => [ - 'description' => 'The option settings in the JAR package. The settings are used to start the application container. The default startup command for application deployment is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'custom-option', - ], + 'schema' => ['description' => 'The options of the JAR package to start the application. The default startup command of the application is: `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`', 'type' => 'string', 'required' => false, 'example' => 'custom-option', 'title' => ''], ], [ 'name' => 'JarStartArgs', 'in' => 'query', - 'schema' => [ - 'description' => 'The arguments in the JAR package. The arguments are used to start the application container. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-Xms4G -Xmx4G', - ], + 'schema' => ['description' => 'The arguments of the JAR package to start the application. The default startup command of the application is: `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`', 'type' => 'string', 'required' => false, 'example' => '-Xms4G -Xmx4G', 'title' => ''], ], [ 'name' => 'EdasContainerVersion', 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the container, such as Ali-Tomcat, in which an application developed based on High-speed Service Framework (HSF) is deployed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3.5.3', - ], + 'schema' => ['description' => 'The version of the application runtime environment in High-speed Service Framework (HSF), such as an Ali-Tomcat container.', 'type' => 'string', 'required' => false, 'example' => '3.5.3', 'title' => ''], ], [ - 'name' => 'Timezone', + 'name' => 'SlsConfigs', 'in' => 'query', - 'schema' => [ - 'description' => 'The time zone. Default value: **Asia/Shanghai**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Asia/Shanghai', - ], + 'schema' => ['description' => 'The configurations of collecting logs to Log Service.'."\n" + ."\n" + .'- Use the Log Service resources that are automatically created by SAE: `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" + ."\n" + .'- Use a custom Log Service resource: `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" + ."\n" + .'The following fields are supported:'."\n" + ."\n" + .'- **projectName**: The name of the Log Service project.'."\n" + ."\n" + .'- **logDir**: The log path.'."\n" + ."\n" + .'- **logType**: The log type. **stdout** indicates the standard output log of the container. You can specify only one standard output. If you do not configure this field, file logs are collected.'."\n" + ."\n" + .'- **logstoreName**: The name of the Logstore in Log Service.'."\n" + ."\n" + .'- **logtailName**: The name of the Logtail. If you do not specify this parameter, a new Logtail is created.'."\n" + ."\n" + .'If the SLS configuration is not changed during a deployment, you do not need to configure this parameter. To stop using the log collection feature, set the value of this parameter to an empty string (`""`).'."\n" + ."\n" + .'> Projects that are automatically created with a job template are deleted when the job template is deleted. Therefore, when you select an existing project, do not select a project that is automatically created by SAE.', 'type' => 'string', 'required' => false, 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', 'title' => ''], ], [ - 'name' => 'SlsConfigs', + 'name' => 'Timezone', 'in' => 'query', - 'schema' => [ - 'description' => 'The logging configurations of Log Service.'."\n" - ."\n" - .'* To use Log Service resources that are automatically created by SAE, set this parameter to `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" - .'* To use custom Log Service resources, set this parameter to `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" - ."\n" - .'The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **projectName**: the name of the Log Service project.'."\n" - .'* **logDir**: the path in which logs are stored.'."\n" - .'* **logType**: the log type. **stdout**: the standard output log of the container. You can specify only one stdout value for this parameter. If you leave this parameter empty, file logs are collected.'."\n" - .'* **logstoreName**: the name of the Logstore in Log Service.'."\n" - .'* **logtailName**: the name of the Logtail configuration in Log Service. If you do not configure this parameter, a new Logtail configuration is created.'."\n" - ."\n" - .'If you do not need to modify the logging configurations when you deploy the application, configure the **SlsConfigs** parameter only in the first request. You do not need to include this parameter in subsequent requests. If you no longer need to use Log Service, leave the **SlsConfigs** parameter empty in the request.'."\n" - ."\n" - .'> A Log Service project that is automatically created by SAE when you create an application is deleted when the application is deleted. Therefore, when you create an application, you cannot select a Log Service project that is automatically created by SAE for log collection.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', - ], + 'schema' => ['description' => 'The time zone. Default value: **Asia/Shanghai**.', 'type' => 'string', 'required' => false, 'example' => 'Asia/Shanghai', 'title' => ''], ], [ 'name' => 'NasId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Apsara File Storage NAS file system. After the application is created, you may want to call other operations to manage the application. If you do not want to change the NAS configurations in these subsequent operations, you can omit the **NasId** parameter in the requests. If you want to unmount the NAS file system, you must set the **NasId** values in the subsequent requests to an empty string ("").'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10d3b4****', - ], + 'schema' => ['description' => 'The ID of the Apsara File Storage NAS file system. If the configurations are not changed during a deployment, you do not need to configure this parameter. To clear the NAS configurations, set the value of this parameter to an empty string (`""`).', 'type' => 'string', 'required' => false, 'example' => '10d3b4****', 'title' => ''], ], [ 'name' => 'MountHost', 'in' => 'query', - 'schema' => [ - 'description' => 'The mount target of the NAS file system in the VPC where the application is deployed. If you do not need to modify this configuration during the deployment, configure the **MountHost** parameter only in the first request. You do not need to include this parameter in subsequent requests. If you need to remove this configuration, leave the **MountHost** parameter empty in the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10d3b4bc9****.com', - ], + 'schema' => ['description' => 'The mount target of the NAS file system in the virtual private cloud (VPC) where the job template is located. If the configurations are not changed during a deployment, you do not need to configure this parameter. To clear the NAS configurations, set the value of this parameter to an empty string (`""`).', 'type' => 'string', 'required' => false, 'example' => '10d3b4bc9****.com', 'title' => ''], ], [ 'name' => 'MountDesc', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations for mounting the NAS file system. After the application is created, you may want to call other operations to manage the application. If you do not want to change the NAS configurations in these subsequent operations, you can omit the **MountDesc** parameter in the requests. If you want to unmount the NAS file system, you must set the **MountDesc** values in the subsequent requests to an empty string ("").'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{mountPath: "/tmp", nasPath: "/"}]', - ], + 'schema' => ['description' => 'The description of the NAS mount. If the configurations are not changed during a deployment, you do not need to configure this parameter. To clear the NAS configurations, set the value of this parameter to an empty string (`""`) in the request.', 'type' => 'string', 'required' => false, 'example' => '[{mountPath: "/tmp", nasPath: "/"}]', 'title' => ''], ], [ - 'name' => 'PreStop', + 'name' => 'PostStart', 'in' => 'query', - 'schema' => [ - 'description' => 'The script that is run before the container is stopped. Example: `{"exec":{"command":\\["sh","-c","echo hello"\\]}}`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', - ], + 'schema' => ['description' => 'The script that is executed after the container is started. Example: `{"exec":{"command":["sh","-c","echo hello"]}}`', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', 'title' => ''], ], [ - 'name' => 'PostStart', + 'name' => 'PreStop', 'in' => 'query', - 'schema' => [ - 'description' => 'The script that is run immediately after the container is started. Example: `{"exec":{"command":\\["sh","-c","echo hello"\\]}}`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', - ], + 'schema' => ['description' => 'The script that is executed before the container is stopped. Example: `{"exec":{"command":["sh","-c","echo hello"]}}`', 'type' => 'string', 'required' => false, 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', 'title' => ''], ], [ 'name' => 'WarStartOptions', 'in' => 'query', - 'schema' => [ - 'description' => 'The startup command of the WAR package. For information about how to configure the startup command, see [Configure startup commands](~~96677~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CATALINA_OPTS=\\"$CATALINA_OPTS $Options\\" catalina.sh run', - ], + 'schema' => ['description' => 'The startup command for the application that is deployed in a WAR package. The procedure is the same as that for configuring the startup command for an image. For more information, see [Set a startup command](~~96677~~).', 'type' => 'string', 'required' => false, 'example' => 'CATALINA_OPTS=\\"$CATALINA_OPTS $Options\\" catalina.sh run', 'title' => ''], ], [ 'name' => 'ConfigMapMountDesc', 'in' => 'formData', - 'schema' => [ - 'description' => 'The description of the **ConfigMap** instance mounted to the application. Use configurations created on the Configuration Items page to configure containers. The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **congfigMapId**: the ID of the ConfigMap instance. You can call the [ListNamespacedConfigMaps](~~176917~~) operation to obtain the ID.'."\n" - .'* **key**: the key.'."\n" - ."\n" - .'> You can use the `sae-sys-configmap-all` key to mount all keys.'."\n" - ."\n" - .'* **mountPath**: the mount path in the container.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"configMapId":16,"key":"test","mountPath":"/tmp"}]', - ], - ], - [ - 'name' => 'SecurityGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-wz969ngg2e49q5i4****', - ], - ], - [ - 'name' => 'AutoConfig', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to automatically configure the network environment. Take note of the following rules:'."\n" - ."\n" - .'* **true**: The network environment is automatically configured by SAE when the application is created. In this case, the values of the **NamespaceId**, **VpcId**, **vSwitchId**, and **SecurityGroupId** parameters are ignored.'."\n" - .'* **false**: The network environment is manually configured based on your settings when the application is created.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'The description of the **ConfigMap** instance that is mounted to the container. You can use the ConfigMap instance created on the Namespace Configurations page to inject configurations into the container. The value is a JSON string. The following fields are supported:'."\n" + ."\n" + .'- **configMapId**: The ID of the ConfigMap instance. You can call the [ListNamespacedConfigMaps](~~176917~~) operation to obtain the ID.'."\n" + ."\n" + .'- **key**: The key of the key-value pair.'."\n" + ."\n" + .'> You can pass the `sae-sys-configmap-all` parameter to mount all key-value pairs.'."\n" + ."\n" + .'- **mountPath**: The mount path.', 'type' => 'string', 'required' => false, 'example' => '[{"configMapId":16,"key":"test","mountPath":"/tmp"}]', 'title' => ''], ], [ 'name' => 'TerminationGracePeriodSeconds', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for a graceful shutdown. Default value: 30. Unit: seconds. Valid values: 1 to 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '6000', - 'minimum' => '0', - 'example' => '10', - 'default' => '30', - ], + 'schema' => ['description' => 'The graceful timeout period. Default value: 30. Unit: seconds. Valid values: 1 to 300.', 'type' => 'integer', 'format' => 'int32', 'maximum' => '6000', 'minimum' => '0', 'default' => '30', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'PhpConfigLocation', 'in' => 'query', - 'schema' => [ - 'description' => 'The path on which the PHP configuration file for application startup is mounted. Make sure that the PHP server uses this configuration file during the startup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/etc/php/php.ini', - ], + 'schema' => ['description' => 'The path on which the PHP application startup configuration file is mounted. Make sure that the PHP server uses this configuration file to start the application.', 'type' => 'string', 'required' => false, 'example' => '/usr/local/etc/php/php.ini', 'title' => ''], ], [ 'name' => 'PhpConfig', 'in' => 'formData', - 'schema' => [ - 'description' => 'The details of the PHP configuration file.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'k1=v1', - ], + 'schema' => ['description' => 'The content of the PHP configuration file.', 'type' => 'string', 'required' => false, 'example' => 'k1=v1', 'title' => ''], ], [ 'name' => 'TomcatConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The Tomcat configuration. If you want to cancel this configuration, set this parameter to "" or "{}". The following variables are included in the configuration: Take note of the following rules:'."\n" - ."\n" - .'* **port**: the port number. The port number ranges from 1024 to 65535. Though the admin permissions are configured for the container, the root permissions are required to perform operations on ports whose number is smaller than 1024. Enter a value that ranges from 1025 to 65535 because the container has only the admin permissions. If you do not specify this parameter, the default port number 8080 is used.'."\n" - .'* **contextPath**: the path. Default value: /. This value indicates the root directory.'."\n" - .'* **maxThreads**: the maximum number of connections in the connection pool. Default value: 400.'."\n" - .'* **uriEncoding**: the URI encoding scheme in the Tomcat container. Valid values: UTF-8, ISO-8859-1, GBK, and GB2312.************ If you do not specify this parameter, the default value **ISO-8859-1** is used.'."\n" - .'* **useBodyEncoding**: specifies whether to use the encoding scheme specified in the request body for URI query parameters. Default value: true.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', - ], + 'schema' => ['description' => 'The configurations of the Tomcat file. If you set this parameter to "" or "{}", the configurations are deleted. The value is a JSON string. The following fields are supported:'."\n" + ."\n" + .'- **port**: The port number. Valid values: 1024 to 65535. The root permission is required to perform operations on ports whose number is smaller than 1024. The container is configured with the administrator permission. Therefore, specify a port whose number is greater than 1024. If you do not configure this field, the default port 8080 is used.'."\n" + ."\n" + .'- **contextPath**: The context path. Default value: /.'."\n" + ."\n" + .'- **maxThreads**: The maximum number of connections in the connection pool. Default value: 400.'."\n" + ."\n" + .'- **uriEncoding**: The URI encoding scheme in Tomcat. Supported values: **UTF-8**, **ISO-8859-1**, **GBK**, and **GB2312**. If you do not set this parameter, the default value **ISO-8859-1** is used.'."\n" + ."\n" + .'- **useBodyEncodingForUri**: Specifies whether to use **BodyEncoding for URL**. Default value: **true**.', 'type' => 'string', 'required' => false, 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', 'title' => ''], ], [ 'name' => 'OssMountDescs', 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS挂载描述信息', - 'description' => 'Information of the Object Storage Service (OSS) bucket mounted to the application. The following table describes the parameters that are used in the preceding statements.'."\n" - ."\n" - .'* **bucketName**: the name of the OSS bucket.'."\n" - ."\n" - .'* **bucketPath**: the directory or object in OSS. If the specified directory or object does not exist, an error is returned.'."\n" - ."\n" - .'* **mountPath**: the directory of the container in SAE. If the path already exists, the newly specified path overwrites the previous one. If the path does not exist, it is created.'."\n" - ."\n" - .'* **readOnly**: specifies whether to only allow the container path to read data from the OSS directory. Valid values:'."\n" - ."\n" - .' * **true**: The container path only has read permission on the OSS directory.'."\n" - .' * **false**: The application has read and write permissions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]', - ], + 'schema' => ['description' => 'The description of the OSS mount. The value is a JSON string. The following parameters are supported:'."\n" + ."\n" + .'- **bucketName**: the name of the bucket.'."\n" + ."\n" + .'- **bucketPath**: the directory or object that you created in OSS. An exception occurs if the specified OSS mount directory does not exist.'."\n" + ."\n" + .'- **mountPath**: The path in the SAE container. If the path exists, the new path overwrites the existing one. If the path does not exist, a new path is created.'."\n" + ."\n" + .'- **readOnly**: specifies whether a container has the read-only permission on the resources in the mount directory.'."\n" + ."\n" + .' - **true**: The container has the read-only permission.'."\n" + ."\n" + .' - **false**: The container has the read and write permissions.', 'type' => 'string', 'example' => '[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]', 'title' => '', 'required' => false], ], [ 'name' => 'OssAkId', 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS使用的AKID', - 'description' => 'The AccessKey ID that is used to read data from and write data to Object Storage Service (OSS) buckets.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', - ], + 'schema' => ['description' => 'The AccessKey ID that is used to read data from and write data to OSS.', 'type' => 'string', 'example' => 'xxxxxx', 'title' => '', 'required' => false], ], [ 'name' => 'OssAkSecret', 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS AKID对应的secret', - 'description' => 'The AccessKey secret that is used to read data from and write data to OSS buckets.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', - ], + 'schema' => ['description' => 'The AccessKey secret that is used to read data from and write data to OSS.', 'type' => 'string', 'example' => 'xxxxxx', 'title' => '', 'required' => false], + ], + [ + 'name' => 'Php', + 'in' => 'formData', + 'schema' => ['description' => 'The ID of the Container Registry Enterprise Edition instance.', 'type' => 'string', 'example' => 'cri-xxxxxx', 'title' => '', 'required' => false], ], [ 'name' => 'AcrInstanceId', 'in' => 'formData', - 'schema' => [ - 'title' => 'ACR 企业版实例 ID', - 'description' => 'The ID of Container Registry Enterprise Edition instance N. This parameter is required when the **ImageUrl** parameter is set to the URL of an image in an ACR Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'docRequired' => false, - 'example' => 'cri-xxxxxx', - ], + 'schema' => ['description' => 'The ID of the Container Registry Enterprise Edition instance. This parameter is required if **ImageUrl** is set to an image in a Container Registry Enterprise Edition instance.', 'type' => 'string', 'example' => 'cri-xxxxxx', 'title' => '', 'required' => false], ], [ 'name' => 'AcrAssumeRoleArn', 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) required for a RAM role to obtain images across accounts. For more information, see [Grant permissions across Alibaba Cloud accounts by using a RAM role](~~223585~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::123456789012****:role/adminrole', - ], + 'schema' => ['description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role that is required to pull images across accounts. For more information, see [Grant permissions across Alibaba Cloud accounts by using a RAM role](~~223585~~).', 'type' => 'string', 'required' => false, 'example' => 'acs:ram::123456789012****:role/adminrole', 'title' => ''], ], [ 'name' => 'ImagePullSecrets', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the corresponding Secret.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => 'The ID of the secret.', 'type' => 'string', 'required' => false, 'example' => '10', 'title' => ''], ], [ 'name' => 'EnableImageAccl', 'in' => 'formData', - 'schema' => [ - 'title' => '是否开启镜像加速', - 'description' => '', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - 'default' => 'false', - ], - ], - [ - 'name' => 'Workload', - 'in' => 'query', - 'allowEmptyValue' => false, - 'schema' => [ - 'description' => 'Set the value to `job`.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'job', - ], + 'allowEmptyValue' => true, + 'schema' => ['description' => 'Specifies whether to enable image acceleration.', 'type' => 'boolean', 'default' => 'false', 'title' => '', 'required' => false, 'example' => ''], ], [ 'name' => 'TriggerConfig', 'in' => 'query', - 'schema' => [ - 'description' => 'The trigger configuration. Configure this parameter based on the job type.'."\n" - ."\n" - .'* **Scheduled job**: Set **type** to time, **config** to a CRON expression, and **timezone** to a specific time zone.'."\n" - ."\n" - .'Example: `{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}`'."\n" - ."\n" - .'* **One-time job**: Set **type** to http and configure an HTTP trigger rule for **config**. For more information, see [SourceHttpEventParameters](https://help.aliyun.com/document_detail/347586.html#section-lp1-vq0-ho3).'."\n" - ."\n" - .'Example: `{"type":"http","config":{"type":"HTTPS","method"、["GET"],"ip":[],"referer":[],"securityConfig":"none"}}`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}', - ], + 'schema' => ['description' => 'The trigger configuration. Configure this parameter based on the job type.'."\n" + ."\n" + .'- **Cron job**: Set the **type** field to `time`, the **config** field to a cron expression, and the **timezone** field to the desired time zone.'."\n" + .' Example: `{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}`'."\n" + ."\n" + .'- **One-time job**: Set the **type** field to `http` and configure the **config** field with specific HTTP trigger rules. For more information, see [SourceHttpEventParameters](https://help.aliyun.com/document_detail/347586.html#section-lp1-vq0-ho3).'."\n" + .' Example: `{"type":"http","config":{"type":"HTTPS","method":["GET"],"ip":[],"referer":[],"securityConfig":"none"}}`', 'type' => 'string', 'required' => false, 'example' => '{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}', 'title' => ''], ], [ 'name' => 'ConcurrencyPolicy', 'in' => 'query', - 'schema' => [ - 'description' => 'The concurrency policy of the job. Take note of the following rules:'."\n" - ."\n" - .'* **Forbid**: Prohibits concurrent running. If the previous job is not completed, no new job is created.'."\n" - .'* **Allow**: Allows concurrent running.'."\n" - .'* **Replace**: If the previous job is not completed when the time to create a new job is reached, the new job replaces the previous job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Allow', - ], + 'schema' => ['description' => 'The policy of running concurrent jobs. Valid values:'."\n" + ."\n" + .'- **Forbid**: A new job is not created if the previous job is not completed.'."\n" + ."\n" + .'- **Allow**: Concurrent jobs are allowed.'."\n" + ."\n" + .'- **Replace**: When the time to create a new job is reached, the new job replaces the previous job if the previous job is not completed.', 'type' => 'string', 'required' => false, 'example' => 'Allow', 'title' => ''], ], [ 'name' => 'Timeout', 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3600', - ], + 'schema' => ['description' => 'The timeout period for the job. Unit: seconds.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3600', 'title' => ''], ], [ 'name' => 'BackoffLimit', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times the job is retried.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3', - ], + 'schema' => ['description' => 'The number of retries for the job.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '3', 'title' => ''], ], [ 'name' => 'Slice', 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable job sharding.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => 'Enables job sharding.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], [ 'name' => 'SliceEnvs', 'in' => 'query', - 'schema' => [ - 'description' => 'The parameters of job sharding.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[0,1,2]', - ], + 'schema' => ['description' => 'The parameters for job sharding.', 'type' => 'string', 'required' => false, 'example' => '[0,1,2]', 'title' => ''], + ], + [ + 'name' => 'Replicas', + 'in' => 'query', + 'schema' => ['description' => 'The number of concurrent instances for the job.', 'type' => 'string', 'required' => false, 'example' => '3', 'title' => ''], ], [ 'name' => 'RefAppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job that you reference.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'schema' => ['description' => 'The ID of the referenced application.', 'type' => 'string', 'required' => false, 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], [ 'name' => 'ProgrammingLanguage', 'in' => 'query', - 'schema' => [ - 'description' => 'The programming language. Valid values: **java**, **php**, **python**, and **shell**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'java', - ], + 'schema' => ['description' => 'The programming language. Supported values: **java**, **php**, **python**, and **shell**.', 'type' => 'string', 'required' => false, 'example' => 'java', 'title' => ''], ], [ 'name' => 'Python', 'in' => 'query', - 'schema' => [ - 'description' => 'The Python environment. Set the value to **PYTHON 3.9.15**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PYTHON 3.9.15', - ], + 'schema' => ['description' => 'The Python environment. **PYTHON 3.9.15** is supported.', 'type' => 'string', 'required' => false, 'example' => 'PYTHON 3.9.15', 'title' => ''], ], [ 'name' => 'PythonModules', 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations for installing custom module dependencies. By default, the dependencies defined by the requirements.txt file in the root directory are installed. If the package does not contain this file and you do not configure custom dependencies in the package, specify the dependencies that you want to install in the text box.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Flask==2.0', - ], + 'schema' => ['description' => 'The custom module dependencies. By default, the dependencies that are defined in the requirements.txt file in the root directory of the package are installed. If you do not configure this parameter or the package does not have a requirements.txt file, you can specify the dependencies that you want to install.', 'type' => 'string', 'required' => false, 'example' => 'Flask==2.0', 'title' => ''], ], [ 'name' => 'NasConfigs', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The configurations of mounting a NAS file system.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], ], [ 'name' => 'BestEffortType', 'in' => 'query', - 'schema' => [ - 'type' => 'string', - ], + 'schema' => ['description' => 'The BestEffort policy.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The information about the deployed application.'."\n", + 'description' => 'Information about the updated job template.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3***', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Take note of the following rules:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622246421415014e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3***', 'title' => ''], + 'Message' => ['description' => 'The response message.'."\n" + ."\n" + .'- **success** if the request is successful.'."\n" + ."\n" + .'- An error code if the request fails.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that you can use to query the details of a request.', 'type' => 'string', 'example' => 'ac1a0b2215622246421415014e****', 'title' => ''], 'Data' => [ - 'description' => 'The response.'."\n", + 'description' => 'The data that is returned.', 'type' => 'object', 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order. It can be used to query the task status.'."\n", - 'type' => 'string', - 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', - ], - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'ChangeOrderId' => ['description' => 'The change order ID. You can use this ID to query the execution status of the job.', 'type' => 'string', 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', 'title' => ''], + 'AppId' => ['description' => 'The job template ID.', 'type' => 'string', 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Take note of the following rules:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application deployment is successful. Take note of the following rules:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => '- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code.'."\n" + ."\n" + .'- **2xx**: The request is successful.'."\n" + ."\n" + .'- **3xx**: The request is redirected.'."\n" + ."\n" + .'- **4xx**: The request is invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the job template was updated. Valid values:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'Application.MissingJdk', - 'errorMessage' => 'Your application must at least contain a JDK component.', - ], - [ - 'errorCode' => 'InvalidPackageType.NotFound', - 'errorMessage' => 'The package type must be War, FatJar, or Image.', - ], - [ - 'errorCode' => 'InvalidParameter.FileName', - 'errorMessage' => 'The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). In addition, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'JarApplication.MissingJdk', - 'errorMessage' => 'A FatJar application must contain JDK.', - ], - [ - 'errorCode' => 'NoAvailableCluster.NotFound', - 'errorMessage' => 'No clusters are available for the current region.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'PandoraApplication.MissingJdk', - 'errorMessage' => 'The Pandora application is missing a JDK component.', - ], - [ - 'errorCode' => 'PandoraApplication.OnlyJdk', - 'errorMessage' => 'A Pandora application only requires JDK component.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'InvalidComponent.NotFound', - 'errorMessage' => 'The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.', - ], - [ - 'errorCode' => 'InvalidHostnameIp.Invalid', - 'errorMessage' => 'The hostname and/or IP is invalid: Hostname [%s], IP [%s].', - ], - [ - 'errorCode' => 'InvalidInstanceSpecification.Unsupported', - 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', - ], - [ - 'errorCode' => 'InvalidServerlessRegion.Unsupported', - 'errorMessage' => 'The current region is not supported: %s', - ], - [ - 'errorCode' => 'WarApplication.MissingJdkWebcontainer', - 'errorMessage' => 'A War application must contain JDK and Tomcat.', - ], - [ - 'errorCode' => 'InvalidNamespace.WithUppercase', - 'errorMessage' => 'This namespace does not support creating SAE apps because it contains uppercase letters.', - ], - [ - 'errorCode' => 'LogService.ConfigQuotaExceed', - 'errorMessage' => 'The maximum number of Log Service configs is exceeded.', - ], - [ - 'errorCode' => 'LogService.InternalError', - 'errorMessage' => 'An exception occurred while calling Log Service. Please submit a ticket to solve the problem.', - ], - [ - 'errorCode' => 'LogService.LogDirInvalid', - 'errorMessage' => 'The log collection path is invalid.', - ], - [ - 'errorCode' => 'LogService.NotAvailable', - 'errorMessage' => 'Log Service is unavailable. Please activate Log Service first.', - ], - [ - 'errorCode' => 'LogService.ProjectNumQuotaExceed', - 'errorMessage' => 'The maximum number of Log Service projects is exceeded.', - ], - [ - 'errorCode' => 'vswitch.not.exist', - 'errorMessage' => 'The specified VSwitch does not exist.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'VolumnPath.Conflict', - 'errorMessage' => 'Conflict between log collection directory and persistent storage directory.', - ], - [ - 'errorCode' => 'MountConflict.ConfigMap', - 'errorMessage' => 'Conflict detected for ConfigMap path %s.', - ], - [ - 'errorCode' => 'NotFound.ConfigMap', - 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'NotFound.ConfigMapKey', - 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'Sls.Config.Mixed.Multi.Project', - 'errorMessage' => 'The specified Config contains multiple projects.', - ], - [ - 'errorCode' => 'Sls.Config.User.Defined.Missing.Logstore.Info', - 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', - ], - [ - 'errorCode' => 'Sls.Config.User.Defined.Missing.Project.Info', - 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', - ], - [ - 'errorCode' => 'Sls.Logstore.Name.Invalid', - 'errorMessage' => 'The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".', - ], - [ - 'errorCode' => 'Sls.Logstore.User.Defined.Not.Exist', - 'errorMessage' => 'The user defined Logstore does not exist.', - ], - [ - 'errorCode' => 'Sls.Project.Name.Invalid', - 'errorMessage' => 'The specified project name is invalid. The project name must not contain the prefix "sae-".', - ], - [ - 'errorCode' => 'Sls.Project.User.Defined.Not.Exist', - 'errorMessage' => 'The user defined project does not exist.', - ], - [ - 'errorCode' => 'InvalidImageUrl.AcrInstanceId.Domain.NotMatch', - 'errorMessage' => 'The specified domain of ImageUrl does not match AcrInstanceId domains.', - ], - [ - 'errorCode' => 'PhpApplication.MissingPhpRuntime', - 'errorMessage' => 'A PHP application must contain PHP Runtime.', - ], + ['errorCode' => 'Application.MissingJdk', 'errorMessage' => 'Your application must at least contain a JDK component.', 'description' => ''], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ['errorCode' => 'InvalidComponent.NotFound', 'errorMessage' => 'The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.', 'description' => ''], + ['errorCode' => 'InvalidHostnameIp.Invalid', 'errorMessage' => 'The hostname and/or IP is invalid: Hostname [%s], IP [%s].', 'description' => ''], + ['errorCode' => 'InvalidInstanceSpecification.Unsupported', 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', 'description' => ''], + ['errorCode' => 'InvalidPackageType.NotFound', 'errorMessage' => 'The package type must be War, FatJar, or Image.', 'description' => ''], + ['errorCode' => 'InvalidParameter.FileName', 'errorMessage' => 'The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). In addition, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only.', 'description' => ''], + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'JarApplication.MissingJdk', 'errorMessage' => 'A FatJar application must contain JDK.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.Exceed', 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', 'description' => ''], + ['errorCode' => 'PandoraApplication.MissingJdk', 'errorMessage' => 'The Pandora application is missing a JDK component.', 'description' => ''], + ['errorCode' => 'PandoraApplication.OnlyJdk', 'errorMessage' => 'A Pandora application only requires JDK component.', 'description' => ''], + ['errorCode' => 'WarApplication.MissingJdkWebcontainer', 'errorMessage' => 'A War application must contain JDK and Tomcat.', 'description' => ''], + ['errorCode' => 'LogService.ConfigQuotaExceed', 'errorMessage' => 'The maximum number of Log Service configs is exceeded.', 'description' => 'The maximum number of Log Service configs is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'LogService.InternalError', 'errorMessage' => 'An exception occurred while calling Log Service. Please submit a ticket to solve the problem.', 'description' => 'An exception occurred while calling log service. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'LogService.LogDirInvalid', 'errorMessage' => 'The log collection path is invalid.', 'description' => 'The log collection path is invalid.'], + ['errorCode' => 'LogService.NotAvailable', 'errorMessage' => 'Log Service is unavailable. Please activate Log Service first.', 'description' => 'The log service is not available. Please open the log service first.'], + ['errorCode' => 'LogService.ProjectNumQuotaExceed', 'errorMessage' => 'The maximum number of Log Service projects is exceeded.', 'description' => 'The maximum number of Log Service projects is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'user.indebt', 'errorMessage' => 'The user has an outstanding payment.', 'description' => ''], + ['errorCode' => 'NoComputeResourceQuota.App.Exceed', 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'NoComputeResourceQuota.User.Exceed', 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'VolumnPath.Conflict', 'errorMessage' => 'Conflict between log collection directory and persistent storage directory.', 'description' => 'Conflict between log collection directory and persistent storage directory.'], + ['errorCode' => 'Application.ChangerOrderRunning', 'errorMessage' => 'An application change process is in progress. Please try again later.', 'description' => 'An application change process is in progress. Please try again later.'], + ['errorCode' => 'Application.InvalidStatus', 'errorMessage' => 'The application status is abnormal. Please try again later.', 'description' => 'The application status is abnormal. Please try again later.'], + ['errorCode' => 'MountConflict.ConfigMap', 'errorMessage' => 'Conflict detected for ConfigMap path %s.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMap', 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'NotFound.ConfigMapKey', 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', 'description' => ''], + ['errorCode' => 'Package.Version.Too.Long', 'errorMessage' => 'The maximum length of package version is exceeded.', 'description' => 'This package version is too long.'], + ['errorCode' => 'App.Package.Version.Exists', 'errorMessage' => 'The package version of application already exists.', 'description' => 'The package version of application already exists.'], + ['errorCode' => 'Slb.Occupied', 'errorMessage' => 'The SLB instance is occupied.', 'description' => 'This SLB is occupied.'], + ['errorCode' => 'Slb.Tag.Not.Qualified', 'errorMessage' => 'The current SLB instance cannot be reused because it may have been occupied by %s.', 'description' => 'The current SLB instance cannot be reused because it may have been occupied by %s.'], + ['errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', 'description' => 'The minimum number of available instances must be less than the number of application instances.'], + ['errorCode' => 'BatchWaitTime.Not.Smaller.Zero', 'errorMessage' => 'BatchWaitTime must not be smaller than zero.', 'description' => 'BatchWaitTime must not be smaller than zero.'], + ['errorCode' => 'Sls.Config.Mixed.Multi.Project', 'errorMessage' => 'The specified Config contains multiple projects.', 'description' => ''], + ['errorCode' => 'Sls.Config.User.Defined.Missing.Logstore.Info', 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', 'description' => ''], + ['errorCode' => 'Sls.Config.User.Defined.Missing.Project.Info', 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', 'description' => ''], + ['errorCode' => 'Sls.Logstore.Name.Invalid', 'errorMessage' => 'The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".', 'description' => ''], + ['errorCode' => 'Sls.Logstore.User.Defined.Not.Exist', 'errorMessage' => 'The user defined Logstore does not exist.', 'description' => ''], + ['errorCode' => 'Sls.Project.Name.Invalid', 'errorMessage' => 'The specified project name is invalid. The project name must not contain the prefix "sae-".', 'description' => ''], + ['errorCode' => 'Sls.Project.User.Defined.Not.Exist', 'errorMessage' => 'The user defined project does not exist.', 'description' => ''], + ['errorCode' => 'Sae.Errorcode.Ahas.Create.Error.Message', 'errorMessage' => 'Failed to create AHAS.', 'description' => ''], + ['errorCode' => 'InvalidImageUrl.AcrInstanceId.Domain.NotMatch', 'errorMessage' => 'The specified domain of ImageUrl does not match AcrInstanceId domains.', 'description' => ''], + ['errorCode' => 'PhpApplication.MissingPhpRuntime', 'errorMessage' => 'A PHP application must contain PHP Runtime.', 'description' => ''], ], 404 => [ - [ - 'errorCode' => 'Associate.Eip.Not.Enough', - 'errorMessage' => 'No sufficient EIPs are available.', - ], - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', - ], - [ - 'errorCode' => 'InvalidVpcId.NotFound', - 'errorMessage' => 'The specified VpcId does not exist.', - ], - [ - 'errorCode' => 'InvalidAcrInstanceId.NotFound', - 'errorMessage' => 'The specified AcrInstanceId does not exist.', - ], + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], + ['errorCode' => 'InvalidAcrInstanceId.NotFound', 'errorMessage' => 'The specified AcrInstanceId does not exist.', 'description' => ''], + ['errorCode' => 'Associate.Eip.Not.Enough', 'errorMessage' => 'No sufficient EIPs are available.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3***\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\",\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateJobResponse>\\n <RequestId>01CF26C7-00A3-4AA6-BA76-7E95F2A3***</RequestId>\\n <Message>success</Message>\\n <TraceId>ac1a0b2215622246421415014e****</TraceId>\\n <Data>\\n <ChangeOrderId>01db03d3-3ee9-48b3-b3d0-dfce2d88****</ChangeOrderId>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateJobResponse>","errorExample":""}]', - 'title' => 'CreateJob', - 'summary' => 'Create a job template.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3***\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\",\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\"\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateJob', + 'summary' => 'Call the UpdateJob API to update a job template.', 'requestParamsDescription' => ' ', 'responseParamsDescription' => ' ', 'extraInfo' => ' ', - ], - 'DeleteHistoryJob' => [ - 'summary' => 'Delete a job.', - 'path' => '/pop/v1/sam/job/deleteHistoryJob', - 'methods' => [ - 'delete', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-09-08T05:48:07.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-26T09:19:37.000Z', 'description' => 'Error codes changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateJob'], + ], ], - 'schemes' => [ - 'http', - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'UpdateNamespace' => [ + 'path' => '/pop/v1/paas/namespace', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '104054', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '6403', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job template to which the job that you want to delete belongs.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], + 'schema' => ['description' => 'The long ID of the namespace. If you configure this parameter, the long ID take effects and the value of the NameSpaceShortId parameter is ignored. To ensure compatibility, we recommend that you specify a short namespace ID. A long namespace ID follows the `<RegionId>:<NamespaceId>` format. The `NamespaceId` variable can contain only lowercase letters and digits. Example: `cn-beijing:test`. The value of the Namespaceid variable cannot exceed 32 characters in length. For more information about **RegionId**, you can call the [DescribeRegions](~~2834842~~) operation to obtain the IDs of regions supported by SAE.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'JobId', + 'name' => 'NamespaceName', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'manual-3db7a8fa-5d40-4edc-92e4-49d50eab****', - ], + 'schema' => ['description' => 'The name of the namespace. The name cannot exceed 64 characters in length.', 'type' => 'string', 'required' => true, 'example' => 'name', 'title' => ''], + ], + [ + 'name' => 'NamespaceDescription', + 'in' => 'query', + 'schema' => ['description' => 'The description of the namespace. The description cannot exceed 100 characters in length.', 'type' => 'string', 'required' => false, 'example' => 'desc', 'title' => ''], + ], + [ + 'name' => 'NameSpaceShortId', + 'in' => 'query', + 'schema' => ['description' => 'The short ID of the namespace. You do not need to specify a region ID. We recommend that you configure this parameter. The value of this parameter can be up to 20 characters in length and can contain only lowercase letters and digits.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'EnableMicroRegistration', + 'in' => 'query', + 'schema' => ['description' => 'Indicates whether to enable SAE built-in registry:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**'."\n" + ."\n" + .'If you set this parameter to true, a shared registry is created for the namespace. The registry cannot be disabled after it is created.', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The parameter returned.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned information. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], + 'RequestId' => ['description' => 'The ID of the request.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The message returned for the operation.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID that is used to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The result returned.'."\n", - 'type' => 'string', - 'example' => '{msg: "", code: 200, success: true}', - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the job was deleted. Valid values:'."\n" - ."\n" - .'* **true**: The job was deleted.'."\n" - .'* **false**: The job failed to be deleted.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'description' => 'The information about a namespace.', + 'type' => 'object', + 'properties' => [ + 'NamespaceDescription' => ['description' => 'The description of the namespace.', 'type' => 'string', 'example' => 'desc', 'title' => ''], + 'NamespaceId' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'example' => 'cn-beijing:test', 'title' => ''], + 'NamespaceName' => ['description' => 'The name of the namespace.', 'type' => 'string', 'example' => 'name', 'title' => ''], + 'RegionId' => ['description' => 'The region where the namespace resides.', 'type' => 'string', 'example' => 'cn-beijing', 'title' => ''], + 'NameSpaceShortId' => ['description' => 'The short ID of the namespace.', 'type' => 'string', 'example' => 'test', 'title' => ''], + 'EnableMicroRegistration' => ['description' => 'Indicates whether to enable SAE built-in registry:'."\n" + ."\n" + .'- **true**'."\n" + ."\n" + .'- **false**', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'ErrorCode' => ['description' => 'The error code returned. Take note of the following rules:'."\n" + ."\n" + .'- The **ErrorCode** parameter is not returned if the request succeeds.'."\n" + ."\n" + .'- If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: The call was successful.'."\n" + ."\n" + .'- **3xx**: The call was redirected.'."\n" + ."\n" + .'- **4xx**: The call failed.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the information about the namespace was updated. Valid values:'."\n" + ."\n" + .'- **true**: The instance was updated.'."\n" + ."\n" + .'- **false**: The instance failed to be updated.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidNamespaceName.Format', 'errorMessage' => 'The specified NamespaceName is invalid. The name of the namespace cannot exceed 63 characters in length.', 'description' => 'The specified NamespaceName is invalid. The name of the namespace cannot exceed 63 characters in length.'], + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'Exceed.Namespace', 'errorMessage' => 'Too many namespaces have been created.', 'description' => ''], + ['errorCode' => 'InvalidNamespaceId.Format', 'errorMessage' => 'The specified NamespaceId is invalid.', 'description' => 'The specified NamespaceId is invalid. The correct format is [regionId]:[namespace]. For example, cn-beijing:test. NamespaceId cannot exceed 32 characters in length.'], + ], 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"NamespaceDescription\\": \\"desc\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"NamespaceName\\": \\"name\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"NameSpaceShortId\\": \\"test\\",\\n \\"EnableMicroRegistration\\": true\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateNamespace', + 'summary' => 'Update the information about a namespace.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-03-10T06:42:07.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-29T03:14:27.000Z', 'description' => 'Request parameters changed, Response parameters changed'], + ['createdAt' => '2022-04-11T09:02:01.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateNamespace'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": \\"{\\\\\\"msg\\\\\\": \\\\\\"\\\\\\",\\\\\\"code\\\\\\": 200,\\\\\\"success\\\\\\": true}\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteHistoryJobResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>{msg: \\"\\", code: 200, success: true}</Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DeleteHistoryJobResponse>","errorExample":""}]', - 'title' => 'DeleteHistoryJob', ], - 'DeleteJob' => [ - 'path' => '/pop/v1/sam/job/deleteJob', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateNamespaceSlsConfigs' => [ + 'summary' => 'Updates the namespace-level SLS configuration.', + 'path' => '/pop/cas/namespace/updateNamespaceSlsConfigs', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '100737', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '288126', + 'abilityTreeNodes' => ['FEATUREsaeW0M31R'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job template that you want to delete.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', - ], + 'schema' => ['description' => 'The ID of the namespace.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], + ], + [ + 'name' => 'NameSpaceShortId', + 'in' => 'query', + 'schema' => ['description' => 'The short ID of the namespace. You do not need to include the region. This parameter is recommended.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], + ], + [ + 'name' => 'SlsConfigs', + 'in' => 'query', + 'schema' => ['description' => 'The configuration for collecting logs to SLS.'."\n" + ."\n" + .'- To use an SLS resource that is automatically created by SAE: `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" + ."\n" + .'- To use a custom SLS resource: `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" + ."\n" + .'The parameters are described as follows:'."\n" + ."\n" + .'- `projectName`: The name of the SLS project.'."\n" + ."\n" + .'- `logDir`: The log path.'."\n" + ."\n" + .'- `logType`: The log type. A value of `stdout` specifies container standard output logs. You can specify only one `stdout` configuration. If you do not set this parameter, file logs are collected.'."\n" + ."\n" + .'- `logstoreName`: The name of the SLS logstore.'."\n" + ."\n" + .'- `logtailName`: The name of the Logtail. If you do not specify this parameter, a new Logtail is created.'."\n" + ."\n" + .'If the SLS configuration remains the same across deployments, you can omit this parameter. To disable log collection to SLS, set the value of `SlsConfigs` to an empty string ("").'."\n" + ."\n" + .'> SAE automatically deletes a project when you delete the task template used to create it. Therefore, when you select an existing project, do not select a project that was automatically created by SAE.', 'type' => 'string', 'required' => false, 'example' => '[{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]', 'title' => ''], + ], + [ + 'name' => 'SlsLogEnvTags', + 'in' => 'query', + 'schema' => ['description' => 'The SLS log tags.', 'type' => 'string', 'required' => false, 'title' => '', 'example' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The parameter returned.'."\n", + 'title' => 'Schema of Response', + 'description' => 'The response schema.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The result returned.'."\n", - 'type' => 'string', - 'example' => '{msg: "", code: 200, success: true}', - ], - 'ErrorCode' => [ - 'description' => 'The error code that is returned. Take note of the following rules:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request is successful.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application is deleted. Valid values:'."\n" - ."\n" - .'* **true**: The namespaces were obtained.'."\n" - .'* **false**: no'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => 'AD0286B2-F4A4-5D43-9329-97DEF1019F06'], + 'Message' => ['description' => 'Additional information.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID for the request. You can use this ID to query the details of the request.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code. Valid values:'."\n" + ."\n" + .'- If the request is successful, the response does not include the `ErrorCode` parameter.'."\n" + ."\n" + .'- If the request fails, the response includes the `ErrorCode` parameter. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The API status code or POP error code. Valid values: 2xx (success), 3xx (redirect), 4xx (client error), 5xx (server error).', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the namespace\'s SLS configuration was successfully updated. A value of `true` indicates success, while `false` indicates failure.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'example' => '', ], ], ], 'errorCodes' => [ 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', + ['errorCode' => 'InvalidNamespaceId.NotFound', 'errorMessage' => 'The specified NamespaceId does not exist.', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"AD0286B2-F4A4-5D43-9329-97DEF1019F06\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateNamespaceSlsConfigs', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2025-12-22T06:16:48.000Z', 'description' => 'Request parameters changed'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateNamespaceSlsConfigs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": \\"{\\\\\\"msg\\\\\\": \\\\\\"\\\\\\",\\\\\\"code\\\\\\": 200,\\\\\\"success\\\\\\": true}\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DeleteJobResponse>\\n <RequestId>91F93257-7A4A-4BD3-9A7E-2F6EAE6D****</RequestId>\\n <Message>success</Message>\\n <TraceId>0a98a02315955564772843261e****</TraceId>\\n <Data>{msg: \\"\\", code: 200, success: true}</Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DeleteJobResponse>","errorExample":""}]', - 'title' => 'DeleteJob', - 'summary' => 'Delete a job template.', ], - 'DescribeJobStatus' => [ - 'path' => '/pop/v1/sam/job/describeJobStatus', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateNamespaceVpc' => [ + 'path' => '/pop/v1/sam/namespace/updateNamespaceVpc', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '100738', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '6404', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job template.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e1a7a07-abcb-4652-a1d3-2d57f415****', - ], + 'schema' => ['description' => 'The long-format namespace ID. If you set this parameter, it takes precedence over NameSpaceShortId. This parameter is for backward compatibility. Use the short-format namespace ID to simplify the request.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'JobId', + 'name' => 'VpcId', 'in' => 'query', - 'schema' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'event-b798157b-40a2-4388-b578-71fb897103**-**', - ], + 'schema' => ['description' => 'The ID of the VPC. This VPC replaces the original VPC.', 'type' => 'string', 'required' => true, 'example' => 'vpc-2ze0i263cnn311nvj****', 'title' => ''], + ], + [ + 'name' => 'NameSpaceShortId', + 'in' => 'query', + 'schema' => ['description' => 'The short-format namespace ID. You do not need to include the region ID. We recommend that you use this parameter.', 'type' => 'string', 'required' => false, 'example' => 'test', 'title' => ''], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The returned data.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '53F15A18-8079-5992-810C-0211A5AE****', - ], - 'Message' => [ - 'description' => 'The returned message. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, **success** is returned.'."\n" - .'* If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0b1639af16575057857241351e****', - ], - 'Data' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'JobId' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'example' => 'event-b798157b-40a2-4388-b578-71fb897103**-**', - ], - 'Active' => [ - 'description' => 'The number of running instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Succeeded' => [ - 'description' => 'The number of instances that are successfully run.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'Failed' => [ - 'description' => 'The number of instances that failed to run.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'StartTime' => [ - 'description' => 'The time when the job was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1657522800', - ], - 'CompletionTime' => [ - 'description' => 'The time when the job was executed.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1657522839', - ], - 'Message' => [ - 'description' => 'The returned message. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, **success** is returned.'."\n" - .'* If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'State' => [ - 'description' => 'The status of the job. Valid values:'."\n" - ."\n" - .'* **0**: The job is not executed.'."\n" - .'* **1**: The job was executed.'."\n" - .'* **2**: The job failed to be executed.'."\n" - .'* **3**: The job is being executed.'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Take note of the following rules:'."\n" - ."\n" - .'* **ErrorCode** is not returned if the request succeeds.'."\n" - .'* **ErrorCode** is returned if the request fails. For more information, see the "**Error codes**" section in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the call was successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error code is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use it to query the details of a call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. The value can be a POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: The request was invalid.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the VPC was updated. Valid values:'."\n" + ."\n" + .'- **true**: The VPC was updated.'."\n" + ."\n" + .'- **false**: The VPC failed to be updated.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', - ], + 400 => [ + ['errorCode' => 'DeleteFail.NamespaceHasIngress', 'errorMessage' => 'Ingress detected when deleting the namespace.', 'description' => ''], + ['errorCode' => 'Namespace.AppExists', 'errorMessage' => 'Please delete the application first.', 'description' => ''], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"53F15A18-8079-5992-810C-0211A5AE****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0b1639af16575057857241351e****\\",\\n \\"Data\\": {\\n \\"JobId\\": \\"event-b798157b-40a2-4388-b578-71fb897103**-**\\",\\n \\"Active\\": 0,\\n \\"Succeeded\\": 3,\\n \\"Failed\\": 0,\\n \\"StartTime\\": 1657522800,\\n \\"CompletionTime\\": 1657522839,\\n \\"Message\\": \\"success\\",\\n \\"State\\": \\"1\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeJobStatusResponse>\\n <RequestId>53F15A18-8079-5992-810C-0211A5AE****</RequestId>\\n <Message>success</Message>\\n <TraceId>0b1639af16575057857241351e****</TraceId>\\n <Data>\\n <JobId>event-b798157b-40a2-4388-b578-71fb897103**-**</JobId>\\n <Active>0</Active>\\n <Succeeded>3</Succeeded>\\n <Failed>0</Failed>\\n <StartTime>1657522800</StartTime>\\n <CompletionTime>1657522839</CompletionTime>\\n <Message>success</Message>\\n <State>1</State>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeJobStatusResponse>","errorExample":""}]', - 'title' => 'DescribeJobStatus', - 'summary' => 'Queries the status of a job.', - ], - 'DescribeJob' => [ - 'path' => '/pop/v1/sam/job/describeJob', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateNamespaceVpc', + 'summary' => 'Updates the VPC that is attached to a namespace.', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2022-12-29T03:14:27.000Z', 'description' => 'Request parameters changed'], ], - 'schemes' => [ - 'http', - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateNamespaceVpc'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateNamespaceVpc', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], + ], ], + ], + 'UpdateSecret' => [ + 'summary' => 'Updates a Secret instance.', + 'path' => '/pop/v1/sam/secret/secret', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '100736', - 'abilityTreeNodes' => [ - 'FEATUREsaeN5OIM9', - ], + 'abilityTreeCode' => '159988', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job template.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], + 'schema' => ['description' => 'The ID of the namespace where the Secret instance is located. If the instance is in the default namespace, specify only the region ID, such as `cn-beijing`.', 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'JobId', + 'name' => 'SecretId', 'in' => 'query', + 'schema' => ['description' => 'The ID of the Secret instance.', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'maximum' => '1000000000', 'minimum' => '1', 'example' => '16', 'title' => ''], + ], + [ + 'name' => 'SecretData', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'event-b798157b-40a2-4388-b578-71fb897103**-**', + 'description' => 'The Secret data.', + 'type' => 'object', + 'properties' => [ + 'SecretData' => ['description' => 'The key-value pairs of the Secret. This parameter is required. The value must be a JSON object.'."\n" + ."\n" + .'For more information about configuration items, see [Manage and use secrets](~~463383~~).'."\n" + ."\n" + .'k specifies a key and v specifies a value. For more information about configuration items, see [Manage and use secrets](~~463383~~).', 'type' => 'string', 'required' => true, 'example' => '{".dockerconfigjson":"eyJhdXRocyI6eyJyZWdpc3RyeS12cGMuY24tYmVpamluZy5hbGl5dW5jcy5jb20iOnsidXNlcm5hbWUiOiJ1c2VybmFtZSIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJhdXRoIjoiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE9In0sInJlZ2lzdHJ5LmNuLWJlaWppbmcuYWxpeXVuY3MuY29tIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0="}', 'title' => ''], + ], + 'required' => true, + 'title' => '', + 'example' => '', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => 'The returned data.'."\n", + 'description' => 'The data returned.', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622246421415014e****', - ], + 'RequestId' => ['description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'Additional information about the call result.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the call chain. You can use this ID to query the details of a call.', 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'The information of the job template.'."\n", + 'description' => 'The returned result.', 'type' => 'object', 'properties' => [ - 'VpcId' => [ - 'description' => 'The ID of the virtual private cloud (VPC).'."\n", - 'type' => 'string', - 'example' => 'vpc-2ze0i263cnn311nvj****', - ], - 'ConfigMapMountDesc' => [ - 'description' => 'The details of the ConfigMap.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the ConfigMap.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key-value pair that is stored in the ConfigMap.'."\n", - 'type' => 'string', - 'example' => 'k1', - ], - 'ConfigMapName' => [ - 'description' => 'The ConfigMap name.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'MountPath' => [ - 'description' => 'The path on which the ConfigMap is mounted.'."\n", - 'type' => 'string', - 'example' => '/tmp', - ], - 'ConfigMapId' => [ - 'description' => 'The ConfigMap ID.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - ], - 'SecurityGroupId' => [ - 'description' => 'The ID of the security group.'."\n", - 'type' => 'string', - 'example' => 'sg-wz969ngg2e49q5i4****', - ], - 'Jdk' => [ - 'description' => 'The version of the Java Development Kit (JDK) on which the deployment package of the application depends. The following versions are supported:'."\n" - ."\n" - .'* **Open JDK 8**'."\n" - .'* **Open JDK 7**'."\n" - .'* **Dragonwell 11**'."\n" - .'* **Dragonwell 8**'."\n" - .'* **openjdk-8u191-jdk-alpine3.9**'."\n" - .'* **openjdk-7u201-jdk-alpine3.9**'."\n" - ."\n" - .'This parameter is not returned if **PackageType** is set to **Image**.'."\n", - 'type' => 'string', - 'example' => 'Open JDK 8', - ], - 'ImageUrl' => [ - 'description' => 'The URL of the image. This parameter is returned only if **PackageType** is set to **Image**.'."\n", - 'type' => 'string', - 'example' => 'docker.io/library/nginx:1.14.2', - ], - 'SlsConfigs' => [ - 'description' => 'The logging configurations of Log Service.'."\n" - ."\n" - .'* To use Log Service resources that are automatically created by SAE, set this parameter to `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" - .'* To use custom Log Service resources, set this parameter to `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" - ."\n" - .'Parameter description:'."\n" - ."\n" - .'* **projectName**: the name of the Log Service project.'."\n" - .'* **logDir**: the path in which logs are stored.'."\n" - .'* **logType**: the log type. **stdout**: the standard output (stdout) log of the container. Only one stdout value for this parameter can be specified. If this parameter is not configured, file logs are collected.'."\n" - .'* **logstoreName**: the name of the Logstore in Log Service.'."\n" - .'* **logtailName**: the name of the Logtail in Log Service. If this parameter is not configured, a new Logtail is created.'."\n" - ."\n" - .'If you do not need to modify the logging configurations when you deploy the application, configure **SlsConfigs** only in the first request. If you no longer need to use Log Service, leave **SlsConfigs** empty in the request.'."\n", - 'type' => 'string', - 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', - ], - 'Tags' => [ - 'description' => 'The tags.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The information about the tag.'."\n", - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The tag key.'."\n", - 'type' => 'string', - 'example' => 'k1', - ], - 'Value' => [ - 'description' => 'The tag value.'."\n", - 'type' => 'string', - 'example' => 'v1', - ], - ], - ], - ], - 'PackageUrl' => [ - 'description' => 'The URL of the deployment package. This parameter is returned only if **PackageType** is set to **FatJar** or **War**.'."\n", - 'type' => 'string', - 'example' => 'https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war', - ], - 'PackageType' => [ - 'description' => 'The type of the deployment package. Valid values:'."\n" - ."\n" - .'* If you deploy a Java job template, you can set this parameter to **FatJar**, **War**, or **Image**.'."\n" - ."\n" - .'* If you deploy a PHP job template, the following types are available:'."\n" - ."\n" - .' * **PhpZip**'."\n" - .' * **IMAGE_PHP\\_5\\_4**'."\n" - .' * **IMAGE_PHP\\_5\\_4\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_5\\_5**'."\n" - .' * **IMAGE_PHP\\_5\\_5\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_5\\_6**'."\n" - .' * **IMAGE_PHP\\_5\\_6\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_0**'."\n" - .' * **IMAGE_PHP\\_7\\_0\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_1**'."\n" - .' * **IMAGE_PHP\\_7\\_1\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_2**'."\n" - .' * **IMAGE_PHP\\_7\\_2\\_ALPINE**'."\n" - .' * **IMAGE_PHP\\_7\\_3**'."\n" - .' * **IMAGE_PHP\\_7\\_3\\_ALPINE**'."\n" - ."\n" - .'* If you deploy a Python job template, you can set this parameter to **PythonZip** or **Image**.'."\n", - 'type' => 'string', - 'example' => 'War', - ], - 'PreStop' => [ - 'description' => 'The script that is run before the container is stopped. Example: `{"exec":{"command":\\["cat","/etc/group"\\]}}`'."\n", - 'type' => 'string', - 'example' => '{"exec":{"command":["cat","/etc/group"]}}', - ], - 'PackageVersion' => [ - 'description' => 'The version of the deployment package. This parameter is required only if **PackageType** is set to **FatJar** or **War**.'."\n", - 'type' => 'string', - 'example' => '1.0', - ], - 'JarStartArgs' => [ - 'description' => 'The arguments in the JAR package. The arguments are used to start the job. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'example' => 'start', - ], - 'AppName' => [ - 'description' => 'The name of the job template.'."\n", - 'type' => 'string', - 'example' => 'demo-app', - ], - 'AppId' => [ - 'description' => 'The ID of the job template.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - 'JarStartOptions' => [ - 'description' => 'The option settings in the JAR package. The settings are used to start the job. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'example' => '-Dtest=true', - ], - 'Replicas' => [ - 'description' => 'The number of job instances.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'Memory' => [ - 'description' => 'The size of memory that is required by each instance. Unit: MB. This parameter cannot be set to 0. The values of this parameter correspond to the values of the Cpu parameter:'."\n" - ."\n" - .'* This parameter is set to **1024** if the Cpu parameter is set to 500 or 1000.'."\n" - .'* This parameter is set to **2048** if the Cpu parameter is set to 500, 1000, or 2000.'."\n" - .'* This parameter is set to **4096** if the Cpu parameter is set to 1000, 2000, or 4000.'."\n" - .'* This parameter is set to **8192** if the Cpu parameter is set to 2000, 4000, or 8000.'."\n" - .'* This parameter is set to **12288** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **16384** if the Cpu parameter is set to 4000, 8000, or 16000.'."\n" - .'* This parameter is set to **24567** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **32768** if the Cpu parameter is set to 16000.'."\n" - .'* This parameter is set to **65536** if the Cpu parameter is set to 8000, 16000, or 32000.'."\n" - .'* This parameter is set to **131072** if the Cpu parameter is set to 32000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2048', - ], - 'PhpConfig' => [ - 'description' => 'The details of the PHP configuration file.'."\n", - 'type' => 'string', - 'example' => 'k1=v1', - ], - 'PhpConfigLocation' => [ - 'description' => 'The path on which the PHP configuration file for job startup is mounted. Make sure that the PHP server uses this configuration file during the startup.'."\n", - 'type' => 'string', - 'example' => '/usr/local/etc/php/php.ini', - ], - 'PostStart' => [ - 'description' => 'The script that is run immediately after the container is started. Example: `{"exec":{"command":\\["cat","/etc/group"\\]}}`'."\n", - 'type' => 'string', - 'example' => '{"exec":{"command":["cat","/etc/group"]}}', - ], - 'TerminationGracePeriodSeconds' => [ - 'description' => 'The timeout period for a graceful shutdown. Default value: 30. Unit: seconds. Valid values: 1 to 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'CommandArgs' => [ - 'description' => 'The arguments of the image startup command. This parameter contains the arguments that are required for **Command**. Format:'."\n" - ."\n" - .'`["a","b"]`'."\n" - ."\n" - .'In the preceding **Command** example, the CommandArgs parameter is set to `CommandArgs=["abc", ">", "file0"]`. The data type of `["abc", ">", "file0"]` must be an array of strings in the JSON format. If this parameter does not exist in the Command parameter, you do not need to configure it.'."\n", - 'type' => 'string', - 'example' => '["a","b"]', - ], - 'NamespaceId' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:test', - ], - 'MountHost' => [ - 'description' => 'The mount target of the Apsara File Storage NAS (NAS) file system in the virtual private cloud (VPC) where the job template is deployed. If you do not need to modify the NAS configurations when you deploy the job template, configure the **MountHost** parameter only in the first request. You do not need to include this parameter in subsequent requests. If you no longer need to use NAS, leave the **MountHost** parameter empty in the request.'."\n", - 'type' => 'string', - 'example' => 'example.com', - ], - 'TomcatConfig' => [ - 'description' => 'The Tomcat configuration. If you want to delete the configuration, set this parameter to {} or leave this parameter empty. Parameter description:'."\n" - ."\n" - .'* **port**: the port number. Valid values: 1024 to 65535. The root permissions are required to perform operations on ports whose number is smaller than 1024. Enter a value that ranges from 1025 to 65535 because the container has only the admin permissions. If this parameter is not configured, the default value 8080 is used.'."\n" - .'* **contextPath**: the path. Default value: /. The value indicates the root directory.'."\n" - .'* **maxThreads**: the maximum number of connections in the connection pool. Default value: 400.'."\n" - .'* **uriEncoding**: the URI encoding scheme in the Tomcat container. Valid values: **UTF-8**, **ISO-8859-1**, **GBK**, and **GB2312**. If this parameter is not configured, the default value **ISO-8859-1** is used.'."\n" - .'* **useBodyEncoding**: indicates whether to use the encoding scheme that is specified by **BodyEncoding for URL**. Default value: **true**.'."\n", - 'type' => 'string', - 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'VSwitchId' => [ - 'description' => 'The vSwitch ID.'."\n", - 'type' => 'string', - 'example' => 'vsw-2ze559r1z1bpwqxwp****', - ], - 'Cpu' => [ - 'description' => 'The CPU specifications required for each instance. Unit: millicore. This parameter cannot be set to 0. Valid values:'."\n" - ."\n" - .'* **500**'."\n" - .'* **1000**'."\n" - .'* **2000**'."\n" - .'* **4000**'."\n" - .'* **8000**'."\n" - .'* **16000**'."\n" - .'* **32000**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1000', - ], - 'Envs' => [ - 'description' => 'The environment variables. You can configure custom environment variables or reference a ConfigMap. If you want to reference a ConfigMap, you must first create a ConfigMap. For more information, see [CreateConfigMap](~~176914~~). Valid values:'."\n" - ."\n" - .'* Custom configuration'."\n" - ."\n" - .' * **name**: the name of the environment variable.'."\n" - .' * **value**: the value of the environment variable.'."\n" - ."\n" - .'* Reference a ConfigMap'."\n" - ."\n" - .' * **name**: the name of the environment variable. You can reference one or all keys. To reference all keys, specify `sae-sys-configmap-all-<ConfigMap name>`. Example: `sae-sys-configmap-all-test1`.'."\n" - .' * **valueFrom**: the reference of the environment variable. Set the value to `configMapRef`.'."\n" - .' * **configMapId**: the ID of the ConfigMap.'."\n" - .' * **key**: the key. If you want to reference all keys, you do not need to configure this parameter.'."\n", - 'type' => 'string', - 'example' => '[{"name":"TEST_ENV_KEY","value":"TEST_ENV_VAR"}]', - ], - 'MountDesc' => [ - 'description' => 'The details of the mounted NAS file system.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The details of the mounted NAS file system.'."\n", - 'type' => 'object', - 'properties' => [ - 'MountPath' => [ - 'description' => 'The path on which the NAS file system is mounted.'."\n", - 'type' => 'string', - 'example' => '/tmp', - ], - 'NasPath' => [ - 'description' => 'The directory in the NAS file system.'."\n", - 'type' => 'string', - 'example' => '/', - ], - ], - ], - ], - 'CustomHostAlias' => [ - 'description' => 'The custom mapping between the hostname and IP address in the container. Valid values:'."\n" - ."\n" - .'* **hostName**: the domain name or hostname.'."\n" - .'* **ip**: the IP address.'."\n", - 'type' => 'string', - 'example' => '[{"hostName":"test.host.name","ip":"0.0.0.0"}]', - ], - 'WebContainer' => [ - 'description' => 'The version of the Tomcat container on which the deployment package depends. The following versions are supported:'."\n" - ."\n" - .'* **apache-tomcat-7.0.91**'."\n" - .'* **apache-tomcat-8.5.42**'."\n" - ."\n" - .'This parameter is not returned if **PackageType** is set to **Image**.'."\n", - 'type' => 'string', - 'example' => 'apache-tomcat-7.0.91', - ], - 'Command' => [ - 'description' => 'The command that is used to start the image. The command must be an existing executable object in the container. Example:'."\n" - ."\n" - .' command:'."\n" - .' - echo'."\n" - .' - abc'."\n" - .' - >'."\n" - .' - file0'."\n" - ."\n" - .'In this example, the Command parameter is set to `Command="echo", CommandArgs=["abc", ">", "file0"]`.'."\n", - 'type' => 'string', - 'example' => 'echo', - ], - 'WarStartOptions' => [ - 'description' => 'The option settings in the WAR package. The settings are used to start the job. The default startup command is `java $JAVA_OPTS $CATALINA_OPTS -Options org.apache.catalina.startup.Bootstrap "$@" start`.'."\n", - 'type' => 'string', - 'example' => 'custom-option', - ], - 'NasId' => [ - 'description' => 'The ID of the NAS file system.'."\n", - 'type' => 'string', - 'example' => 'AKSN89**', - ], - 'OssAkId' => [ - 'title' => 'OSS读写的AK', - 'description' => 'The AccessKey ID that is used to read data from and write data to Object Storage Service (OSS).'."\n", - 'type' => 'string', - 'example' => 'xxxxxx', - ], - 'OssAkSecret' => [ - 'title' => 'OSS读写的secret', - 'description' => 'The AccessKey secret that is used to read data from and write data to OSS.'."\n", - 'type' => 'string', - 'example' => 'xxxxxx', - ], - 'OssMountDescs' => [ - 'title' => 'OSS挂载描述信息', - 'description' => 'The description of mounted OSS buckets.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The description of the mounted OSS bucket.'."\n", - 'type' => 'object', - 'properties' => [ - 'bucketName' => [ - 'title' => 'Bucket名称', - 'description' => 'The name of the bucket.'."\n", - 'type' => 'string', - 'example' => 'oss-bucket', - ], - 'bucketPath' => [ - 'title' => 'Bucket中Oss Key名称', - 'description' => 'The directory or object in OSS. If the specified directory or object does not exist, an error is returned.'."\n", - 'type' => 'string', - 'example' => 'data/user.data', - ], - 'mountPath' => [ - 'title' => '挂载到容器的路径', - 'description' => 'The path of the container in SAE. The parameter value that you specified overwrites the original value. If the specified path does not exist, SAE automatically creates the path.'."\n", - 'type' => 'string', - 'example' => '/usr/data/user.data', - ], - 'readOnly' => [ - 'title' => '是否只读', - 'description' => 'Indicates whether the job template can use the container directory to read data from or write data to resources in the directory of the OSS bucket. Valid values:'."\n" - ."\n" - .'* **true**: The job template has the read-only permissions.'."\n" - .'* **false**: The job template has the read and write permissions.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - 'EdasContainerVersion' => [ - 'description' => 'The version of the container, such as Ali-Tomcat, in which a job that is developed based on High-speed Service Framework (HSF) is deployed.'."\n", - 'type' => 'string', - 'example' => '3.5.3', - ], - 'Timezone' => [ - 'description' => 'The time zone. Default value: **Asia/Shanghai**.'."\n", - 'type' => 'string', - 'example' => 'Asia/Shanghai', - ], - 'AppDescription' => [ - 'description' => 'The description of the job template.'."\n", - 'type' => 'string', - 'example' => 'Sample application'."\n", - ], - 'AcrInstanceId' => [ - 'title' => 'ACR 企业版实例 ID', - 'description' => 'The ID of the Container Registry Enterprise Edition instance.'."\n", - 'type' => 'string', - 'example' => 'cri-xxxxxx', - ], - 'AcrAssumeRoleArn' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role that is used to pull images across accounts. For more information, see [Pull images across Alibaba Cloud accounts](~~190675~~) and [Grant permissions across Alibaba Cloud accounts by using a RAM role](~~223585~~).'."\n", - 'type' => 'string', - 'example' => 'acs:ram::123456789012****:role/adminrole', - ], - 'ImagePullSecrets' => [ - 'description' => 'The ID of the corresponding secret.'."\n", - 'type' => 'string', - 'example' => '10', - ], - 'TriggerConfig' => [ - 'description' => 'The trigger configuration. This parameter is configured based on the job type.'."\n" - ."\n" - .'* **Scheduled job**: Set **type** to time, **config** to a specific CRON expression, and **timezone** to a specified time zone.'."\n" - ."\n" - .'Example: `{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}`'."\n" - ."\n" - .'* **One-time job**: Set **type** to http and configure a specific HTTP trigger rule for **config**. For more information, see [SourceHttpEventParameters](https://help.aliyun.com/document_detail/347586.html#section-lp1-vq0-ho3).'."\n" - ."\n" - .'Example: `{"type":"http","config":{"type":"HTTPS","method",["GET"],"ip":[],"referer":[],"securityConfig":"none"}}`'."\n", - 'type' => 'string', - 'example' => '{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}', - ], - 'ConcurrencyPolicy' => [ - 'description' => 'The concurrency policy of the job. Valid values:'."\n" - ."\n" - .'* **Forbid**: Concurrent running is prohibited. If the previous job is not completed, no new job is created.'."\n" - .'* **Allow**: Concurrent running is allowed.'."\n" - .'* **Replace**: If the previous job is not completed when the time to create a new job is reached, the new job replaces the previous job.'."\n", - 'type' => 'string', - 'example' => 'Allow', - ], - 'Suspend' => [ - 'description' => 'Indicates whether the job template is suspended.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Timeout' => [ - 'description' => 'The timeout period of the job. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3600', - ], - 'BackoffLimit' => [ - 'description' => 'The number of times that the job was retried.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'Slice' => [ - 'description' => 'Indicates whether job sharding is enabled.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'SliceEnvs' => [ - 'description' => 'The parameters of job sharding.'."\n", - 'type' => 'string', - 'example' => 'SliceEnvs', - ], - 'RefAppId' => [ - 'description' => 'The ID of the job template that you reference.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - 'RefedAppIds' => [ - 'description' => 'The IDs of the referenced job templates.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the job template.'."\n", - 'type' => 'string', - 'example' => '8621a6ca-d1cd-4928-8642-7d5cfe69****', - ], - ], - 'PublicWebHookUrls' => [ - 'description' => 'The Internet request URLs of one-time jobs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The Internet URL.'."\n", - 'type' => 'string', - 'example' => 'http://***/webhook/putEvents?token=***', - ], - ], - 'VpcWebHookUrls' => [ - 'description' => 'The internal request URLs for one-time jobs.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The internal URL'."\n", - 'type' => 'string', - 'example' => 'http://***/webhook/putEvents?token=***', - ], - ], - 'ProgrammingLanguage' => [ - 'description' => 'The programming language in which the job template is created. Valid values:'."\n" - ."\n" - .'* **java**: Java'."\n" - .'* **php**: PHP'."\n" - .'* **python**: Python'."\n" - .'* **other**: other programming languages, such as C++, Go, .NET, and Node.js'."\n", - 'type' => 'string', - 'example' => 'java', - ], - 'NasConfigs' => [ - 'description' => 'The configurations for mounting the NAS file system.'."\n", - 'type' => 'string', - 'example' => '[{"mountPath":"/test1","readOnly":false,"nasId":"nasId1","mountDomain":"nasId1.cn-shenzhen.nas.aliyuncs.com","nasPath":"/test1"},{"nasId":"nasId2","mountDomain":"nasId2.cn-shenzhen.nas.aliyuncs.com","readOnly":false,"nasPath":"/test2","mountPath":"/test2"}]', - ], - 'Python' => [ - 'description' => 'The Python environment. PYTHON 3.9.15 is supported.'."\n", - 'type' => 'string', - 'example' => 'PYTHON 3.9.15', - ], - 'PythonModules' => [ - 'description' => 'The configurations for installing custom module dependencies. By default, the dependencies defined by the requirements.txt file in the root directory are installed. If no software package is configured, you can specify dependencies based on your business requirements.'."\n", - 'type' => 'string', - 'example' => 'Flask==2.0', - ], - 'BestEffortType' => [ - 'type' => 'string', - ], + 'SecretId' => ['description' => 'The ID of the Secret instance.', 'type' => 'integer', 'format' => 'int64', 'example' => '16', 'title' => ''], ], + 'title' => '', + 'example' => '', ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, **ErrorCode** is not returned.'."\n" - .'* If the call fails, **ErrorCode** is returned. For more information, see the "**Error codes**" section in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the configurations of the job template were obtained. Valid values:'."\n" - ."\n" - .'* **true**: The configurations were obtained.'."\n" - .'* **false**: The configurations failed to be obtained.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], + 'ErrorCode' => ['description' => 'The error code. The following list describes the values:'."\n" + ."\n" + .'- If the request is successful, this parameter is not returned.'."\n" + ."\n" + .'- If the request fails, this parameter is returned. For more information, see the **Error codes** section of this topic.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The status of the API call or a POP error code. Valid values:'."\n" + ."\n" + .'- **2xx**: The request was successful.'."\n" + ."\n" + .'- **3xx**: The request was redirected.'."\n" + ."\n" + .'- **4xx**: A request error occurred.'."\n" + ."\n" + .'- **5xx**: A server error occurred.', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the Secret instance was updated. Valid values:'."\n" + ."\n" + .'- **true**: The instance was updated.'."\n" + ."\n" + .'- **false**: The update failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], ], + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'InvalidSecretId.NotFound', 'errorMessage' => 'The specified SecretId [%s] does not exist in our records.', 'description' => ''], + ['errorCode' => 'InvalidSecretDataKey.NotFound', 'errorMessage' => 'The specified Key [%s] does not exist in the specified Secret [%s].', 'description' => ''], + ], + 500 => [ + ['errorCode' => 'OperationFailed.RPCError', 'errorMessage' => 'Internal RPC request processing error.', 'description' => 'Internal RPC request processing error.'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"SecretId\\": 16\\n },\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateSecret', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:23.000Z', 'description' => 'OpenAPI offline'], + ['createdAt' => '2023-05-24T05:53:44.000Z', 'description' => 'Request parameters changed'], + ['createdAt' => '2022-12-05T08:02:45.000Z', 'description' => 'Response parameters changed'], + ['createdAt' => '2022-11-22T13:28:09.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSecret'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:UpdateSecret', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": {\\n \\"VpcId\\": \\"vpc-2ze0i263cnn311nvj****\\",\\n \\"ConfigMapMountDesc\\": [\\n {\\n \\"Key\\": \\"k1\\",\\n \\"ConfigMapName\\": \\"test\\",\\n \\"MountPath\\": \\"/tmp\\",\\n \\"ConfigMapId\\": 1\\n }\\n ],\\n \\"SecurityGroupId\\": \\"sg-wz969ngg2e49q5i4****\\",\\n \\"Jdk\\": \\"Open JDK 8\\",\\n \\"ImageUrl\\": \\"docker.io/library/nginx:1.14.2\\",\\n \\"SlsConfigs\\": \\"[{\\\\\\"logDir\\\\\\":\\\\\\"\\\\\\",\\\\\\"logType\\\\\\":\\\\\\"stdout\\\\\\"},{\\\\\\"logDir\\\\\\":\\\\\\"/tmp/a.log\\\\\\"}]\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"k1\\",\\n \\"Value\\": \\"v1\\"\\n }\\n ],\\n \\"PackageUrl\\": \\"https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war\\",\\n \\"PackageType\\": \\"War\\",\\n \\"PreStop\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"cat\\\\\\",\\\\\\"/etc/group\\\\\\"]}}\\",\\n \\"PackageVersion\\": \\"1.0\\",\\n \\"JarStartArgs\\": \\"start\\",\\n \\"AppName\\": \\"demo-app\\",\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"JarStartOptions\\": \\"-Dtest=true\\",\\n \\"Replicas\\": 2,\\n \\"Memory\\": 2048,\\n \\"PhpConfig\\": \\"k1=v1\\",\\n \\"PhpConfigLocation\\": \\"/usr/local/etc/php/php.ini\\",\\n \\"PostStart\\": \\"{\\\\\\"exec\\\\\\":{\\\\\\"command\\\\\\":[\\\\\\"cat\\\\\\",\\\\\\"/etc/group\\\\\\"]}}\\",\\n \\"TerminationGracePeriodSeconds\\": 10,\\n \\"CommandArgs\\": \\"[\\\\\\"a\\\\\\",\\\\\\"b\\\\\\"]\\",\\n \\"NamespaceId\\": \\"cn-beijing:test\\",\\n \\"MountHost\\": \\"example.com\\",\\n \\"TomcatConfig\\": \\"{\\\\\\"port\\\\\\":8080,\\\\\\"contextPath\\\\\\":\\\\\\"/\\\\\\",\\\\\\"maxThreads\\\\\\":400,\\\\\\"uriEncoding\\\\\\":\\\\\\"ISO-8859-1\\\\\\",\\\\\\"useBodyEncodingForUri\\\\\\":true}\\",\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"VSwitchId\\": \\"vsw-2ze559r1z1bpwqxwp****\\",\\n \\"Cpu\\": 1000,\\n \\"Envs\\": \\"[{\\\\\\"name\\\\\\":\\\\\\"TEST_ENV_KEY\\\\\\",\\\\\\"value\\\\\\":\\\\\\"TEST_ENV_VAR\\\\\\"}]\\",\\n \\"MountDesc\\": [\\n {\\n \\"MountPath\\": \\"/tmp\\",\\n \\"NasPath\\": \\"/\\"\\n }\\n ],\\n \\"CustomHostAlias\\": \\"[{\\\\\\"hostName\\\\\\":\\\\\\"test.host.name\\\\\\",\\\\\\"ip\\\\\\":\\\\\\"0.0.0.0\\\\\\"}]\\",\\n \\"WebContainer\\": \\"apache-tomcat-7.0.91\\",\\n \\"Command\\": \\"echo\\",\\n \\"WarStartOptions\\": \\"custom-option\\",\\n \\"NasId\\": \\"AKSN89**\\",\\n \\"OssAkId\\": \\"xxxxxx\\",\\n \\"OssAkSecret\\": \\"xxxxxx\\",\\n \\"OssMountDescs\\": [\\n {\\n \\"bucketName\\": \\"oss-bucket\\",\\n \\"bucketPath\\": \\"data/user.data\\",\\n \\"mountPath\\": \\"/usr/data/user.data\\",\\n \\"readOnly\\": true\\n }\\n ],\\n \\"EdasContainerVersion\\": \\"3.5.3\\",\\n \\"Timezone\\": \\"Asia/Shanghai\\",\\n \\"AppDescription\\": \\"示例应用\\",\\n \\"AcrInstanceId\\": \\"cri-xxxxxx\\",\\n \\"AcrAssumeRoleArn\\": \\"acs:ram::123456789012****:role/adminrole\\",\\n \\"ImagePullSecrets\\": \\"10\\",\\n \\"TriggerConfig\\": \\"{\\\\\\"type\\\\\\":\\\\\\"time\\\\\\",\\\\\\"config\\\\\\":\\\\\\"0 1 */1 * ?\\\\\\",\\\\\\"timezone\\\\\\":\\\\\\"GMT+8:00\\\\\\"}\\",\\n \\"ConcurrencyPolicy\\": \\"Allow\\",\\n \\"Suspend\\": false,\\n \\"Timeout\\": 3600,\\n \\"BackoffLimit\\": 3,\\n \\"Slice\\": true,\\n \\"SliceEnvs\\": \\"SliceEnvs\\",\\n \\"RefAppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\",\\n \\"RefedAppIds\\": [\\n \\"8621a6ca-d1cd-4928-8642-7d5cfe69****\\"\\n ],\\n \\"PublicWebHookUrls\\": [\\n \\"http://***/webhook/putEvents?token=***\\"\\n ],\\n \\"VpcWebHookUrls\\": [\\n \\"http://***/webhook/putEvents?token=***\\"\\n ],\\n \\"ProgrammingLanguage\\": \\"java\\",\\n \\"NasConfigs\\": \\"[{\\\\\\"mountPath\\\\\\":\\\\\\"/test1\\\\\\",\\\\\\"readOnly\\\\\\":false,\\\\\\"nasId\\\\\\":\\\\\\"nasId1\\\\\\",\\\\\\"mountDomain\\\\\\":\\\\\\"nasId1.cn-shenzhen.nas.aliyuncs.com\\\\\\",\\\\\\"nasPath\\\\\\":\\\\\\"/test1\\\\\\"},{\\\\\\"nasId\\\\\\":\\\\\\"nasId2\\\\\\",\\\\\\"mountDomain\\\\\\":\\\\\\"nasId2.cn-shenzhen.nas.aliyuncs.com\\\\\\",\\\\\\"readOnly\\\\\\":false,\\\\\\"nasPath\\\\\\":\\\\\\"/test2\\\\\\",\\\\\\"mountPath\\\\\\":\\\\\\"/test2\\\\\\"}]\\",\\n \\"Python\\": \\"PYTHON 3.9.15\\",\\n \\"PythonModules\\": \\"Flask==2.0\\",\\n \\"BestEffortType\\": \\"\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeJobResponse>\\n <RequestId>01CF26C7-00A3-4AA6-BA76-7E95F2A3****</RequestId>\\n <Message>success</Message>\\n <TraceId>ac1a0b2215622246421415014e****</TraceId>\\n <Data>\\n <VpcId>vpc-2ze0i263cnn311nvj****</VpcId>\\n <Readiness>{\\"exec\\":{\\"command\\":[\\"curl http://localhost:8080\\"]},\\"initialDelaySeconds\\":20,\\"timeoutSeconds\\":5}</Readiness>\\n <ConfigMapMountDesc>\\n <Key>k1</Key>\\n <ConfigMapName>test</ConfigMapName>\\n <MountPath>/tmp</MountPath>\\n <ConfigMapId>1</ConfigMapId>\\n </ConfigMapMountDesc>\\n <SecurityGroupId>sg-wz969ngg2e49q5i4****</SecurityGroupId>\\n <BatchWaitTime>10</BatchWaitTime>\\n <Jdk>Open JDK 8</Jdk>\\n <ImageUrl>docker.io/library/nginx:1.14.2</ImageUrl>\\n <SlsConfigs>[{\\"logDir\\":\\"\\",\\"logType\\":\\"stdout\\"},{\\"logDir\\":\\"/tmp/a.log\\"}]</SlsConfigs>\\n <Liveness>{\\"exec\\":{\\"command\\":[\\"curl http://localhost:8080\\"]},\\"initialDelaySeconds\\":20,\\"timeoutSeconds\\":3}</Liveness>\\n <Tags>\\n <Key>k1</Key>\\n <Value>v1</Value>\\n </Tags>\\n <PackageUrl>https://edas-bj.oss-cn-beijing.aliyuncs.com/apps/K8s_APP_ID/d4c97c37-aba3-403e-ae1e-6f7d8742****/hello-sae.war</PackageUrl>\\n <PackageType>War</PackageType>\\n <PreStop>{\\"exec\\":{\\"command\\":[\\"cat\\",\\"/etc/group\\"]}}</PreStop>\\n <PackageVersion>1.0</PackageVersion>\\n <JarStartArgs>start</JarStartArgs>\\n <AppName>demo-app</AppName>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n <JarStartOptions>-Dtest=true</JarStartOptions>\\n <Replicas>2</Replicas>\\n <MinReadyInstances>1</MinReadyInstances>\\n <Memory>2048</Memory>\\n <PhpConfig>k1=v1</PhpConfig>\\n <PhpConfigLocation>/usr/local/etc/php/php.ini</PhpConfigLocation>\\n <PostStart>{\\"exec\\":{\\"command\\":[\\"cat\\",\\"/etc/group\\"]}}</PostStart>\\n <TerminationGracePeriodSeconds>10</TerminationGracePeriodSeconds>\\n <CommandArgs>[\\"a\\",\\"b\\"]</CommandArgs>\\n <NamespaceId>cn-beijing:test</NamespaceId>\\n <MountHost>example.com</MountHost>\\n <TomcatConfig>{\\"port\\":8080,\\"contextPath\\":\\"/\\",\\"maxThreads\\":400,\\"uriEncoding\\":\\"ISO-8859-1\\",\\"useBodyEncodingForUri\\":true}</TomcatConfig>\\n <RegionId>cn-beijing</RegionId>\\n <VSwitchId>vsw-2ze559r1z1bpwqxwp****</VSwitchId>\\n <Cpu>1000</Cpu>\\n <Envs>[{\\"name\\":\\"TEST_ENV_KEY\\",\\"value\\":\\"TEST_ENV_VAR\\"}]</Envs>\\n <MountDesc>\\n <MountPath>/tmp</MountPath>\\n <NasPath>/</NasPath>\\n </MountDesc>\\n <EnableAhas>true</EnableAhas>\\n <CustomHostAlias>[{\\"hostName\\":\\"test.host.name\\",\\"ip\\":\\"0.0.0.0\\"}]</CustomHostAlias>\\n <WebContainer>apache-tomcat-7.0.91</WebContainer>\\n <Command>echo</Command>\\n <WarStartOptions>custom-option</WarStartOptions>\\n <PhpArmsConfigLocation>/usr/local/etc/php/conf.d/arms.ini</PhpArmsConfigLocation>\\n <NasId>AKSN89**</NasId>\\n <OssAkId>xxxxxx</OssAkId>\\n <OssAkSecret>xxxxxx</OssAkSecret>\\n <OssMountDescs>\\n <bucketName>oss-bucket</bucketName>\\n <bucketPath>data/user.data</bucketPath>\\n <mountPath>/usr/data/user.data</mountPath>\\n <readOnly>true</readOnly>\\n </OssMountDescs>\\n <EdasContainerVersion>3.5.3</EdasContainerVersion>\\n <Timezone>Asia/Shanghai</Timezone>\\n <AppDescription>示例应用</AppDescription>\\n <EnableGreyTagRoute>false</EnableGreyTagRoute>\\n <MseApplicationId>xxxxxxx@xxxxx</MseApplicationId>\\n <AcrInstanceId>cri-xxxxxx</AcrInstanceId>\\n <AcrAssumeRoleArn>acs:ram::123456789012****:role/adminrole</AcrAssumeRoleArn>\\n <AssociateEip>true</AssociateEip>\\n <TriggerConfig>{\\"type\\":\\"time\\",\\"config\\":\\"0 1 */1 * ?\\",\\"timezone\\":\\"GMT+8:00\\"}</TriggerConfig>\\n <ConcurrencyPolicy>Allow</ConcurrencyPolicy>\\n <Suspend>false</Suspend>\\n <Timeout>3600</Timeout>\\n <BackoffLimit>3</BackoffLimit>\\n <Slice>true</Slice>\\n <SliceEnvs>SliceEnvs</SliceEnvs>\\n <RefAppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</RefAppId>\\n <RefedAppIds>8621a6ca-d1cd-4928-8642-7d5cfe69****</RefedAppIds>\\n <PublicWebHookUrls>http://***/webhook/putEvents?token=***</PublicWebHookUrls>\\n <VpcWebHookUrls>http://***/webhook/putEvents?token=***</VpcWebHookUrls>\\n <ProgrammingLanguage>java</ProgrammingLanguage>\\n <NasConfigs>[{\\"mountPath\\":\\"/test1\\",\\"readOnly\\":false,\\"nasId\\":\\"nasId1\\",\\"mountDomain\\":\\"nasId1.cn-shenzhen.nas.aliyuncs.com\\",\\"nasPath\\":\\"/test1\\"},{\\"nasId\\":\\"nasId2\\",\\"mountDomain\\":\\"nasId2.cn-shenzhen.nas.aliyuncs.com\\",\\"readOnly\\":false,\\"nasPath\\":\\"/test2\\",\\"mountPath\\":\\"/test2\\"}]</NasConfigs>\\n <Python>PYTHON 3.9.15</Python>\\n <PythonModules>Flask==2.0</PythonModules>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeJobResponse>","errorExample":""}]', - 'title' => 'DescribeJob', - 'summary' => 'Queries the configurations of a job template.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'ExecJob' => [ - 'path' => '/pop/v1/sam/job/execJob', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateSwimmingLaneEnableAttribute' => [ + 'summary' => 'Updates the enabled status of a swimming lane.', + 'path' => '/pop/v1/cas/gray/updateSwimmingLaneEnableAttribute', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/x-www-form-urlencoded'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '100732', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '221727', + 'abilityTreeNodes' => ['FEATUREsaeX255DA'], ], 'parameters' => [ [ - 'name' => 'AppId', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The job template ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ee1a7a07-abcb-4652-a1d3-2d57f415****', - ], + 'schema' => ['description' => 'The namespace ID.', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing:test', 'title' => ''], ], [ - 'name' => 'EventId', + 'name' => 'GroupId', 'in' => 'query', - 'schema' => [ - 'description' => 'The event ID. This is a user-defined parameter used for idempotency so that only one job is created for the same event ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'custom', - ], + 'schema' => ['description' => 'The swimming lane group ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '2074', 'title' => ''], ], [ - 'name' => 'Command', + 'name' => 'LaneId', 'in' => 'query', - 'schema' => [ - 'description' => 'The command that is used to start the image. The command must be an existing executable object in the container. Example:'."\n" - ."\n" - .' command:'."\n" - .' - echo'."\n" - .' - abc'."\n" - .' - >'."\n" - .' - file0'."\n" - ."\n" - .'In this example, the Command parameter is set to `Command="echo", CommandArgs=["abc", ">", "file0"]`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo', - ], + 'schema' => ['description' => 'The swimming lane ID.', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '9637', 'title' => ''], ], [ - 'name' => 'CommandArgs', + 'name' => 'Enable', 'in' => 'query', - 'schema' => [ - 'description' => 'The parameters of the image startup command. The CommandArgs parameter specifies the parameters that are required for the **Command** parameter. The name must meet the following format requirements:'."\n" - ."\n" - .'`["a","b"]`'."\n" - ."\n" - .'In the preceding example, the CommandArgs parameter is set to `CommandArgs=["abc", ">", "file0"]`. The data type of `["abc", ">", "file0"]` must be an array of strings in the JSON format. This parameter is optional.', - 'type' => 'string', - 'required' => false, - 'example' => '["a","b"]', - ], + 'schema' => ['description' => 'The enabled status of the swimming lane. Valid values:'."\n" + ."\n" + .'- true: enabled'."\n" + ."\n" + .'- false: disabled', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'title' => ''], ], - [ - 'name' => 'Envs', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'The environment variables. You can configure custom environment variables or reference a ConfigMap. If you want to reference a ConfigMap, you must first create a ConfigMap. For more information, see [CreateConfigMap](~~176914~~). Valid values:'."\n" - ."\n" - .'* Configure custom environment variables'."\n" - ."\n" - .' * **name**: the name of the environment variable.'."\n" - .' * **value**: the value of the environment variable.'."\n" - ."\n" - .'* Reference ConfigMap'."\n" - ."\n" - .' * **name**: the name of the environment variable. You can reference one or all keys. If you want to reference all keys, specify `sae-sys-configmap-all-<ConfigMap name>`. Example: `sae-sys-configmap-all-test1`.'."\n" - .' * **valueFrom**: the reference of the environment variable. Set the value to `configMapRef`.'."\n" - .' * **configMapId**: the ConfigMap ID.'."\n" - .' * **key**: the key. If you want to reference all keys, do not configure this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"envtmp","value":"0"}]', + 'title' => 'Schema of Response', + 'description' => 'The returned data.', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => 'The request ID.', 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****'], + 'Message' => ['description' => 'The returned message.'."\n" + ."\n" + .'- If the request is successful, **success** is returned.'."\n" + ."\n" + .'- If the request fails, an error message is returned.', 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The trace ID. You can use the trace ID to query the details of a request.', 'type' => 'string', 'example' => 'ac1a0b2215622920113732501e****', 'title' => ''], + 'ErrorCode' => ['description' => 'The error code.'."\n" + ."\n" + .'- This parameter is not returned if the request is successful.'."\n" + ."\n" + .'- This parameter is returned if the request fails. For more information, see the **Error codes** section.', 'type' => 'string', 'title' => '', 'example' => ''], + 'Code' => ['description' => 'The HTTP status code. Valid values:'."\n" + ."\n" + .'- **2xx**: Success'."\n" + ."\n" + .'- **3xx**: Redirection'."\n" + ."\n" + .'- **4xx**: Client error'."\n" + ."\n" + .'- **5xx**: Server error', 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'- **true**: The request was successful.'."\n" + ."\n" + .'- **false**: The request failed.', 'type' => 'boolean', 'example' => 'true', 'title' => ''], + ], + 'example' => '', ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'InvalidParameter.NotEmpty', 'errorMessage' => 'You must specify the parameter %s.', 'description' => ''], + ['errorCode' => 'InvalidParameter.Obviously', 'errorMessage' => 'The specified parameter is invalid {%s}.', 'description' => ''], + ['errorCode' => 'InvalidParameter.WithMessage', 'errorMessage' => 'The parameter is invalid {%s}: %s', 'description' => ''], + ['errorCode' => 'MseGatewayRule.CreateFailed', 'errorMessage' => 'Create MSE Gateway rule failed.', 'description' => 'Failed to create an MSE microservices gateway route.'], + ['errorCode' => 'InternalApiError', 'errorMessage' => 'An exception occurred when calling mse:%s, error message: %s.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"ErrorCode\\": \\"\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateSwimmingLaneEnableAttribute', + 'changeSet' => [ + ['createdAt' => '2025-12-25T03:03:25.000Z', 'description' => 'OpenAPI offline'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'JarStartOptions', - 'in' => 'query', - 'schema' => [ - 'description' => 'The option settings in the JAR package. The settings are used to start the job. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArg`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-Xms4G -Xmx4G', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateSwimmingLaneEnableAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'UpdateWebApplication' => [ + 'summary' => 'Updates the configuration at the web application level.', + 'path' => '/pop/v2/api/web/applications/{ApplicationId}', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ [ - 'name' => 'JarStartArgs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The arguments in the JAR package. The arguments are used to start the job. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'custom-args', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '181749', + 'abilityTreeNodes' => ['FEATUREsaeUWY6ZL'], + ], + 'parameters' => [ [ - 'name' => 'WarStartOptions', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The startup command of the WAR package. For information about how to configure the startup command, see [Configure a startup command](~~96677~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CATALINA_OPTS=\\"$CATALINA_OPTS $Options\\" catalina.sh run', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'Time', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time at which the job is triggered. Format: `yyyy-MM-dd\'T\'HH:mm:ss\'Z\'`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '2023-09-14T14:25:02Z', - ], + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****'], ], [ - 'name' => 'Replicas', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of concurrent instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3', - ], + 'name' => 'body', + 'in' => 'body', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'Updates the information about a web application.'."\n", 'required' => true, '$ref' => '#/components/schemas/UpdateWebApplicationInput', 'example' => ''], ], ], 'responses' => [ 200 => [ - 'schema' => [ - 'description' => 'The response.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '67DD9A98-9CCC-5BE8-8C9E-B45E72F4****', - ], - 'Message' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. This parameter is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => '0b87b7e716575071334387401e****', - ], - 'Data' => [ - 'description' => 'The returned data.', - 'type' => 'object', - 'properties' => [ - 'Data' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'example' => 'manual-3db7a8fa-5d40-4edc-92e4-49d50eab****', - ], - 'Msg' => [ - 'description' => 'The returned message. Valid values:'."\n" - ."\n" - .'- success: If the call is successful, **success** is returned.'."\n" - .'- An error code: If the call fails, an error code is returned.', - 'type' => 'string', - 'example' => 'success', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values: '."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.', - 'type' => 'string', - 'example' => '200', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values: '."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationBody', 'example' => ''], + 'examples' => [], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'JobForbidPolicy', - 'errorMessage' => 'You cannot execute new jobs because ongoing jobs exist.', - ], - [ - 'errorCode' => 'JobSuspend', - 'errorMessage' => 'The job is suspended.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"ApplicationId\\": \\"\\",\\n \\"ApplicationName\\": \\"\\",\\n \\"CreatedTime\\": \\"\\",\\n \\"Description\\": \\"\\",\\n \\"LastModifiedTime\\": \\"\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"RevisionConfig\\": {\\n \\"Containers\\": [\\n {\\n \\"Args\\": \\"[\\\\\\"abc\\\\\\", \\\\\\">\\\\\\", \\\\\\"file0\\\\\\"]\\",\\n \\"Command\\": \\"[\\\\\\"/bin/sh\\\\\\"]\\",\\n \\"EnvironmentVariables\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"Image\\": \\"registry.cn-shanghai.aliyuncs.com/serverless_devsxxxxx\\",\\n \\"WebNASConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"MountDir\\": \\"\\",\\n \\"NasAddr\\": \\"\\",\\n \\"NasPath\\": \\"\\"\\n }\\n ]\\n },\\n \\"WebOSSConfig\\": {\\n \\"MountPoints\\": [\\n {\\n \\"BucketName\\": \\"\\",\\n \\"BucketPath\\": \\"\\",\\n \\"MountDir\\": \\"\\",\\n \\"ReadOnly\\": true\\n }\\n ]\\n },\\n \\"Port\\": 8080,\\n \\"RequestConcurrency\\": 100,\\n \\"RequestTimeout\\": 60,\\n \\"Resources\\": {\\n \\"Cpu\\": 2000,\\n \\"Memory\\": 2048\\n },\\n \\"StartupProbe\\": {\\n \\"FailureThreshold\\": 0,\\n \\"InitialDelaySeconds\\": 0,\\n \\"PeriodSeconds\\": 0,\\n \\"ProbeHandler\\": {\\n \\"HttpGet\\": {\\n \\"Host\\": \\"\\",\\n \\"HttpHeaders\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ],\\n \\"Path\\": \\"\\",\\n \\"Port\\": 0,\\n \\"Scheme\\": \\"\\"\\n },\\n \\"TcpSocket\\": {\\n \\"Host\\": \\"\\",\\n \\"Port\\": 0\\n }\\n },\\n \\"TimeoutSeconds\\": 0\\n },\\n \\"SLSCollectConfigs\\": {\\n \\"CollectConfigs\\": [\\n {\\n \\"LogPath\\": \\"\\",\\n \\"LogType\\": \\"\\",\\n \\"LogstoreName\\": \\"\\",\\n \\"LogtailName\\": \\"\\",\\n \\"MachineGroup\\": \\"\\",\\n \\"ProjectName\\": \\"\\"\\n }\\n ]\\n },\\n \\"MetricsCollectConfig\\": {\\n \\"LogstoreName\\": \\"my-sls-logstorename\\",\\n \\"ProjectName\\": \\"my-sls-project\\",\\n \\"EnablePushToUserSLS\\": true\\n },\\n \\"ImageRegistryConfig\\": {\\n \\"AuthConfig\\": {\\n \\"UserName\\": \\"admin\\",\\n \\"Password\\": \\"abc***\\"\\n },\\n \\"CertConfig\\": {\\n \\"Insecure\\": true,\\n \\"CertBase64\\": \\"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCmZha2VDZXJ0aWZpY2F0ZQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0t\\"\\n }\\n }\\n }\\n ],\\n \\"EnableArmsMetrics\\": true,\\n \\"WebNetworkConfig\\": {\\n \\"InternetAccess\\": true,\\n \\"SecurityGroupId\\": \\"sg-bp18hj1wtxgy3b0***\\",\\n \\"VSwitchIds\\": [\\n \\"vsw-bp1ozpcrdc6r****\\"\\n ]\\n }\\n },\\n \\"InternetURL\\": \\"\\",\\n \\"IntranetURL\\": \\"\\",\\n \\"VpcId\\": \\"\\",\\n \\"WebScalingConfig\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 0\\n },\\n \\"WebTrafficConfig\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 0\\n }\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateWebApplication', + 'description' => 'You can call the UpdateWebApplication operation to update the configuration at the web application level.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"67DD9A98-9CCC-5BE8-8C9E-B45E72F4****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0b87b7e716575071334387401e****\\",\\n \\"Data\\": {\\n \\"Data\\": \\"manual-3db7a8fa-5d40-4edc-92e4-49d50eab****\\",\\n \\"Msg\\": \\"success\\",\\n \\"Success\\": \\"true\\",\\n \\"Code\\": \\"200\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<ExecJobResponse>\\n <RequestId>67DD9A98-9CCC-5BE8-8C9E-B45E72F4****</RequestId>\\n <Message>success</Message>\\n <TraceId>0b87b7e716575071334387401e****</TraceId>\\n <Data>\\n <Data>manual-3db7a8fa-5d40-4edc-92e4-49d50eab****</Data>\\n <Msg>success</Msg>\\n <Success>true</Success>\\n <Code>200</Code>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</ExecJobResponse>","errorExample":""}]', - 'title' => 'ExecJob', - 'summary' => 'Executes a job.', ], - 'ListJobs' => [ - 'path' => '/pop/v1/sam/job/listJobs', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpdateWebApplicationScalingConfig' => [ + 'summary' => 'Update the scaling configuration of a web application.', + 'path' => '/pop/v2/api/web/application-scaling/{ApplicationId}', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'tags' => [], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', - 'deprecated' => false, + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '100750', - 'abilityTreeNodes' => [ - 'FEATUREsaeN5OIM9', - ], + 'operationType' => 'update', + 'abilityTreeCode' => '225956', + 'abilityTreeNodes' => ['FEATUREsaeWX6046'], ], 'parameters' => [ [ - 'name' => 'CurrentPage', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return. The parameter value is a positive integer that is greater than or equal to 1.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid value: 0 to 200.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****'], ], [ - 'name' => 'AppName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the job template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'demo-app', + 'name' => 'body', + 'in' => 'body', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The information about scaling configurations.'."\n", 'required' => true, '$ref' => '#/components/schemas/UpdateWebApplicationScalingConfigInput', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationScalingConfigBody', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Data\\": {\\n \\"MaximumInstanceCount\\": 10,\\n \\"MinimumInstanceCount\\": 1\\n },\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateWebApplicationScalingConfig', + 'description' => 'You can call the UpdateWebApplicationScalingConfig operation to update the scaling configurations of a web application.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateWebApplicationScalingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'UpdateWebApplicationTrafficConfig' => [ + 'summary' => 'Update the traffic configurations of a web application.', + 'path' => '/pop/v2/api/web/application-traffic/{ApplicationId}', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '225957', + 'abilityTreeNodes' => ['FEATUREsaeOXSSSO'], + ], + 'parameters' => [ [ 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:demo', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-beijing:test'], ], [ - 'name' => 'Tags', - 'in' => 'query', - 'schema' => [ - 'description' => 'The tags that are displayed in a JSON string. Valid values:'."\n" - ."\n" - .'* **key**: the tag key'."\n" - .'* **value**: the tag value'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"key":"key","value":"value"}]', - ], + 'name' => 'ApplicationId', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****'], ], [ - 'name' => 'OrderBy', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies how applications are sorted. Valid values:'."\n" - ."\n" - .'* **running**: The applications are sorted based on the number of running instances.'."\n" - .'* **instances**: The applications are sorted based on the number of destination instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'running', + 'name' => 'body', + 'in' => 'body', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The traffic configurations.'."\n", 'required' => true, '$ref' => '#/components/schemas/UpdateWebApplicationTrafficConfigInput', 'example' => ''], + ], + ], + 'responses' => [ + 200 => [ + 'description' => '返回信息', + 'schema' => ['title' => '', 'description' => 'The returned message.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebApplicationTrafficConfigBody', 'example' => ''], + 'examples' => [], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 200,\\n \\"Data\\": {\\n \\"WebAclConfig\\": {\\n \\"WebAclEntries\\": [\\n {\\n \\"Entry\\": \\"1.2.3.4/32\\",\\n \\"Description\\": \\"办公网\\"\\n }\\n ],\\n \\"AclDescription\\": \\"192.168.0.0/24\\"\\n },\\n \\"AuthType\\": \\"Anonymous\\",\\n \\"DisableInternetURL\\": true,\\n \\"RevisionsTrafficWeight\\": {\\n \\"key\\": 100\\n }\\n },\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateWebApplicationTrafficConfig', + 'description' => 'Call the UpdateWebApplicationTrafficConfig operation to update the traffic configurations of a web application.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateWebApplicationTrafficConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], + ], + ], + 'UpdateWebCustomDomain' => [ + 'summary' => 'Update a custom domain name.', + 'path' => '/pop/v2/api/web/custom-domains/{DomainName}', + 'methods' => ['put'], + 'schemes' => ['http', 'https'], + 'tags' => [], + 'security' => [ [ - 'name' => 'Reverse', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to sort the field names that are passed by **OrderBy** in ascending order. Valid values:'."\n" - ."\n" - .'* **true**: in ascending order'."\n" - .'* **false**: in descending order'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '225959', + 'abilityTreeNodes' => ['FEATUREsae5U7VP0'], + ], + 'parameters' => [ [ - 'name' => 'FieldType', + 'name' => 'NamespaceId', 'in' => 'query', - 'schema' => [ - 'description' => 'The dimension by which applications are filtered. Valid values:'."\n" - ."\n" - .'* **appName**: Applications are filtered by job template name.'."\n" - .'* **appIds**: Applications are filtered by job template ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'appName', - ], + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The namespace ID.'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'FieldValue', - 'in' => 'query', - 'schema' => [ - 'description' => 'Enter the name and ID of the job template.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'demo-app', - ], + 'name' => 'DomainName', + 'in' => 'path', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The name of the custom domain name.'."\n", 'type' => 'string', 'required' => true, 'example' => 'www.99zuowen.com'], ], [ - 'name' => 'Workload', - 'in' => 'query', - 'schema' => [ - 'description' => 'Set the value to `job`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'job', - ], + 'name' => 'body', + 'in' => 'body', + 'allowEmptyValue' => false, + 'schema' => ['title' => '', 'description' => 'The information about the custom domain name.'."\n", 'required' => true, '$ref' => '#/components/schemas/UpdateWebCustomDomainInput', 'example' => ''], ], ], 'responses' => [ 200 => [ - 'schema' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****', - ], - 'Data' => [ - 'description' => 'The job templates.'."\n", - 'type' => 'object', - 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The total number of job templates.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'Applications' => [ - 'description' => 'The job templates.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'AppName' => [ - 'description' => 'The name of the job template.'."\n", - 'type' => 'string', - 'example' => 'demo-app', - ], - 'NamespaceId' => [ - 'description' => 'The ID of the namespace.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing:demo', - ], - 'AppId' => [ - 'description' => 'The ID of the job template.'."\n", - 'type' => 'string', - 'example' => 'f7730764-d88f-4b9a-8d8e-cd8efbfe****', - ], - 'Tags' => [ - 'description' => 'The tags of the job template.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'Key' => [ - 'description' => 'The key of the tag.'."\n", - 'type' => 'string', - 'example' => 'key', - ], - 'Value' => [ - 'description' => 'The value of the tag.'."\n", - 'type' => 'string', - 'example' => 'value', - ], - ], - ], - ], - 'RegionId' => [ - 'description' => 'The region ID.'."\n", - 'type' => 'string', - 'example' => 'cn-beijing', - ], - 'AppDescription' => [ - 'description' => 'The description of the job template.'."\n", - 'type' => 'string', - 'example' => 'description', - ], - 'TriggerConfig' => [ - 'description' => 'The trigger configuration. This parameter is configured based on the job type.'."\n" - ."\n" - .'* **Scheduled job**: Set **type** to time, **config** to a CRON expression, and **timezone** to a specific time zone. Configuration example: `{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}`.'."\n" - .'* **One-time job**: Set **type** to http and configure an HTTP trigger rule for **config**. For more information, see [SourceHttpEventParameters](https://help.aliyun.com/document_detail/347586.html#section-lp1-vq0-ho3). Configuration example: `{"type":"http","config":{"type":"HTTPS","method",["GET"],"ip":[],"referer":[],"securityConfig":"none"}}`.'."\n", - 'type' => 'string', - 'example' => '{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}', - ], - 'Suspend' => [ - 'description' => 'Indicates whether the job template is suspended.'."\n", - 'type' => 'boolean', - 'example' => 'false', - ], - 'Active' => [ - 'description' => 'The number of running instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Succeeded' => [ - 'description' => 'The number of instances that were successfully run.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'Failed' => [ - 'description' => 'The number of instances that failed to run.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'LastStartTime' => [ - 'description' => 'The time when the job was last started.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1657522800', - ], - 'CompletionTime' => [ - 'description' => 'The time when the job was last completed.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1657522839', - ], - 'LastChangeorderState' => [ - 'description' => 'Indicates whether the latest change order was executed. Valid values:'."\n" - ."\n" - .'* **0**: The latest change order failed to be executed.'."\n" - .'* **1**: The latest change order was executed.'."\n", - 'type' => 'string', - 'example' => '1', - ], - 'LastJobState' => [ - 'description' => 'The status of the latest job. Valid values:'."\n" - ."\n" - .'* **0**: The job is not executed.'."\n" - .'* **1**: The job was executed.'."\n" - .'* **2**: The job failed to be executed.'."\n" - .'* **3**: The job is being executed.'."\n", - 'type' => 'string', - 'example' => '0', - ], - 'Cpu' => [ - 'description' => 'The CPU specifications that are required for each instance. Unit: millicores. This parameter cannot be set to 0. Valid values:'."\n" - ."\n" - .'* **500**'."\n" - .'* **1000**'."\n" - .'* **2000**'."\n" - .'* **4000**'."\n" - .'* **8000**'."\n" - .'* **16000**'."\n" - .'* **32000**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '500', - ], - 'Mem' => [ - 'description' => 'The size of memory that is required by each instance. Unit: MB. This parameter cannot be set to 0. The values of this parameter correspond to the values of the Cpu parameter:'."\n" - ."\n" - .'* This parameter is set to **1024** if the Cpu parameter is set to 500 or 1000.'."\n" - .'* This parameter is set to **2048** if the Cpu parameter is set to 500, 1000, or 2000.'."\n" - .'* This parameter is set to **4096** if the Cpu parameter is set to 1000, 2000, or 4000.'."\n" - .'* This parameter is set to **8192** if the Cpu parameter is set to 2000, 4000, or 8000.'."\n" - .'* This parameter is set to **12288** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **16384** if the Cpu parameter is set to 4000, 8000, or 16000.'."\n" - .'* This parameter is set to **24576** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **32768** if the Cpu parameter is set to 16000.'."\n" - .'* This parameter is set to **65536** if the Cpu parameter is set to 8000, 16000, or 32000.'."\n" - .'* This parameter is set to **131072** if the Cpu parameter is set to 32000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], - 'Message' => [ - 'description' => 'The returned message.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'ImageUrl' => [ - 'type' => 'string', - ], - ], - ], - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, **ErrorCode** is not returned.'."\n" - .'* If the call fails, **ErrorCode** is returned. For more information, see the "**Error codes**" section in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the applications were obtained. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - 'CurrentPage' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The total number of job templates.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'PageSize' => [ - 'description' => 'The number of entries returned on each page.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - ], - ], + 'description' => 'OK', + 'schema' => ['title' => 'OK', 'description' => 'OK.'."\n", 'required' => false, '$ref' => '#/components/schemas/WebCustomDomainBody', 'example' => ''], + 'examples' => [], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Code\\": 0,\\n \\"Data\\": {\\n \\"accountId\\": \\"123xxxxxx\\",\\n \\"WebCertConfig\\": {\\n \\"CertName\\": \\"\\",\\n \\"Certificate\\": \\"\\",\\n \\"PrivateKey\\": \\"\\"\\n },\\n \\"CreatedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"DefaultForwardingAppName\\": \\"appxxxxx\\",\\n \\"DomainName\\": \\"example.com\\",\\n \\"LastModifiedTime\\": \\"2023-03-30T08:02:19Z\\",\\n \\"NamespaceId\\": \\"\\",\\n \\"Protocol\\": \\"HTTP\\",\\n \\"WebTLSConfig\\": {\\n \\"CipherSuites\\": [\\n \\"\\"\\n ],\\n \\"MaxVersion\\": \\"\\",\\n \\"MinVersion\\": \\"\\"\\n },\\n \\"WebWAFConfig\\": {\\n \\"EnableWAF\\": true\\n },\\n \\"RouteConfig\\": {\\n \\"routes\\": [\\n {\\n \\"path\\": \\"\\",\\n \\"applicationName\\": \\"\\"\\n }\\n ]\\n }\\n },\\n \\"Message\\": \\"\\",\\n \\"RequestId\\": \\"\\",\\n \\"Success\\": true\\n}","type":"json"}]', + 'title' => 'UpdateWebCustomDomain', + 'description' => 'Update a custom domain name.'."\n", + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateWebCustomDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:namespace/{#NamespaceId}'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"Message\\": \\"success\\",\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 2,\\n \\"PageSize\\": 20,\\n \\"Applications\\": [\\n {\\n \\"AppName\\": \\"demo-app\\",\\n \\"NamespaceId\\": \\"cn-beijing:demo\\",\\n \\"AppId\\": \\"f7730764-d88f-4b9a-8d8e-cd8efbfe****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"key\\",\\n \\"Value\\": \\"value\\"\\n }\\n ],\\n \\"RegionId\\": \\"cn-beijing\\",\\n \\"AppDescription\\": \\"description\\",\\n \\"TriggerConfig\\": \\"{\\\\\\"type\\\\\\":\\\\\\"time\\\\\\",\\\\\\"config\\\\\\":\\\\\\"0 1 */1 * ?\\\\\\",\\\\\\"timezone\\\\\\":\\\\\\"GMT+8:00\\\\\\"}\\",\\n \\"Suspend\\": false,\\n \\"Active\\": 0,\\n \\"Succeeded\\": 3,\\n \\"Failed\\": 0,\\n \\"LastStartTime\\": 1657522800,\\n \\"CompletionTime\\": 1657522839,\\n \\"LastChangeorderState\\": \\"1\\",\\n \\"LastJobState\\": \\"0\\",\\n \\"Cpu\\": 500,\\n \\"Mem\\": 1024,\\n \\"Message\\": \\"success\\",\\n \\"ImageUrl\\": \\"\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true,\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 2,\\n \\"PageSize\\": 20\\n}","errorExample":""},{"type":"xml","example":"<ListJobsResponse>\\n <Message>success</Message>\\n <RequestId>B4D805CA-926D-41B1-8E63-7AD0C1ED****</RequestId>\\n <Data>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>2</TotalSize>\\n <PageSize>20</PageSize>\\n <Applications>\\n <AppName>demo-app</AppName>\\n <NamespaceId>cn-beijing:demo</NamespaceId>\\n <AppId>f7730764-d88f-4b9a-8d8e-cd8efbfe****</AppId>\\n <Tags>\\n <Key>key</Key>\\n <Value>value</Value>\\n </Tags>\\n <RegionId>cn-beijing</RegionId>\\n <AppDescription>description</AppDescription>\\n <TriggerConfig>{\\"type\\":\\"time\\",\\"config\\":\\"0 1 */1 * ?\\",\\"timezone\\":\\"GMT+8:00\\"}</TriggerConfig>\\n <Suspend>false</Suspend>\\n <Active>0</Active>\\n <Succeeded>3</Succeeded>\\n <Failed>0</Failed>\\n <LastStartTime>1657522800</LastStartTime>\\n <CompletionTime>1657522839</CompletionTime>\\n <LastChangeorderState>1</LastChangeorderState>\\n <LastJobState>0</LastJobState>\\n <Cpu>500</Cpu>\\n <Mem>1024</Mem>\\n <Message>success</Message>\\n </Applications>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>2</TotalSize>\\n <PageSize>20</PageSize>\\n</ListJobsResponse>","errorExample":""}]', - 'title' => 'ListJobs', - 'summary' => 'Queries the information about job templates.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', ], - 'SuspendJob' => [ - 'path' => '/pop/v1/sam/job/suspendJob', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], + 'UpgradeApplicationApmService' => [ + 'path' => '/pop/v1/sam/app/applicationApmService', + 'methods' => ['post'], + 'schemes' => ['http', 'https'], 'security' => [ [ 'AK' => [], @@ -34786,34 +26382,14 @@ 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'abilityTreeCode' => '100748', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', - ], + 'abilityTreeCode' => '6406', + 'abilityTreeNodes' => ['FEATUREsaeD9PL61'], ], 'parameters' => [ [ 'name' => 'AppId', 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job template.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'ee1a7a07-abcb-4652-a1d3-2d57f415****', - ], - ], - [ - 'name' => 'Suspend', - 'in' => 'query', - 'schema' => [ - 'description' => 'Start or suspend a job template.'."\n" - ."\n" - .'* true: Start a job template.'."\n" - .'* false: Suspend a job template.'."\n", - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + 'schema' => ['description' => 'The application ID.'."\n", 'type' => 'string', 'required' => true, 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', 'title' => ''], ], ], 'responses' => [ @@ -34821,2990 +26397,3626 @@ 'schema' => [ 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '67DD9A98-9CCC-5BE8-8C9E-B45E72F4****', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0b87b7e716575071334387401e****', - ], + 'RequestId' => ['description' => 'Request ID.'."\n", 'type' => 'string', 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', 'title' => ''], + 'Message' => ['description' => 'The message returned. The following limits are imposed on the ID:'."\n" + ."\n" + .'* If the request was successful, **success** is returned.'."\n" + .'* An error code is returned when a request failed.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'TraceId' => ['description' => 'The ID of the trace. The ID is used to query the details of a request.'."\n", 'type' => 'string', 'example' => '0a98a02315955564772843261e****', 'title' => ''], 'Data' => [ - 'description' => 'Whether the execution is successful.'."\n", - 'type' => 'string', - 'example' => '{success: true}', - ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Valid values:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the job was executed. Valid values:'."\n" - ."\n" - .'* **true**: The job was executed.'."\n" - .'* **false**: The job failed to be executed.'."\n", - 'type' => 'boolean', - 'example' => 'true', + 'description' => 'The returned result.'."\n", + 'type' => 'object', + 'properties' => [ + 'Status' => ['description' => 'Indicates whether ARMS advanced monitoring is enabled. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", 'type' => 'boolean', 'example' => 'true'."\n", 'title' => ''], + ], + 'title' => '', + 'example' => '', ], + 'ErrorCode' => ['description' => 'The status code. Value values:'."\n" + ."\n" + .'* If the request was successful, **ErrorCode** is not returned.'."\n" + .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", 'type' => 'string', 'example' => 'success', 'title' => ''], + 'Code' => ['description' => 'The HTTP status code or the error code. Valid values:'."\n" + ."\n" + .'* **2xx**: The request was successful.'."\n" + .'* **3xx**: The request was redirected.'."\n" + .'* **4xx**: The request failed.'."\n" + .'* **5xx**: A server error occurred.'."\n", 'type' => 'string', 'example' => '200', 'title' => ''], + 'Success' => ['description' => 'Indicates whether the request was successful. Valid values:'."\n" + ."\n" + .'* **true**'."\n" + .'* **false**'."\n", 'type' => 'boolean', 'title' => '', 'example' => ''], ], + 'description' => '', + 'title' => '', + 'example' => '', ], ], ], 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', + 400 => [ + ['errorCode' => 'System.Upgrading', 'errorMessage' => 'The system is being upgraded. Please try again later.', 'description' => ''], + ['errorCode' => 'InvalidApplication.NotFound', 'errorMessage' => 'The current application does not exist.', 'description' => ''], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Status\\": true\\n },\\n \\"ErrorCode\\": \\"success\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": false\\n}","type":"json"}]', + 'title' => 'UpgradeApplicationApmService', + 'summary' => 'Enables the advanced monitoring feature of Application Real-Time Monitoring Service (ARMS).', + 'description' => 'You are charged when you use the ARMS advanced monitoring feature. Enable this feature based on your business requirements. For more information, see [Billing overview](https://www.alibabacloud.com/help/zh/arms/application-monitoring/product-overview/billing-overview-1).'."\n", + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:UpgradeApplicationApmService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"67DD9A98-9CCC-5BE8-8C9E-B45E72F4****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0b87b7e716575071334387401e****\\",\\n \\"Data\\": \\"{success: true}\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<SuspendJobResponse>\\n <RequestId>67DD9A98-9CCC-5BE8-8C9E-B45E72F4****</RequestId>\\n <Message>success</Message>\\n <TraceId>0b87b7e716575071334387401e****</TraceId>\\n <Data>{success: true}</Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</SuspendJobResponse>","errorExample":""}]', - 'title' => 'SuspendJob', - 'summary' => 'Suspends one or more jobs.', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeApplicationApmService'], + ], + ], ], - 'UpdateJob' => [ - 'path' => '/pop/v1/sam/job/updateJob', - 'methods' => [ - 'post', + ], + 'endpoints' => [ + ['regionId' => 'cn-shenzhen', 'regionName' => 'China (Shenzhen)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.cn-shenzhen.aliyuncs.com', 'endpoint' => 'sae.cn-shenzhen.aliyuncs.com', 'vpc' => 'sae-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => 'China (Ulanqab)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'sae.cn-wulanchabu.aliyuncs.com', 'vpc' => 'sae-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => 'China (Beijing)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.cn-beijing.aliyuncs.com', 'endpoint' => 'sae.cn-beijing.aliyuncs.com', 'vpc' => 'sae-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => 'Japan (Tokyo)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.ap-northeast-1.aliyuncs.com', 'endpoint' => 'sae.ap-northeast-1.aliyuncs.com', 'vpc' => 'sae-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => 'China (Chengdu)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.cn-chengdu.aliyuncs.com', 'endpoint' => 'sae.cn-chengdu.aliyuncs.com', 'vpc' => 'sae-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => 'China (Shanghai)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.cn-shanghai.aliyuncs.com', 'endpoint' => 'sae.cn-shanghai.aliyuncs.com', 'vpc' => 'sae-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-guangzhou', 'regionName' => 'China (Guangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.cn-guangzhou.aliyuncs.com', 'endpoint' => 'sae.cn-guangzhou.aliyuncs.com', 'vpc' => 'sae-vpc.cn-guangzhou.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => 'China (Hong Kong)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.cn-hongkong.aliyuncs.com', 'endpoint' => 'sae.cn-hongkong.aliyuncs.com', 'vpc' => 'sae-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'cn-heyuan', 'regionName' => 'China (Heyuan)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.cn-heyuan.aliyuncs.com', 'endpoint' => 'sae.cn-heyuan.aliyuncs.com', 'vpc' => 'sae-vpc.cn-heyuan.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => 'Singapore', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.ap-southeast-1.aliyuncs.com', 'endpoint' => 'sae.ap-southeast-1.aliyuncs.com', 'vpc' => 'sae-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => 'China (Zhangjiakou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'sae.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'sae-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => 'China (Hangzhou)', 'areaId' => 'asiaPacific', 'areaName' => 'Asia Pacific', 'public' => 'sae.cn-hangzhou.aliyuncs.com', 'endpoint' => 'sae.cn-hangzhou.aliyuncs.com', 'vpc' => 'sae-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => 'US (Silicon Valley)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'sae.us-west-1.aliyuncs.com', 'endpoint' => 'sae.us-west-1.aliyuncs.com', 'vpc' => 'sae-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => 'US (Virginia)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'sae.us-east-1.aliyuncs.com', 'endpoint' => 'sae.us-east-1.aliyuncs.com', 'vpc' => 'sae-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => 'Germany (Frankfurt)', 'areaId' => 'europeAmerica', 'areaName' => 'Europe & Americas', 'public' => 'sae.eu-central-1.aliyuncs.com', 'endpoint' => 'sae.eu-central-1.aliyuncs.com', 'vpc' => 'sae-vpc.eu-central-1.aliyuncs.com'], + ], + 'errorCodes' => [ + ['code' => 'AccessDenied', 'message' => 'AccessDenied: %s', 'http_code' => 403, 'description' => ''], + ['code' => 'AdditionalVersionContainsMajorVersion', 'message' => 'The additionalVersionWeight %+v cannot contain major version %d.', 'http_code' => 400, 'description' => 'The version weight includes the major version.'], + ['code' => 'AliasAlreadyExists', 'message' => 'The alias %s of service %s already exists.', 'http_code' => 409, 'description' => ''], + ['code' => 'AliasNotFound', 'message' => 'The alias %s of service %s is not found.', 'http_code' => 404, 'description' => ''], + ['code' => 'App.Package.Version.Exists', 'message' => 'The package version of application already exists.', 'http_code' => 400, 'description' => 'The package version of application already exists.'], + ['code' => 'Application.ChangerOrder.Not.Running', 'message' => 'The change order is not running and cannot be terminated.', 'http_code' => 400, 'description' => 'The change order is not running and cannot be terminated.'], + ['code' => 'Application.ChangerOrderRunning', 'message' => 'An application change process is in progress. Please try again later.', 'http_code' => 400, 'description' => 'An application change process is in progress. Please try again later.'], + ['code' => 'Application.InvalidStatus', 'message' => 'The application status is abnormal. Please try again later.', 'http_code' => 400, 'description' => 'The application status is abnormal. Please try again later.'], + ['code' => 'Application.MissingJdk', 'message' => 'Your application must at least contain a JDK component.', 'http_code' => 400, 'description' => ''], + ['code' => 'Application.NoInstanceAvailable', 'message' => 'No instance is available for the application. Please scale out and try again.', 'http_code' => 400, 'description' => 'No instance is available for the application. Please scale out and try again.'], + ['code' => 'Application.NotDeployYet', 'message' => 'The application has not been deployed. Please deploy it and try again.', 'http_code' => 400, 'description' => 'The application has not been deployed. Please deploy it and try again.'], + ['code' => 'ApplicationNameNotFound', 'message' => 'The applicationName is not found.', 'http_code' => 400, 'description' => 'The application name does not exist.'], + ['code' => 'Approval.Has.Been.Handled', 'message' => 'This approval request has been processed.', 'http_code' => 400, 'description' => ''], + ['code' => 'Approval.Has.Been.Handled', 'message' => 'The approval request has been handled.', 'http_code' => 400, 'description' => ''], + ['code' => 'Approval.In.Processing', 'message' => 'The approval is in process.', 'http_code' => 400, 'description' => ''], + ['code' => 'Approval.Rule.Exist', 'message' => 'Approval rules already exist in the specified namespace.', 'http_code' => 400, 'description' => ''], + ['code' => 'Associate.Eip.Not.Enough', 'message' => 'No sufficient EIPs are available.', 'http_code' => 404, 'description' => ''], + ['code' => 'AsyncConfigNotExists', 'message' => 'AsyncConfig for %s:%s does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'AsyncInvocationStopped', 'message' => 'The async invocation for %s:%s:%s has been stopped.', 'http_code' => 412, 'description' => ''], + ['code' => 'AuthenticationFailed', 'message' => 'You are not authorized. Go to the RAM console to configure the permission.', 'http_code' => 400, 'description' => 'AuthenticationFailed'], + ['code' => 'AuthenticationFailed', 'message' => 'You have not activated SAE. Please try again after activating.', 'http_code' => 403, 'description' => 'You have not activated SAE. Please try again after activating.'], + ['code' => 'BadResponse', 'message' => 'BadResponse: %s', 'http_code' => 502, 'description' => ''], + ['code' => 'BatchWaitTime.Not.Smaller.Zero', 'message' => 'BatchWaitTime must not be smaller than zero.', 'http_code' => 400, 'description' => 'BatchWaitTime must not be smaller than zero.'], + ['code' => 'CAExited', 'message' => 'The function either cannot be started or exited. %s', 'http_code' => 412, 'description' => ''], + ['code' => 'CAFileNotFound', 'message' => 'The function cannot be started. %s', 'http_code' => 412, 'description' => ''], + ['code' => 'CAFilePermission', 'message' => 'The function cannot be started. %s', 'http_code' => 412, 'description' => ''], + ['code' => 'ChangOrder.Without.Approval.Info', 'message' => 'The change order does not contain approval information.', 'http_code' => 400, 'description' => ''], + ['code' => 'ClientClosedRequest', 'message' => 'The client cancelled the request.', 'http_code' => 499, 'description' => 'The client interrupted the request.'], + ['code' => 'Concurrent.Update', 'message' => 'Failed to update ingress: another operation is in progress. Please try again later.', 'http_code' => 403, 'description' => 'Failed to update the gateway route, another update operation is in progress, please try again later.'], + ['code' => 'ConcurrentUpdateError', 'message' => 'ConcurrentUpdateError: %s', 'http_code' => 409, 'description' => ''], + ['code' => 'Contact.Exist', 'message' => 'The specified contact already exists.', 'http_code' => 400, 'description' => ''], + ['code' => 'Contact.Not.Exist', 'message' => 'The specified contact does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'Credential.Already.Exists', 'message' => 'Long term credential already exists.', 'http_code' => 400, 'description' => ''], + ['code' => 'Credential.Disabled', 'message' => 'Credential is disabled.', 'http_code' => 400, 'description' => ''], + ['code' => 'Credential.Invalid.Duration', 'message' => 'Duration must be long-term (-1) or less than 3 days.', 'http_code' => 400, 'description' => 'Voucher validity must be long term (-1) or less than 3 days.'], + ['code' => 'Credential.No.Permission', 'message' => 'No permission to get credential of other account.', 'http_code' => 400, 'description' => 'You do not have the permission to obtain vouchers across accounts.'], + ['code' => 'Credential.Not.Found', 'message' => 'Credential not found.', 'http_code' => 404, 'description' => 'Voucher does not exist'], + ['code' => 'Credential.ServerCaNotFound', 'message' => 'Server CA not found.', 'http_code' => 404, 'description' => 'Server certificate failure'], + ['code' => 'DeleteFail.ConfigMapReferenced', 'message' => 'Failed to delete the ConfigMap. It has been used by other applications.', 'http_code' => 400, 'description' => ''], + ['code' => 'DeleteFail.NamespaceHasConfigMap', 'message' => 'The namespace contains ConfigMap and cannot be deleted.', 'http_code' => 400, 'description' => ''], + ['code' => 'DeleteFail.NamespaceHasIngress', 'message' => 'Ingress detected when deleting the namespace.', 'http_code' => 400, 'description' => ''], + ['code' => 'DependencyViolation.Application', 'message' => 'The specified resource of secret is dependent on application [%s], so the operation cannot be completed.', 'http_code' => 400, 'description' => ''], + ['code' => 'DependencyViolation.Job', 'message' => 'The specified resource of secret is dependent on job [%s], so the operation cannot be completed.', 'http_code' => 400, 'description' => ''], + ['code' => 'DestinationDeliveryFailed', 'message' => 'DestinationDeliveryFailed: %s', 'http_code' => 500, 'description' => ''], + ['code' => 'DomainNameAlreadyExists', 'message' => 'The domain name %s already exists.', 'http_code' => 409, 'description' => ''], + ['code' => 'DomainNameNotFound', 'message' => 'The domain name %s is not found.', 'http_code' => 404, 'description' => ''], + ['code' => 'DomainNameNotResolved', 'message' => 'The domain name %s has not been resolved to your FC endpoint. The expected endpoint is %s.', 'http_code' => 400, 'description' => ''], + ['code' => 'DomainNameResolveError', 'message' => 'Failed to resolve the domain name %s. Make sure that your name server is valid.', 'http_code' => 400, 'description' => ''], + ['code' => 'DomainRouteNotFound', 'message' => 'No route is found in the domain %s for path %s or method %s.', 'http_code' => 404, 'description' => ''], + ['code' => 'Duplicate.TagKey', 'message' => 'The TagKey contains duplicate keys.', 'http_code' => 400, 'description' => ''], + ['code' => 'EbError', 'message' => 'The EventBridge is internal error', 'http_code' => 400, 'description' => ''], + ['code' => 'EntityTooLarge', 'message' => 'The maximum size for payloads (%s bytes) is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'EnvFromSecretIdConflict.AlreadyExist', 'message' => 'The specified SecretId [%s] already exist in the specified Envs.', 'http_code' => 400, 'description' => ''], + ['code' => 'EventSourceAlreadyExists', 'message' => 'The event source %s already exists in service %s.%s and function %s.', 'http_code' => 409, 'description' => ''], + ['code' => 'EventSourceNotFound', 'message' => 'The event source %s is not found in service %s.%s and function %s.', 'http_code' => 404, 'description' => ''], + ['code' => 'Exceed.ConfigMap', 'message' => 'Too many ConfigMap objects have been created in the namespace.', 'http_code' => 400, 'description' => ''], + ['code' => 'Exceed.GreyTagRoute', 'message' => 'The number of GreyTagRoute related rules must be less than or equal to 1.', 'http_code' => 400, 'description' => ''], + ['code' => 'Exceed.IngressRule', 'message' => 'The number of Ingress related rules must be less than or equal to 40.', 'http_code' => 400, 'description' => ''], + ['code' => 'Exceed.Namespace', 'message' => 'Too many namespaces have been created.', 'http_code' => 400, 'description' => ''], + ['code' => 'Exceed.TimerRules', 'message' => 'The maximum number of rules created in the namespace is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'FnF.InvalidOutput', 'message' => 'The output (%s) is not a valid JSON object.', 'http_code' => 400, 'description' => ''], + ['code' => 'FunctionAlreadyExists', 'message' => 'applicationName %s already exists in applicationName %s.', 'http_code' => 409, 'description' => ''], + ['code' => 'FunctionNotEmpty', 'message' => 'function %s has triggers. Please delete all its triggers before deleting the function.', 'http_code' => 409, 'description' => ''], + ['code' => 'FunctionNotFound', 'message' => 'applicationName %s does not exist in applicationName %s.', 'http_code' => 404, 'description' => ''], + ['code' => 'FunctionNotFoundByVersion', 'message' => 'The function %s is not found in service %s of version %d.', 'http_code' => 404, 'description' => ''], + ['code' => 'FunctionNotStarted', 'message' => 'Failed to start the function instance. %s', 'http_code' => 412, 'description' => ''], + ['code' => 'get.event.error', 'message' => 'Failed to obtain event information.', 'http_code' => 400, 'description' => ''], + ['code' => 'HTTPTriggerNotFound', 'message' => 'there is no http trigger associated with service %s, function %s and qualifier %s', 'http_code' => 404, 'description' => ''], + ['code' => 'Illegal.argument', 'message' => 'Illegal argument', 'http_code' => 400, 'description' => ''], + ['code' => 'IndexAlreadyExist', 'message' => 'The logstore index is already created.', 'http_code' => 400, 'description' => ''], + ['code' => 'InstanceExist.NamespaceId', 'message' => 'The specified namespace ID already exists.', 'http_code' => 400, 'description' => 'The specified namespace ID already exists.'], + ['code' => 'InstanceExist.ScalingRuleName', 'message' => 'The specified ScalingRuleName already exists.', 'http_code' => 400, 'description' => 'The specified ScalingRuleName already exists.'], + ['code' => 'InstanceNotFound', 'message' => 'The instance %s is not found.', 'http_code' => 404, 'description' => ''], + ['code' => 'InternalApiError', 'message' => 'An exception occurred when calling mse:%s, error message: %s.', 'http_code' => 400, 'description' => ''], + ['code' => 'InternalApiError', 'message' => 'An exception occurred when calling apig:%s, error message: %s.', 'http_code' => 400, 'description' => 'An exception occurred when calling apig:%s, error message: %s.'], + ['code' => 'InternalServerError', 'message' => 'An internal system error occurred.', 'http_code' => 500, 'description' => 'An internal system error occurred.'], + ['code' => 'Invalid.App.List.Not.Same.Namespace', 'message' => 'The selected applications do not belong to the same namespace.', 'http_code' => 400, 'description' => 'The selected applications does not belong to the same namespace.'], + ['code' => 'Invalid.Param.Tag.Scope', 'message' => 'The specified parameter is invalid: tag scope.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidAccessKeyID', 'message' => 'Invalid AccessKey ID: %s', 'http_code' => 403, 'description' => ''], + ['code' => 'InvalidAcrInstanceId.NotFound', 'message' => 'The specified AcrInstanceId does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidAppId.NotFound', 'message' => 'The specified AppId does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidApplication.NotFound', 'message' => 'The current application does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidArgument', 'message' => 'Can not update traffic config without any change.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidChangeOrder.NotFound', 'message' => 'The current change order does not exist.', 'http_code' => 400, 'description' => 'The current change order does not exist.'], + ['code' => 'InvalidComponent.NotFound', 'message' => 'The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidComponentType.NotFound', 'message' => 'The specified Type does not exist.', 'http_code' => 400, 'description' => 'The specified Type does not exist.'], + ['code' => 'InvalidDestinationResources', 'message' => 'The destination resource is invalid: %s', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidHostnameIp.Invalid', 'message' => 'The hostname and/or IP is invalid: Hostname [%s], IP [%s].', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidICPLicense', 'message' => 'The domain name %s does not have an ICP filing, or the ICP filing has not been completed in Alibaba Cloud.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidImageUrl.AcrInstanceId.Domain.NotMatch', 'message' => 'The specified domain of ImageUrl does not match AcrInstanceId domains.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidImageUrl.MissingAcrInstanceId', 'message' => 'The specified domain of ImageUrl is from ACREE, but you are not specified AcrInstanceId.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidInstanceSpecification.Unsupported', 'message' => 'The instance specification is not supported: CPU [%s], memory [%s].', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidLoadBalancerId.NotFound', 'message' => 'LoadBalancerId does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidNamespace.WithUppercase', 'message' => 'This namespace does not support creating SAE apps because it contains uppercase letters.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidNamespaceId.Format', 'message' => 'The specified NamespaceId is invalid.', 'http_code' => 400, 'description' => 'The specified NamespaceId is invalid. The correct format is [regionId]:[namespace]. For example, cn-beijing:test. NamespaceId cannot exceed 32 characters in length.'], + ['code' => 'InvalidNamespaceId.NotFound', 'message' => 'The specified NamespaceId does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidNamespaceIdSuffix.Format', 'message' => 'The specified NamespaceId is invalid. NamespaceId can only contain alphabetical letters or numbers.', 'http_code' => 400, 'description' => 'The specified NamespaceId is invalid. NamespaceId can only contain alphabetical letters or numbers.'], + ['code' => 'InvalidNamespaceName.Format', 'message' => 'The specified NamespaceName is invalid. The name of the namespace cannot exceed 63 characters in length.', 'http_code' => 400, 'description' => 'The specified NamespaceName is invalid. The name of the namespace cannot exceed 63 characters in length.'], + ['code' => 'InvalidOperation.NamespaceClusterNotDeleted', 'message' => 'The specified NamespaceId contains clusters.', 'http_code' => 400, 'description' => 'The specified NamespaceId contains clusters.'], + ['code' => 'InvalidPackageType.NotFound', 'message' => 'The package type must be War, FatJar, or Image.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParam.ProtocolNotSupport', 'message' => 'Only TCP protocol is supported.', 'http_code' => 400, 'description' => 'Only TCP protocol is supported.'], + ['code' => 'InvalidParameter.FileName', 'message' => 'The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). For deploying java package, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only. For deploying php package, you can upload ZIP files only if the selected deployment version supports ZIP file.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.NoPermission', 'message' => 'Resource no permission', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.NotEmpty', 'message' => 'You must specify the parameter %s.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.Obviously', 'message' => 'The specified parameter is invalid {%s}.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.TagKey', 'message' => 'The specified TagKey is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.TagValue', 'message' => 'The specified TagValue is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.UserNotFound', 'message' => 'The user ID is not found. Please make sure that you have activated the SAE service.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.UserNotFound.ServiceDisabled', 'message' => 'The user ID is not found. Please make sure that you have activated the SAE service.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameter.WithMessage', 'message' => 'The parameter is invalid {%s}: %s', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidParameters.InvalidExpression', 'message' => 'The specified cron expression is invalid.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidRegionId.NotFound', 'message' => 'The specified RegionId is invalid.', 'http_code' => 404, 'description' => 'Cannot find region to access.'], + ['code' => 'InvalidResourceType.NotFound', 'message' => 'The specified resource type is not supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidResponse.Api', 'message' => 'The response of API %s is empty.', 'http_code' => 404, 'description' => ''], + ['code' => 'InvalidScalingRuleDate.BeginAfterEnd', 'message' => 'The specified beginning time is later than the ending time.', 'http_code' => 400, 'description' => 'The specified begin date is later than the end date.'."\n"], + ['code' => 'InvalidScalingRuleDate.Format', 'message' => 'The specified date is invalid.', 'http_code' => 400, 'description' => 'The specified date is invalid. The correct format is yyyy-MM-dd .'], + ['code' => 'InvalidScalingRuleName.NotFound', 'message' => 'The specified ScalingRuleName does not exist.', 'http_code' => 400, 'description' => 'The specified ScalingRuleName does not exist.'], + ['code' => 'InvalidScalingRuleTime.Conflict', 'message' => 'The specified scaling rule time is invalid. Another schedule has been set for the specified time range. Please set a different time.', 'http_code' => 400, 'description' => 'The specified scaling rule time is invalid. Another schedule has been set for the specified time range. Please set a different time.'], + ['code' => 'InvalidScalingRuleTime.Format', 'message' => 'The specified time is invalid.', 'http_code' => 400, 'description' => 'The specified time is invalid. The correct format is HH:mm .'], + ['code' => 'InvalidSecretDataKey.NotFound', 'message' => 'The specified Key [%s] does not exist in the specified Secret [%s].', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidSecretId.NotFound', 'message' => 'The specified SecretId [%s] does not exist in our records.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidSecretType.NotAvailable', 'message' => 'The specified SecretType [%s] is not supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidServerlessRegion.Unsupported', 'message' => 'The current region is not supported: %s', 'http_code' => 400, 'description' => ''], + ['code' => 'InvalidVpcId.NotFound', 'message' => 'The specified VpcId does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'JarApplication.MissingJdk', 'message' => 'A FatJar application must contain JDK.', 'http_code' => 400, 'description' => ''], + ['code' => 'JobForbidPolicy', 'message' => 'You cannot execute new jobs because ongoing jobs exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'JobSuspend', 'message' => 'The job is suspended.', 'http_code' => 400, 'description' => ''], + ['code' => 'Kubeconfig.Already.Exists', 'message' => 'Long term kubeconfig already exists.', 'http_code' => 400, 'description' => 'Long term Kubeconfig already exists'], + ['code' => 'Kubeconfig.Disabled', 'message' => 'Kubeconfig is disabled.', 'http_code' => 400, 'description' => 'Kubeconfig has been disabled'], + ['code' => 'Kubeconfig.Invalid.Duration', 'message' => 'Duration must be long-term (-1) or less than 3 days.', 'http_code' => 400, 'description' => 'The Kubeconfig validity period must be long-term (-1) or less than 3 days.'], + ['code' => 'Kubeconfig.No.Permission', 'message' => 'No permission to get Kubeconfig of other account.', 'http_code' => 400, 'description' => 'You do not have the permission to obtain Kubeconfig across accounts.'], + ['code' => 'Kubeconfig.Not.Found', 'message' => 'Kubeconfig not found.', 'http_code' => 404, 'description' => ''], + ['code' => 'Kubeconfig.ServerCaNotFound', 'message' => 'Server CA not found.', 'http_code' => 404, 'description' => ''], + ['code' => 'LayerNotFound', 'message' => 'The layer is not found. LayerName: %s.', 'http_code' => 404, 'description' => ''], + ['code' => 'LayerVersionNotFound', 'message' => 'The layer version is not found. LayerName: %s , Version:%d.', 'http_code' => 404, 'description' => ''], + ['code' => 'LayerVersionNotFoundByArn', 'message' => 'The layer version is not found. LayerArn: %s.', 'http_code' => 404, 'description' => ''], + ['code' => 'LimitExceededError', 'message' => 'LimitExceededError: %s', 'http_code' => 400, 'description' => ''], + ['code' => 'LogService.ConfigNameInvalid', 'message' => 'The log collection configuration name is invalid.', 'http_code' => 400, 'description' => 'The log collection configuration name is invalid.'], + ['code' => 'LogService.ConfigQuotaExceed', 'message' => 'The maximum number of Log Service configs is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of Log Service configs is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['code' => 'LogService.InternalError', 'message' => 'An exception occurred while calling Log Service. Please submit a ticket to solve the problem.', 'http_code' => 400, 'description' => 'An exception occurred while calling log service. please join the DingTalk group 32874633 for technical support.'], + ['code' => 'LogService.LogDirInvalid', 'message' => 'The log collection path is invalid.', 'http_code' => 400, 'description' => 'The log collection path is invalid.'], + ['code' => 'LogService.NotAvailable', 'message' => 'Log Service is unavailable. Please activate Log Service first.', 'http_code' => 400, 'description' => 'The log service is not available. Please open the log service first.'], + ['code' => 'LogService.ProjectNumQuotaExceed', 'message' => 'The maximum number of Log Service projects is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of Log Service projects is exceeded, please join the DingTalk group 32874633 for technical support.'], + ['code' => 'Mamespace.Have.No.Applications', 'message' => 'There are no applications in this namespace.', 'http_code' => 400, 'description' => 'There are no applications in this namespace.'], + ['code' => 'Measuredata.Query.Error', 'message' => 'An error occurred while querying measurement information.', 'http_code' => 500, 'description' => 'Error happen when querying measurement information.'], + ['code' => 'Micro.Service.MetaData.NotFound', 'message' => 'The micro service metadata not found {%s}.', 'http_code' => 400, 'description' => ''], + ['code' => 'Micro.Service.NotFound', 'message' => 'The micro service not found {%s}.', 'http_code' => 400, 'description' => ''], + ['code' => 'MinReadyInstanceRatio.Invalid', 'message' => 'The ratio of minimum available instances must be between 0 and 100.', 'http_code' => 400, 'description' => ''], + ['code' => 'MinReadyInstances.Not.Smaller.Replicas', 'message' => 'The minimum number of available instances must be less than the number of application instances.', 'http_code' => 400, 'description' => 'The minimum number of available instances must be less than the number of application instances.'], + ['code' => 'Missing.OOSServiceRole', 'message' => 'You must specify OOSServiceRole. Please refer to the documentation to add OOSServiceRole in the RAM console.', 'http_code' => 400, 'description' => ''], + ['code' => 'Missing.TagKey', 'message' => 'You must specify TagKey.', 'http_code' => 400, 'description' => ''], + ['code' => 'MissingRequiredHeader', 'message' => 'The required HTTP header %s was not specified.', 'http_code' => 400, 'description' => ''], + ['code' => 'MountConflict.ConfigMap', 'message' => 'Conflict detected for ConfigMap path %s.', 'http_code' => 400, 'description' => ''], + ['code' => 'MountConflict.Secret', 'message' => 'Conflict detected for Secret path %s.', 'http_code' => 400, 'description' => 'Secret mount path% s has conflict.'], + ['code' => 'MSEGateway.NotExist', 'message' => 'The MSE gateway not exist.', 'http_code' => 400, 'description' => 'The MSE microservices gateway does not exist.'], + ['code' => 'MseGatewayRoute.DeleteFailed', 'message' => 'Delete MSE gateway route failed.', 'http_code' => 400, 'description' => 'Failed to delete the MSE microservices gateway route.'], + ['code' => 'MseGatewayRule.CreateFailed', 'message' => 'Create MSE Gateway rule failed.', 'http_code' => 400, 'description' => 'Failed to create an MSE microservices gateway route.'], + ['code' => 'MseGatewayRule.UpdateFailed', 'message' => 'Update MSE Gateway rule failed.', 'http_code' => 400, 'description' => 'Failed to update the MSE microservices gateway route.'], + ['code' => 'Namespace.AppExists', 'message' => 'Please delete the application first.', 'http_code' => 400, 'description' => ''], + ['code' => 'No.Permission', 'message' => 'The account has no permission.', 'http_code' => 400, 'description' => ''], + ['code' => 'NoAvailableCluster.NotFound', 'message' => 'No clusters are available for the current region.', 'http_code' => 400, 'description' => ''], + ['code' => 'NoComputeResourceQuota.App.Exceed', 'message' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', 'http_code' => 400, 'description' => 'You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.'], + ['code' => 'NoComputeResourceQuota.Exceed', 'message' => 'Your compute resource is insufficient. please join the DingTalk group 32874633 for technical support.', 'http_code' => 400, 'description' => ''], + ['code' => 'NoComputeResourceQuota.User.Exceed', 'message' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', 'http_code' => 400, 'description' => 'Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.'], + ['code' => 'NotFound.ConfigMap', 'message' => 'The ConfigMap object (ID: %s) does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'NotFound.ConfigMapKey', 'message' => 'The key %s of ConfigMap object (ID: %s) does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'NotFound.Ingress', 'message' => 'Ingress not exist.', 'http_code' => 404, 'description' => 'Ingress does not exist'], + ['code' => 'Notification.Too.Frequent', 'message' => 'Notifications are too frequent.', 'http_code' => 400, 'description' => ''], + ['code' => 'NumberExceed.ResourceIds', 'message' => 'The number of resource IDs cannot exceed 50.', 'http_code' => 400, 'description' => ''], + ['code' => 'NumberExceed.Tags', 'message' => 'The maximum number of tags is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'NumberExceed.Tags', 'message' => 'The specified parameter Tags count exceed.', 'http_code' => 400, 'description' => ''], + ['code' => 'OnDemandConfigNotFound', 'message' => 'on-demand config for %s does not exist', 'http_code' => 404, 'description' => ''], + ['code' => 'Open.EipAndAutoScaling.NotSameTime', 'message' => 'EIP association and auto scaling cannot be enabled at the same time.', 'http_code' => 404, 'description' => ''], + ['code' => 'Operation.Not.Be.Approved.Yet', 'message' => 'This operation is not approved.', 'http_code' => 400, 'description' => ''], + ['code' => 'OperationDenied.SDKNotSupported', 'message' => 'Metrics is not supported in SDK', 'http_code' => 400, 'description' => ''], + ['code' => 'OperationFailed.DauthHttpRequest', 'message' => 'request dauth failed.', 'http_code' => 500, 'description' => ''], + ['code' => 'OperationFailed.RPCError', 'message' => 'Internal RPC request processing error.', 'http_code' => 500, 'description' => 'Internal RPC request processing error.'], + ['code' => 'ORDER.OPEND', 'message' => 'order opend.', 'http_code' => 400, 'description' => ''], + ['code' => 'OSSInvalidRequest', 'message' => 'Error for the OSS event source: %s', 'http_code' => 400, 'description' => ''], + ['code' => 'Package.Version.Too.Long', 'message' => 'The maximum length of package version is exceeded.', 'http_code' => 400, 'description' => 'This package version is too long.'], + ['code' => 'PandoraApplication.MissingJdk', 'message' => 'The Pandora application is missing a JDK component.', 'http_code' => 400, 'description' => ''], + ['code' => 'PandoraApplication.OnlyJdk', 'message' => 'A Pandora application only requires JDK component.', 'http_code' => 400, 'description' => ''], + ['code' => 'PathNotSupported', 'message' => '%s against %s is not supported.', 'http_code' => 404, 'description' => ''], + ['code' => 'Pay.Insufficient.Balance', 'message' => 'pay insufficient balance', 'http_code' => 400, 'description' => ''], + ['code' => 'PhpApplication.MissingPhpRuntime', 'message' => 'A PHP application must contain PHP Runtime.', 'http_code' => 400, 'description' => ''], + ['code' => 'Pipeline.Can.Not.Start.Next.Batch', 'message' => 'You cannot start the next batch under the current status.', 'http_code' => 400, 'description' => 'You can not start next batch in current.'], + ['code' => 'PreconditionFailed', 'message' => 'The resource being modified has been changed.', 'http_code' => 412, 'description' => 'The resource has been changed.'], + ['code' => 'ProjectAlreadyExist', 'message' => 'Project %s already exists.', 'http_code' => 400, 'description' => ''], + ['code' => 'ProjectQuotaExceed', 'message' => 'sls project exceeds maximum value.', 'http_code' => 403, 'description' => ''], + ['code' => 'ProvisionConfigExist', 'message' => 'The provisioned configuration already exists for service %s, alias %s, functions %s.', 'http_code' => 409, 'description' => ''], + ['code' => 'ProvisionConfigNotFound', 'message' => 'The provisioned configuration is not found in service %s, alias %s, or functions %s.', 'http_code' => 404, 'description' => ''], + ['code' => 'PullImageFailed', 'message' => 'Failed to pull image. %s', 'http_code' => 412, 'description' => ''], + ['code' => 'QuotaExceeded.ScalingRule', 'message' => 'The maximum number of application scaling rules is exceeded.', 'http_code' => 400, 'description' => 'The maximum number of application scaling rules is exceeded.'], + ['code' => 'QuotaExceeded.ScalingRuleTime', 'message' => 'The maximum number of scaling policy trigger time is exceeded.', 'http_code' => 400, 'description' => 'Scaling rule time quota exceeded.'], + ['code' => 'QuotaExceeded.SecretDataKey', 'message' => 'The specified key in SecretData exceeded quota [%s].', 'http_code' => 400, 'description' => ''], + ['code' => 'QuotaExceeded.SecretInNamespace', 'message' => 'The specified secret exceeded quota [%s].', 'http_code' => 400, 'description' => ''], + ['code' => 'RequestTimeTooSkewed', 'message' => 'the difference between the request time %s and the current time %s is too large', 'http_code' => 403, 'description' => ''], + ['code' => 'Resouce.no.permission', 'message' => 'You are not authorized to operate on the specified resources.', 'http_code' => 400, 'description' => 'You are not authorized to operate on the specified resources.'], + ['code' => 'ResourceExhausted', 'message' => 'The number of concurrent requests exceeds the limit for the account or function.', 'http_code' => 429, 'description' => 'The number of concurrent requests exceeds the limit for the account or function.'], + ['code' => 'ResourceThrottled', 'message' => 'ResourceThrottled: %s', 'http_code' => 503, 'description' => ''], + ['code' => 'rollback.error', 'message' => 'Failed to roll back.', 'http_code' => 400, 'description' => 'Rollback error'], + ['code' => 'Sae.Errorcode.Ahas.Create.Error.Message', 'message' => 'Failed to create AHAS.', 'http_code' => 400, 'description' => ''], + ['code' => 'Saectl.Execution.Error', 'message' => '%s.', 'http_code' => 500, 'description' => 'saectl execution failed.'], + ['code' => 'Saectl.Timeout', 'message' => '%s.', 'http_code' => 500, 'description' => 'saectl execution timeout'], + ['code' => 'SAERAMAuthorization', 'message' => 'The specified role does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'SecretNameConflict.AlreadyExist', 'message' => 'The specified SecretName [%s] already exist in this namespace.', 'http_code' => 400, 'description' => ''], + ['code' => 'ServerError.CreateSlrFailed', 'message' => 'Failed to create ServiceLinkedRoleForSAE. Please try again.', 'http_code' => 400, 'description' => 'Create ServiceLinkedRoleForSAE failed, please try later.'], + ['code' => 'ServiceAlreadyExists', 'message' => 'applicationName %s already exists', 'http_code' => 409, 'description' => ''], + ['code' => 'ServiceNotEmpty', 'message' => 'The applicationName %s has active %s.', 'http_code' => 409, 'description' => ''], + ['code' => 'ServiceNotFound', 'message' => 'applicationName %s does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'ServiceUnavailable', 'message' => 'The service is temporarily unavailable.', 'http_code' => 503, 'description' => 'Service unavailable.'], + ['code' => 'SignatureNotMatch', 'message' => 'The request signature we calculated does not match the signature you provided. Check your access key and signing method.', 'http_code' => 403, 'description' => 'Invalid request signature.'], + ['code' => 'Slb.NotFound', 'message' => 'The SLB instance does not exist: slbId [%s]', 'http_code' => 400, 'description' => ''], + ['code' => 'Slb.Occupied', 'message' => 'The SLB instance is occupied.', 'http_code' => 400, 'description' => 'This SLB is occupied.'], + ['code' => 'Slb.Tag.Not.Qualified', 'message' => 'The current SLB instance cannot be reused because it may have been occupied by %s.', 'http_code' => 400, 'description' => 'The current SLB instance cannot be reused because it may have been occupied by %s.'], + ['code' => 'SlbAppVSwitch.NotMatch', 'message' => 'The SLB instance does not match the vSwitch of the current application.', 'http_code' => 400, 'description' => 'The specified vSwitch does not exist. Please change the vSwitch.'."\n"], + ['code' => 'SlbHttpsCert.NotConsistent', 'message' => 'The HTTPS listening certificate for each listener must match.', 'http_code' => 400, 'description' => ''], + ['code' => 'SlbHttpsCert.NotFound', 'message' => 'You must configure the certificate before you configure HTTPS listening for the SLB instance.', 'http_code' => 400, 'description' => ''], + ['code' => 'SLBInstanceQuota.OverQuota', 'message' => 'The total number of SLB instances exceeds the quota. Please reduce the instances and try again.', 'http_code' => 400, 'description' => 'The total number of SLB instances exceeds the quota. Please reduce the instances and try again.'], + ['code' => 'SlbListenerPort.NotAvailable', 'message' => 'The SLB listening port is unavailable: slbId [%s], port [%s]', 'http_code' => 400, 'description' => ''], + ['code' => 'SlbListenerType.Invalid', 'message' => 'An SLB listener type error occurred. Only HTTPS and TCP are supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'SlbSpec.NotSupport', 'message' => 'Shared performance SLB instances are not supported.', 'http_code' => 400, 'description' => ''], + ['code' => 'SlbStatus.Invalid', 'message' => 'The SLB instance status is not active.', 'http_code' => 400, 'description' => ''], + ['code' => 'SlbType.Invalid', 'message' => 'An SLB network type error occurred.', 'http_code' => 400, 'description' => ''], + ['code' => 'SlbWarmup.ConfigFailed', 'message' => 'Failed to create slb warmup.', 'http_code' => 400, 'description' => ''], + ['code' => 'SlbWarmup.DeleteFailed', 'message' => 'Failed to delete slb warmup.', 'http_code' => 400, 'description' => ''], + ['code' => 'Sls.Config.Mixed.Multi.Project', 'message' => 'The specified Config contains multiple projects.', 'http_code' => 400, 'description' => ''], + ['code' => 'Sls.Config.User.Defined.Missing.Logstore.Info', 'message' => 'The specified Config is invalid. Both Project and Logstore must be specified.', 'http_code' => 400, 'description' => ''], + ['code' => 'Sls.Config.User.Defined.Missing.Project.Info', 'message' => 'The specified Config is invalid. Both Project and Logstore must be specified.', 'http_code' => 400, 'description' => ''], + ['code' => 'Sls.Logstore.Name.Invalid', 'message' => 'The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".', 'http_code' => 400, 'description' => ''], + ['code' => 'Sls.Logstore.User.Defined.Not.Exist', 'message' => 'The user defined Logstore does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'Sls.Logtail.Name.Invalid', 'message' => 'The specified name of Logtail is invalid. The Logtail name must not contain the prefix sae-.', 'http_code' => 400, 'description' => ''], + ['code' => 'Sls.NotExist', 'message' => 'SLS configuration does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'Sls.Project.Name.Invalid', 'message' => 'The specified project name is invalid. The project name must not contain the prefix "sae-".', 'http_code' => 400, 'description' => ''], + ['code' => 'Sls.Project.User.Defined.Not.Exist', 'message' => 'The user defined project does not exist.', 'http_code' => 400, 'description' => ''], + ['code' => 'Sls.With.Redundant.Logtail.Param', 'message' => 'The specified SLS config contains redundant logtail parameters. When you create SLS resources by using SAE, you do not need to specify the logtail parameter.', 'http_code' => 400, 'description' => ''], + ['code' => 'SLSInvalidRequest', 'message' => 'An exception occurred when calling sls:%s.', 'http_code' => 400, 'description' => 'Exception occurred when calling sls'], + ['code' => 'SSLCert.NotFound', 'message' => 'The specified SSL certificate cannot be found.', 'http_code' => 400, 'description' => ''], + ['code' => 'StatefulAsyncInvocationAlreadyCompleted', 'message' => 'The invocation (status: %s) has already been completed and cannot be stopped.', 'http_code' => 412, 'description' => ''], + ['code' => 'StatefulAsyncInvocationAlreadyExists', 'message' => 'The stateful invocation %s already exists.', 'http_code' => 409, 'description' => ''], + ['code' => 'StatefulAsyncInvocationNotFound', 'message' => 'The stateful invocation for %s:%s:%s does not exist.', 'http_code' => 404, 'description' => ''], + ['code' => 'SubdomainTriggerMappingAlreadyExists', 'message' => 'The subdomain %s already exists.', 'http_code' => 409, 'description' => ''], + ['code' => 'SubdomainTriggerMappingNotFound', 'message' => 'The subdomain %s is not found.', 'http_code' => 404, 'description' => ''], + ['code' => 'SubUserNoPermission', 'message' => 'An error occurred while performing RAM authentication. Go to the RAM console to authorize the specified sub account.', 'http_code' => 401, 'description' => ''], + ['code' => 'System.Upgrading', 'message' => 'The system is being upgraded. Please try again later.', 'http_code' => 400, 'description' => ''], + ['code' => 'Target.Is.Already.Officer', 'message' => 'It is unnecessary to transfer approval permissions to an approver.', 'http_code' => 400, 'description' => ''], + ['code' => 'Target.Is.Operator', 'message' => 'You cannot transfer approval permissions to an operator.', 'http_code' => 400, 'description' => ''], + ['code' => 'TargetServerErrorNeedsRetry', 'message' => 'TargetServerErrorNeedsRetry: %s', 'http_code' => 503, 'description' => ''], + ['code' => 'TooMany.Configmap', 'message' => 'The maximum number of keys or the maximum length of Configmap is exceeded.', 'http_code' => 400, 'description' => ''], + ['code' => 'TriggerAlreadyExists', 'message' => 'The trigger % already exists in service %s or function %s.', 'http_code' => 409, 'description' => ''], + ['code' => 'TriggerNotFound', 'message' => 'The trigger % is not found in service %s or function %s.', 'http_code' => 404, 'description' => ''], + ['code' => 'unsupported.workload', 'message' => 'The specified instances to scale in application does not support the workload', 'http_code' => 400, 'description' => 'The specified instances to scale in application does not support the workload.'], + ['code' => 'UnsupportedMediaType', 'message' => 'The content type must be application/json or application/octet-stream.', 'http_code' => 415, 'description' => 'Invalid requested media type.'], + ['code' => 'user.indebt', 'message' => 'The user has an outstanding payment.', 'http_code' => 400, 'description' => ''], + ['code' => 'VersionAlreadyInUse', 'message' => 'The version %d is already used by the alias %s. Please first delete all the aliases that use this version.', 'http_code' => 409, 'description' => ''], + ['code' => 'VersionIsDeleted', 'message' => 'VersionIsDeleted: %s', 'http_code' => 404, 'description' => ''], + ['code' => 'VersionNotFound', 'message' => 'The version %d of service %s is not found.', 'http_code' => 404, 'description' => ''], + ['code' => 'VersionPublishError', 'message' => 'Failed to publish a version for the service %s. Detail: %s', 'http_code' => 400, 'description' => ''], + ['code' => 'VolumnPath.Conflict', 'message' => 'Conflict between log collection directory and persistent storage directory.', 'http_code' => 400, 'description' => 'Conflict between log collection directory and persistent storage directory.'], + ['code' => 'VpcBindingAlreadyExists', 'message' => 'The VPC binding already exists.', 'http_code' => 409, 'description' => 'The VPC association already exists'], + ['code' => 'VpcBindingNotFound', 'message' => 'The requested VPC binding is not found.', 'http_code' => 404, 'description' => 'The requested VPC association does not exist.'], + ['code' => 'vswitch.not.exist', 'message' => 'The specified vSwitch does not exist.', 'http_code' => 400, 'description' => 'The specified vSwitch does not exist. Please change the vSwitch.'], + ['code' => 'Vswitch.UpdateFail', 'message' => 'vswitch update fail.', 'http_code' => 400, 'description' => ''], + ['code' => 'WarApplication.MissingJdkWebcontainer', 'message' => 'A War application must contain JDK and Tomcat.', 'http_code' => 400, 'description' => ''], + ['code' => 'Saectl.Execution.Error', 'message' => '%s.', 'http_code' => 400, 'description' => 'saectl execution failed.'], + ], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'ListAppEvents'], + ['description' => 'OpenAPI offline', 'api' => 'ListAppEvents'], + ['description' => 'OpenAPI offline', 'api' => 'ListChangeOrders'], + ['description' => 'OpenAPI offline', 'api' => 'ListNamespaceChangeOrders'], + ['description' => 'OpenAPI offline', 'api' => 'ListAppEvents'], + ], + 'createdAt' => '2026-04-13T02:34:54.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], ], - 'schemes' => [ - 'http', - 'https', + 'createdAt' => '2026-03-05T03:34:48.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'DeployApplication'], + ['description' => 'OpenAPI offline', 'api' => 'CreateApplication'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationConfig'], + ['description' => 'OpenAPI offline', 'api' => 'DeployApplication'], + ['description' => 'OpenAPI offline', 'api' => 'CreateApplication'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationConfig'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationConfig'], + ['description' => 'OpenAPI offline', 'api' => 'DeployApplication'], + ['description' => 'OpenAPI offline', 'api' => 'CreateApplication'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2026-03-04T03:39:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Response parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2026-02-25T06:15:36.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'ListApplications'], + ['description' => 'OpenAPI offline', 'api' => 'CreateApplication'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationConfig'], + ['description' => 'OpenAPI offline', 'api' => 'DeployApplication'], + ['description' => 'OpenAPI offline', 'api' => 'DeployApplication'], + ['description' => 'OpenAPI offline', 'api' => 'CreateApplication'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationConfig'], + ['description' => 'OpenAPI offline', 'api' => 'ListApplications'], + ['description' => 'OpenAPI offline', 'api' => 'DeployApplication'], + ['description' => 'OpenAPI offline', 'api' => 'CreateApplication'], + ], + 'createdAt' => '2026-01-13T08:52:08.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationInstances'], ], - 'security' => [ - [ - 'AK' => [], - ], + 'createdAt' => '2025-12-29T08:08:56.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'UpdateApplicationVswitches'], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ + 'createdAt' => '2025-12-29T02:31:16.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'CreateApplication'], + ['description' => 'OpenAPI offline', 'api' => 'CreateApplication'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateApplicationVswitches'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationInstances'], + ], + 'createdAt' => '2025-12-25T07:49:55.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'DeployApplication'], + ['description' => 'OpenAPI offline', 'api' => 'CreateApplication'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateWebCustomDomain'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateWebApplicationTrafficConfig'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateWebApplicationScalingConfig'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateWebApplication'], + ['description' => 'OpenAPI offline', 'api' => 'StopWebApplication'], + ['description' => 'OpenAPI offline', 'api' => 'StartWebApplication'], + ['description' => 'OpenAPI offline', 'api' => 'PublishWebApplicationRevision'], + ['description' => 'OpenAPI offline', 'api' => 'ListWebCustomDomains'], + ], + 'createdAt' => '2025-12-25T03:02:51.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationSlbs'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationSlbs'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationSlbs'], + ], + 'createdAt' => '2025-12-23T07:28:24.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'DescribeApplicationSlbs'], + ], + 'createdAt' => '2025-12-23T07:28:23.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'UpdateNamespaceSlsConfigs'], + ], + 'createdAt' => '2025-12-22T06:16:48.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ], + 'createdAt' => '2025-12-22T05:47:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'OpenAPI offline', 'api' => 'RescaleApplicationVertically'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateAppMode'], + ['description' => 'OpenAPI offline', 'api' => 'RescaleApplicationVertically'], + ['description' => 'OpenAPI offline', 'api' => 'RescaleApplicationVertically'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateAppMode'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateAppMode'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateAppMode'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateAppMode'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateAppMode'], + ['description' => 'OpenAPI offline', 'api' => 'UpdateAppMode'], + ], + 'createdAt' => '2025-12-19T07:00:08.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2025-12-05T01:42:14.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2025-12-01T03:12:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationInstances'], + ], + 'createdAt' => '2025-12-01T01:47:33.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-11-27T05:53:16.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'RescaleApplicationVertically'], + ['description' => 'Request parameters changed', 'api' => 'UpdateApplicationVswitches'], + ], + 'createdAt' => '2025-11-26T04:58:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeNamespaceResources'], + ], + 'createdAt' => '2025-11-04T07:29:33.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-11-04T03:35:18.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeInstanceLog'], + ], + 'createdAt' => '2025-10-30T05:34:31.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeNamespaceResources'], + ], + 'createdAt' => '2025-10-28T12:49:40.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-10-24T09:36:51.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateIngress'], + ['description' => 'Response parameters changed', 'api' => 'DescribeIngress'], + ['description' => 'Request parameters changed', 'api' => 'UpdateIngress'], + ], + 'createdAt' => '2025-10-24T08:31:40.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'RescaleApplicationVertically'], + ], + 'createdAt' => '2025-10-15T07:13:17.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-10-13T09:41:27.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-09-29T09:27:55.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-09-18T11:31:48.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateJob'], + ['description' => 'Request parameters changed', 'api' => 'DescribeConfigurationPrice'], + ['description' => 'Response parameters changed', 'api' => 'DescribeJob'], + ['description' => 'Request parameters changed', 'api' => 'UpdateJob'], + ], + 'createdAt' => '2025-09-08T05:48:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-07-30T07:00:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-07-29T05:34:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'UpdateAppMode'], + ], + 'createdAt' => '2025-07-23T09:05:36.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'ListIngresses'], + ], + 'createdAt' => '2025-07-14T12:57:42.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ListJobs'], + ], + 'createdAt' => '2025-07-10T07:33:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Response parameters changed', 'api' => 'GetApplication'], + ['description' => 'Request parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2025-07-04T06:13:17.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRules'], + ], + 'createdAt' => '2025-06-27T03:15:10.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2025-06-24T11:14:56.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ListAppEvents'], + ], + 'createdAt' => '2025-06-20T10:10:21.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRules'], + ], + 'createdAt' => '2025-06-09T08:45:02.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-05-29T01:55:11.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-05-26T08:50:44.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ], + 'createdAt' => '2025-05-22T02:32:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ], + 'createdAt' => '2025-05-22T02:27:41.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'QueryResourceStatics'], + ], + 'createdAt' => '2025-05-22T02:23:37.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'AbortChangeOrder'], + ], + 'createdAt' => '2025-05-19T10:46:04.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationGroups'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationSlbs'], + ['description' => 'Response parameters changed', 'api' => 'DescribeChangeOrder'], + ], + 'createdAt' => '2025-05-13T11:34:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'GetWebshellToken'], + ], + 'createdAt' => '2025-05-07T09:46:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-04-25T11:27:39.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeConfigurationPrice'], + ['description' => 'Response parameters changed', 'api' => 'QueryResourceStatics'], + ], + 'createdAt' => '2025-04-22T01:55:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Response parameters changed', 'api' => 'ListApplications'], + ['description' => 'Request parameters changed', 'api' => 'RescaleApplicationVertically'], + ], + 'createdAt' => '2025-04-07T03:09:41.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeApplicationInstances'], + ], + 'createdAt' => '2025-04-01T07:12:45.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'GetChangeOrderMetric'], + ['description' => 'Request parameters changed', 'api' => 'ListChangeOrders'], + ], + 'createdAt' => '2025-04-01T07:07:09.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationInstances'], + ], + 'createdAt' => '2025-04-01T06:37:18.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateIngress'], + ['description' => 'Response parameters changed', 'api' => 'DescribeIngress'], + ['description' => 'Response parameters changed', 'api' => 'ListIngresses'], + ['description' => 'Request parameters changed', 'api' => 'UpdateIngress'], + ], + 'createdAt' => '2025-03-21T02:12:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2025-03-14T02:30:54.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRule'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRules'], + ], + 'createdAt' => '2025-03-14T02:09:32.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ], + 'createdAt' => '2025-03-13T11:49:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2025-03-12T08:03:40.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2025-02-27T03:42:56.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeConfigurationPrice'], + ], + 'createdAt' => '2025-02-27T01:45:46.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationSlbs'], + ['description' => 'Response parameters changed', 'api' => 'ListIngresses'], + ], + 'createdAt' => '2025-02-26T08:54:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-02-13T01:46:29.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-01-20T11:43:02.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-01-13T06:08:11.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateIngress'], + ['description' => 'Response parameters changed', 'api' => 'DescribeIngress'], + ], + 'createdAt' => '2025-01-10T02:31:07.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2025-01-02T06:59:48.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'GetWebshellToken'], + ], + 'createdAt' => '2025-01-02T02:46:10.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeApplicationInstances'], + ], + 'createdAt' => '2024-12-26T11:35:19.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2024-12-26T08:39:12.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationInstances'], + ], + 'createdAt' => '2024-12-20T14:02:59.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Request parameters changed', 'api' => 'DescribeInstanceLog'], + ], + 'createdAt' => '2024-12-17T11:33:51.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2024-12-10T09:29:39.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2024-11-08T03:12:08.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeIngress'], + ], + 'createdAt' => '2024-11-06T01:59:25.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateIngress'], + ['description' => 'Response parameters changed', 'api' => 'DescribeIngress'], + ['description' => 'Request parameters changed', 'api' => 'UpdateIngress'], + ], + 'createdAt' => '2024-10-29T08:50:58.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'QueryResourceStatics'], + ], + 'createdAt' => '2024-10-28T12:23:25.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeConfigurationPrice'], + ], + 'createdAt' => '2024-10-17T05:36:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2024-10-11T03:29:50.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'RescaleApplicationVertically'], + ], + 'createdAt' => '2024-09-24T01:48:11.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2024-09-13T02:14:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2024-09-12T03:25:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateIngress'], + ['description' => 'Response parameters changed', 'api' => 'DescribeIngress'], + ['description' => 'Request parameters changed', 'api' => 'UpdateIngress'], + ], + 'createdAt' => '2024-09-11T08:46:03.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateApplicationScalingRule'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRule'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRules'], + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'UpdateApplicationScalingRule'], + ], + 'createdAt' => '2024-08-30T09:17:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeWebCustomDomain'], + ['description' => 'Request parameters changed', 'api' => 'ListWebCustomDomains'], + ], + 'createdAt' => '2024-08-28T10:51:52.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2024-08-28T07:05:23.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateIngress'], + ['description' => 'Response parameters changed', 'api' => 'DescribeIngress'], + ['description' => 'Request parameters changed', 'api' => 'UpdateIngress'], + ], + 'createdAt' => '2024-08-21T01:31:51.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2024-08-12T10:24:39.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'BindSlb'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationSlbs'], + ], + 'createdAt' => '2024-08-07T11:18:44.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationSlbs'], + ], + 'createdAt' => '2024-06-18T11:54:38.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationSlbs'], + ], + 'createdAt' => '2024-05-30T07:26:35.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2024-05-24T09:21:21.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Response parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2024-05-21T02:17:18.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeAppServiceDetail'], + ], + 'createdAt' => '2024-05-20T11:58:47.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'BatchStartApplications'], + ['description' => 'Request parameters changed', 'api' => 'BatchStopApplications'], + ], + 'createdAt' => '2024-04-12T01:57:24.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'GetArmsTopNMetric'], + ['description' => 'Request parameters changed', 'api' => 'GetAvailabilityMetric'], + ['description' => 'Request parameters changed', 'api' => 'GetChangeOrderMetric'], + ['description' => 'Request parameters changed', 'api' => 'GetScaleAppMetric'], + ['description' => 'Request parameters changed', 'api' => 'GetWarningEventMetric'], + ], + 'createdAt' => '2024-03-28T05:29:44.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Request parameters changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2024-01-22T11:45:39.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeConfigurationPrice'], + ], + 'createdAt' => '2023-12-06T09:23:42.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2023-10-24T12:02:55.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ], + 'createdAt' => '2023-10-24T10:42:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Response parameters changed', 'api' => 'ListIngresses'], + ], + 'createdAt' => '2023-09-25T08:35:21.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ], + 'createdAt' => '2023-06-07T08:56:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ], + 'createdAt' => '2023-06-07T08:48:47.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ], + 'createdAt' => '2023-06-05T02:22:43.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRule'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRules'], + ], + 'createdAt' => '2023-05-31T11:10:59.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'CreateApplicationScalingRule'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRule'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRules'], + ['description' => 'Response parameters changed', 'api' => 'UpdateApplicationScalingRule'], + ], + 'createdAt' => '2023-05-24T09:15:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateSecret'], + ['description' => 'Request parameters changed', 'api' => 'UpdateSecret'], + ], + 'createdAt' => '2023-05-24T05:53:56.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'CreateApplicationScalingRule'], + ], + 'createdAt' => '2023-05-23T09:39:04.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeIngress'], + ], + 'createdAt' => '2023-05-08T05:55:34.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Response parameters changed', 'api' => 'ListJobs'], + ['description' => 'Request parameters changed', 'api' => 'RestartApplication'], + ], + 'createdAt' => '2023-03-30T11:11:55.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeApplicationImage'], + ['description' => 'Error codes changed', 'api' => 'DescribeInstanceSpecifications'], + ], + 'createdAt' => '2023-03-24T08:24:04.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeEdasContainers'], + ], + 'createdAt' => '2023-03-24T08:24:02.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateNamespace'], + ['description' => 'Request parameters changed', 'api' => 'UpdateNamespace'], + ], + 'createdAt' => '2023-03-24T08:23:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'ListGreyTagRoute'], + ], + 'createdAt' => '2023-01-09T07:10:59.000Z', + 'description' => '增加serviceName参数', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DeleteNamespace'], + ['description' => 'Request parameters changed', 'api' => 'DescribeNamespace'], + ], + 'createdAt' => '2023-01-04T08:04:42.000Z', + 'description' => '修改必填属性', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateGreyTagRoute'], + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'CreateNamespace'], + ['description' => 'Request parameters changed', 'api' => 'DeleteNamespace'], + ['description' => 'Response parameters changed', 'api' => 'DescribeGreyTagRoute'], + ['description' => 'Request parameters changed, Response parameters changed, Error codes changed', 'api' => 'DescribeNamespace'], + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeNamespaceList'], + ['description' => 'Request parameters changed, Response parameters changed', 'api' => 'DescribeNamespaceResources'], + ['description' => 'Response parameters changed', 'api' => 'DescribeNamespaces'], + ['description' => 'Response parameters changed', 'api' => 'ListGreyTagRoute'], + ], + 'createdAt' => '2022-12-29T03:14:56.000Z', + 'description' => '接口优化', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateApplication'], + ['description' => 'Error codes changed', 'api' => 'CreateApplicationScalingRule'], + ['description' => 'Error codes changed', 'api' => 'CreateJob'], + ['description' => 'Error codes changed', 'api' => 'DeployApplication'], + ['description' => 'Error codes changed', 'api' => 'EnableApplicationScalingRule'], + ['description' => 'Error codes changed', 'api' => 'ReduceApplicationCapacityByInstanceIds'], + ['description' => 'Error codes changed', 'api' => 'RescaleApplication'], + ['description' => 'Error codes changed', 'api' => 'RescaleApplicationVertically'], + ['description' => 'Error codes changed', 'api' => 'RestartApplication'], + ['description' => 'Error codes changed', 'api' => 'RestartInstances'], + ], + 'createdAt' => '2022-12-26T09:20:16.000Z', + 'description' => '更新错误码说明', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed, Response parameters changed', 'api' => 'CreateApplicationScalingRule'], + ['description' => 'Response parameters changed', 'api' => 'DeleteApplicationScalingRule'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRule'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationScalingRules'], + ['description' => 'Response parameters changed', 'api' => 'DisableApplicationScalingRule'], + ['description' => 'Response parameters changed', 'api' => 'EnableApplicationScalingRule'], + ['description' => 'Response parameters changed', 'api' => 'UpdateApplicationScalingRule'], + ], + 'createdAt' => '2022-12-19T02:16:51.000Z', + 'description' => '给ApplicationScalingRule相关接口的返回结构增加ErrorCode等信息', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'UpdateSecret'], + ], + 'createdAt' => '2022-12-05T08:03:12.000Z', + 'description' => '修复 Secret 返回类型', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ], + 'createdAt' => '2022-12-02T03:33:51.000Z', + 'description' => '发布保密字典资源', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateIngress'], + ['description' => 'Response parameters changed', 'api' => 'DescribeIngress'], + ['description' => 'Response parameters changed', 'api' => 'ListIngresses'], + ['description' => 'Request parameters changed', 'api' => 'UpdateIngress'], + ], + 'createdAt' => '2022-12-02T02:47:31.000Z', + 'description' => 'ALB增加多证书参数', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'CreateJob'], + ['description' => 'OpenAPI offline', 'api' => 'CreateSecret'], + ['description' => 'OpenAPI offline', 'api' => 'DeleteSecret'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Request parameters changed', 'api' => 'DescribeAppServiceDetail'], + ['description' => 'Response parameters changed', 'api' => 'DescribeJob'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeSecret'], + ['description' => 'Request parameters changed', 'api' => 'ExecJob'], + ], + 'createdAt' => '2022-11-22T13:30:21.000Z', + 'description' => '【新功能】:应用/任务支持Python zip包直接部署,降低用户制作Docker镜像门槛。【新功能】:支持保密字典(K8s Secret),支持跨账号通过用户名密码拉取镜像。【新功能】:支持应用停止状态下修改部署配置。【体验优化】:应用切换 vswitch免重启功能优化,对所有实例立即生效。【体验优化】:优化SLB发布单类型,区分绑定及修改操作,并记录SLB的ip信息。【体验优化】:日志采集到SLS增加应用名tag。【体验优化】:任务模板列表中新增任务执行状态。【体验优化】:优化任务执行链路耗时,减少冷启动对任务创建的影响。【bugfix】:修复偶发情况下ConfigMap配置失败问题。', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'UpdateApplicationScalingRule'], + ], + 'createdAt' => '2022-11-09T01:55:39.000Z', + 'description' => '增加异常状态码', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'ListAppServicesPage'], + ['description' => 'Request parameters changed', 'api' => 'ListAppVersions'], + ['description' => 'Request parameters changed', 'api' => 'TagResources'], + ], + 'createdAt' => '2022-10-25T08:49:21.000Z', + 'description' => '修改字段属性', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeNamespaces'], + ], + 'createdAt' => '2022-10-13T13:05:10.000Z', + 'description' => '更新Namespace字段可见性', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ], + 'createdAt' => '2022-08-02T06:11:33.000Z', + 'description' => 'Delete kafka params', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'DescribeConfigurationPrice'], + ], + 'createdAt' => '2022-07-08T07:35:51.000Z', + 'description' => '更新Job询价', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'StartApplication'], + ], + 'createdAt' => '2022-05-27T03:01:34.000Z', + 'description' => 'ErrorCode 更新', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'ListApplications'], + ], + 'createdAt' => '2022-05-26T03:01:50.000Z', + 'description' => '增加错误码说明', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateApplication'], + ['description' => 'Error codes changed', 'api' => 'DeployApplication'], + ], + 'createdAt' => '2022-05-16T11:16:34.000Z', + 'description' => '增加 ACREE 错误码', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'UpdateNamespace'], + ], + 'createdAt' => '2022-04-11T11:40:59.000Z', + 'description' => '更改字段是否必填', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateNamespace'], + ], + 'createdAt' => '2022-04-11T08:51:41.000Z', + 'description' => '修改字段是否必选', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DeployApplication'], + ], + 'createdAt' => '2022-03-17T11:01:04.000Z', + 'description' => '增加错误码说明', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed, Request parameters changed', 'api' => 'CreateApplication'], + ['description' => 'Request parameters changed', 'api' => 'DeployApplication'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Response parameters changed', 'api' => 'DescribeChangeOrder'], + ['description' => 'Response parameters changed', 'api' => 'DescribeGreyTagRoute'], + ['description' => 'Response parameters changed', 'api' => 'ListAppServicesPage'], + ], + 'createdAt' => '2022-03-17T07:57:44.000Z', + 'description' => '发布鹿鼎山迭代的接口', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'BindSlb'], + ], + 'createdAt' => '2022-02-25T09:30:52.000Z', + 'description' => 'vswitch状态码问题修复', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'DescribeNamespaces'], + ], + 'createdAt' => '2022-02-21T04:51:35.000Z', + 'description' => '调整超时时间', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'RollbackApplication'], + ], + 'createdAt' => '2022-02-21T02:54:50.000Z', + 'description' => '状态码修改', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'EnableApplicationScalingRule'], + ], + 'createdAt' => '2022-02-16T02:50:21.000Z', + 'description' => '新增异常状态码说明', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateApplication'], + ['description' => 'Error codes changed', 'api' => 'DeployApplication'], + ['description' => 'Error codes changed', 'api' => 'RollbackApplication'], + ], + 'createdAt' => '2022-01-18T06:13:34.000Z', + 'description' => 'Support describe price.', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateApplication'], + ], + 'createdAt' => '2021-12-28T04:34:26.000Z', + 'description' => '创建应用,SDK 开放 ACREE', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed, Error codes changed', 'api' => 'DescribeRegions'], + ], + 'createdAt' => '2021-12-01T09:28:33.000Z', + 'description' => '错误码完善', + ], + [ + 'apis' => [ + ['description' => 'Request parameters changed', 'api' => 'CreateConfigMap'], + ['description' => 'Request parameters changed', 'api' => 'UpdateConfigMap'], + ], + 'createdAt' => '2021-11-25T02:55:07.000Z', + 'description' => '修复创建和修改configMap入参说明', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DeployApplication'], + ['description' => 'OpenAPI offline', 'api' => 'DescribeAppServiceDetail'], + ['description' => 'OpenAPI offline', 'api' => 'ListAppServicesPage'], + ['description' => 'Response parameters changed', 'api' => 'RollbackApplication'], + ], + 'createdAt' => '2021-11-18T05:39:42.000Z', + 'description' => '上线操作审批功能', + ], + [ + 'apis' => [ + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationConfig'], + ['description' => 'Response parameters changed', 'api' => 'DescribeApplicationStatus'], + ['description' => 'Response parameters changed', 'api' => 'DescribeChangeOrder'], + ], + 'createdAt' => '2021-11-18T05:39:23.000Z', + 'description' => '增加发布单子状态', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateApplication'], + ['description' => 'Error codes changed', 'api' => 'DeployApplication'], + ['description' => 'Error codes changed', 'api' => 'RescaleApplication'], + ], + 'createdAt' => '2021-11-18T05:39:03.000Z', + 'description' => '修改eip相关错误码', + ], + [ + 'apis' => [ + ['description' => 'Error codes changed', 'api' => 'CreateGreyTagRoute'], + ['description' => 'Error codes changed', 'api' => 'UpdateGreyTagRoute'], + ['description' => 'Error codes changed', 'api' => 'UpdateIngress'], + ], + 'createdAt' => '2021-11-18T05:35:06.000Z', + 'description' => '异常状态码code修正', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '350', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeJob'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteIngress'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteNamespace'], + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartApplication'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateApplicationDescription'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteConfigMap'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateApplication'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNamespacedConfigMaps'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeInstanceLog'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeJobHistory'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeJobStatus'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAppVersions'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateAppSecurityGroup'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateJob'], + ['threshold' => '350', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAppServicesPage'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSecret'], + ['threshold' => '30', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeConfigurationPrice'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteGreyTagRoute'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateApplicationVswitches'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateNamespaceVpc'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeConfigMap'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListJobs'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BatchStopApplications'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ConfirmPipelineBatch'], + ['threshold' => '1000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartApplication'], + ['threshold' => '5000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationGroups'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BindSlb'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DowngradeApplicationApmService'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RescaleApplicationVertically'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ReduceApplicationCapacityByInstanceIds'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateGreyTagRoute'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListSecrets'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateApplicationScalingRule'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateJob'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeGreyTagRoute'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableApplicationScalingRule'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListNamespaceChangeOrders'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateNamespace'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RescaleApplication'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateIngress'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNamespaceList'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeSecret'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpgradeApplicationApmService'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableArms'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AbortAndRollbackChangeOrder'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateNamespace'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'QueryResourceStatics'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteApplicationScalingRule'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SuspendJob'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetChangeOrderMetric'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateSecret'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateApplicationScalingRule'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RollbackApplication'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetWarningEventMetric'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RestartInstances'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateConfigMap'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListAppEvents'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'BatchStartApplications'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateConfigMap'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateGreyTagRoute'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableApplicationScalingRule'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AbortChangeOrder'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteApplication'], + ['threshold' => '350', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationScalingRules'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetArmsTopNMetric'], + ['threshold' => '5000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationInstances'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeployApplication'], + ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationScalingRule'], + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeChangeOrder'], + ['threshold' => '70', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationSlbs'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteHistoryJob'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UnbindSlb'], + ['threshold' => '800', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationConfig'], + ['threshold' => '2000', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], + ['threshold' => '500', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeApplicationStatus'], + ['threshold' => '400', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ExecJob'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeIngress'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeNamespaceResources'], + ['threshold' => '40', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteJob'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetAvailabilityMetric'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetScaleAppMetric'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListLogConfigs'], + ['threshold' => '350', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeAppServiceDetail'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateIngress'], + ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListApplications'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopApplication'], + ['threshold' => '20', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetWebshellToken'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSecret'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListGreyTagRoute'], + ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribePipeline'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListIngresses'], + ], + ], + 'ram' => [ + 'productCode' => 'SAE', + 'productName' => 'Serverless App Engine', + 'ramCodes' => ['sae'], + 'ramLevel' => 'RESOURCE', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'StartApplication', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '100734', - 'abilityTreeNodes' => [ - 'FEATUREsaeN5OIM9', + 'ramAction' => [ + 'action' => 'sae:StartApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', + [ + 'apiName' => 'UpdateApplicationDescription', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:UpdateApplicationDescription', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Jdk', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Java development kit (JDK) on which the deployment package of the application depends. The following versions are supported:'."\n" - ."\n" - .'* **Open JDK 8**'."\n" - .'* **Open JDK 7**'."\n" - .'* **Dragonwell 11**'."\n" - .'* **Dragonwell 8**'."\n" - .'* **openjdk-8u191-jdk-alpine3.9**'."\n" - .'* **openjdk-7u201-jdk-alpine3.9**'."\n" - ."\n" - .'This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Open JDK 8', + ], + [ + 'apiName' => 'StopWebApplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:StopWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'WebContainer', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the Tomcat container on which the deployment package depends. The following versions are supported:'."\n" - ."\n" - .'* **apache-tomcat-7.0.91**'."\n" - .'* **apache-tomcat-8.5.42**'."\n" - ."\n" - .'This parameter is not returned if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'apache-tomcat-7.0.91', + ], + [ + 'apiName' => 'ListApplicationsForSwimmingLane', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListApplicationsForSwimmingLane', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PackageVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the deployment package. This parameter is required if you set **PackageType** to **FatJar**, **War**, or **PythonZip**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1.0.1', + ], + [ + 'apiName' => 'CreateConfigMap', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateConfigMap', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PackageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'The address of the deployment package. This parameter is required if you set **PackageType** to **FatJar**, **War**, or **PythonZip**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar', + ], + [ + 'apiName' => 'UpdateNamespace', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ImageUrl', - 'in' => 'query', - 'schema' => [ - 'description' => 'The URL of the image. This parameter is returned only if the **PackageType** parameter is set to **Image**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1', + ], + [ + 'apiName' => 'ListSwimmingLaneGatewayRoutes', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListSwimmingLaneGatewayRoutes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Command', - 'in' => 'query', - 'schema' => [ - 'description' => 'The command that is used to start the image. The command must be an existing executable object in the container. Example:'."\n" - ."\n" - .' command:'."\n" - .' - echo'."\n" - .' - abc'."\n" - .' - >'."\n" - .' - file0'."\n" - ."\n" - .'In this example, the Command parameter is set to `Command="echo", CommandArgs=["abc", ">", "file0"]`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'echo', + ], + [ + 'apiName' => 'UpdateWebApplicationTrafficConfig', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateWebApplicationTrafficConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'CommandArgs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The parameters of the image startup command. The CommandArgs parameter specifies the parameters that are required for the **Command** parameter. The name must meet the following format requirements:'."\n" - ."\n" - .'`["a","b"]`'."\n" - ."\n" - .'In the preceding example, the CommandArgs parameter is set to `CommandArgs=["abc", ">", "file0"]`. The data type of `["abc", ">", "file0"]` must be an array of strings in the JSON format. This parameter is optional.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '["a","b"]', + ], + [ + 'apiName' => 'CreateApplicationScalingRule', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Envs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The environment variables. You can configure custom environment variables or reference a ConfigMap. If you want to reference a ConfigMap, you must first create a ConfigMap. For more information, see [CreateConfigMap](~~176914~~). Valid values:'."\n" - ."\n" - .'* Configure custom environment variables'."\n" - ."\n" - .' * **name**: the name of the environment variable.'."\n" - .' * **value**: the value of the environment variable.'."\n" - ."\n" - .'* Reference ConfigMap'."\n" - ."\n" - .' * **name**: the name of the environment variable. You can reference one or all keys. If you want to reference all keys, specify `sae-sys-configmap-all-<ConfigMap name>`. Example: `sae-sys-configmap-all-test1`.'."\n" - .' * **valueFrom**: the reference of the environment variable. Set the value to `configMapRef`.'."\n" - .' * **configMapId**: the ConfigMap ID.'."\n" - .' * **key**: the key. If you want to reference all keys, do not configure this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"name":"envtmp","value":"0"}]', + ], + [ + 'apiName' => 'UpdateWebCustomDomain', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateWebCustomDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:namespace/{#NamespaceId}'], ], ], - [ - 'name' => 'CustomHostAlias', - 'in' => 'query', - 'schema' => [ - 'description' => 'The custom mappings between hostnames and IP addresses in the container. Valid values:'."\n" - ."\n" - .'* **hostName**: the domain name or hostname.'."\n" - .'* **ip**: the IP address.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"hostName":"samplehost","ip":"127.0.0.1"}]', + ], + [ + 'apiName' => 'UpgradeApplicationApmService', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:UpgradeApplicationApmService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'JarStartOptions', - 'in' => 'query', - 'schema' => [ - 'description' => 'The option settings in the JAR package. The settings are used to start the application container. The default startup command for application deployment is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'custom-option', + ], + [ + 'apiName' => 'DescribeApplicationConfig', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationConfig', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'JarStartArgs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The arguments in the JAR package. The arguments are used to start the application container. The default startup command is `$JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs`.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '-Xms4G -Xmx4G', + ], + [ + 'apiName' => 'DescribeWebApplication', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EdasContainerVersion', - 'in' => 'query', - 'schema' => [ - 'description' => 'The version of the container, such as Ali-Tomcat, in which an application developed based on High-speed Service Framework (HSF) is deployed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3.5.3', + ], + [ + 'apiName' => 'CreateOrUpdateSwimmingLaneGroup', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateOrUpdateSwimmingLaneGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'SlsConfigs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations of Log Service.'."\n" - ."\n" - .'* To use Log Service resources that are automatically created by SAE, set this parameter to `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`.'."\n" - .'* To use custom Log Service resources, set this parameter to `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" - ."\n" - .'The following parameters are involved:'."\n" - ."\n" - .'* **projectName**: the name of the Log Service project.'."\n" - .'* **logDir**: the path in which logs are stored.'."\n" - .'* **logType**: the log type. **stdout**: the standard output log of the container. You can specify only one stdout value for this parameter. If you leave this parameter empty, file logs are collected.'."\n" - .'* **logstoreName**: the name of the Logstore in Log Service.'."\n" - .'* **logtailName**: the name of the Logtail configuration in Log Service. If you do not configure this parameter, a new Logtail configuration is created.'."\n" - ."\n" - .'If you do not need to modify the logging configurations when you deploy the application, configure the **SlsConfigs** parameter only in the first request. You do not need to include this parameter in subsequent requests. If you no longer need to use Log Service, leave the **SlsConfigs** parameter empty in the request.'."\n" - ."\n" - .'> A Log Service project that is automatically created by SAE when you create an application is deleted when the application is deleted. Therefore, when you create an application, you cannot select a Log Service project that is automatically created by SAE for log collection.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]', + ], + [ + 'apiName' => 'ListWebApplications', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListWebApplications', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Timezone', - 'in' => 'query', - 'schema' => [ - 'description' => 'The time zone. Default value: **Asia/Shanghai**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Asia/Shanghai', + ], + [ + 'apiName' => 'UnbindNlb', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:UnbindNlb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'NasId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the Apsara File Storage NAS file system. If you do not need to modify the NAS configurations when you deploy the application, configure **NasId** only in the first request. If you no longer need to use NAS, leave **NasId** empty in the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10d3b4****', + ], + [ + 'apiName' => 'ListAppServices', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListAppServices', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'MountHost', - 'in' => 'query', - 'schema' => [ - 'description' => 'The mount target of the NAS file system in the VPC where the application is deployed. If you do not need to modify this configuration during the deployment, configure the **MountHost** parameter only in the first request. You do not need to include this parameter in subsequent requests. If you need to remove this configuration, leave the **MountHost** parameter empty in the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10d3b4bc9****.com', + ], + [ + 'apiName' => 'DescribeNamespaces', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeNamespaces', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'MountDesc', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations for mounting the NAS file system. If you do not need to modify the NAS configurations when you deploy the application, configure **MountDesc** only in the first request. If you no longer need to use NAS, leave **MountDesc** empty in the request.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{mountPath: "/tmp", nasPath: "/"}]', + ], + [ + 'apiName' => 'DescribeSwimmingLane', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeSwimmingLane', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PostStart', - 'in' => 'query', - 'schema' => [ - 'description' => 'The script to be run after the container is started. Example: `{"exec":{"command":\\["sh","-c","echo hello"\\]}}`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', + ], + [ + 'apiName' => 'BindSlb', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:BindSlb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PreStop', - 'in' => 'query', - 'schema' => [ - 'description' => 'The script that is run before the container is stopped. Example: `{"exec":{"command":\\["sh","-c","echo hello"\\]}}`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"exec":{"command":["sh","-c","echo hello"]}}', + ], + [ + 'apiName' => 'DescribeWebApplicationTrafficConfig', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebApplicationTrafficConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'WarStartOptions', - 'in' => 'query', - 'schema' => [ - 'description' => 'The startup command of the WAR package. For information about how to configure the startup command, see [Configure startup commands](~~96677~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'CATALINA_OPTS=\\"$CATALINA_OPTS $Options\\" catalina.sh run', + ], + [ + 'apiName' => 'ListAppEvents', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListAppEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ConfigMapMountDesc', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The description of the **ConfigMap** instance mounted to the application. Use configurations created on the Configuration Items page to configure containers. The following parameters are involved:'."\n" - ."\n" - .'* **congfigMapId**: the ID of the ConfigMap instance. You can call the [ListNamespacedConfigMaps](~~176917~~) operation to obtain the ID.'."\n" - .'* **key**: the key.'."\n" - ."\n" - .'> You can use the `sae-sys-configmap-all` key to mount all keys.'."\n" - ."\n" - .'* **mountPath**: the mount path.', - 'type' => 'string', - 'required' => false, - 'example' => '[{"configMapId":16,"key":"test","mountPath":"/tmp"}]', + ], + [ + 'apiName' => 'DisableArms', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:DisableArms', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TerminationGracePeriodSeconds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period for a graceful shutdown. Default value: 30. Unit: seconds. Valid values: 1 to 300.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'maximum' => '6000', - 'minimum' => '0', - 'example' => '10', - 'default' => '30', + ], + [ + 'apiName' => 'ResumeTraffic', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:ResumeTraffic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PhpConfigLocation', - 'in' => 'query', - 'schema' => [ - 'description' => 'The path on which the PHP configuration file for application startup is mounted. Make sure that the PHP server uses this configuration file during the startup.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '/usr/local/etc/php/php.ini', + ], + [ + 'apiName' => 'DeleteWebCustomDomain', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteWebCustomDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:namespace/{#NamespaceId}'], ], ], - [ - 'name' => 'PhpConfig', - 'in' => 'formData', - 'schema' => [ - 'description' => 'The details of the PHP configuration file.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'k1=v1', + ], + [ + 'apiName' => 'TagResources', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:TagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TomcatConfig', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Tomcat configuration. If you want to delete the configuration, set this parameter to {} or leave this parameter empty. Valid values:'."\n" - ."\n" - .'* **port**: the port number. The port number ranges from 1024 to 65535. Though the admin permissions are configured for the container, the root permissions are required to perform operations on ports whose number is smaller than 1024. Enter a value that ranges from 1025 to 65535 because the container has only the admin permissions. If you do not specify this parameter, the default port number 8080 is used.'."\n" - .'* **contextPath**: the path. Default value: /. This value indicates the root directory.'."\n" - .'* **maxThreads**: the maximum number of connections in the connection pool. Default value: 400.'."\n" - .'* **uriEncoding**: the URI encoding scheme in the Tomcat container. Valid values: **UTF-8**, **ISO-8859-1**, **GBK**, and GB2312. If you do not specify this parameter, the default value **ISO-8859-1** is used.'."\n" - .'* **useBodyEncoding**: specifies whether to use the encoding scheme that is specified by **BodyEncoding for URL**. Default value: **true**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}', + ], + [ + 'apiName' => 'CreateSecret', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:CreateSecret', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OssMountDescs', - 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS挂载描述信息', - 'description' => 'The information about the mounted Object Storage Service (OSS) bucket. The following parameters are involved:'."\n" - ."\n" - .'* **bucketName**: the name of the OSS bucket.'."\n" - ."\n" - .'* **bucketPath**: the directory or object in OSS. If the specified directory or object does not exist, an error is returned.'."\n" - ."\n" - .'* **mountPath**: the directory of the container in SAE. If the path already exists, the newly specified path overwrites the previous one. If the path does not exist, it is created.'."\n" - ."\n" - .'* **readOnly**: specifies whether to only allow the container path to read data from the OSS directory. Valid values:'."\n" - ."\n" - .' * **true**: The container path only has read permission on the OSS directory.'."\n" - .' * **false**: The application has read and write permissions.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]', + ], + [ + 'apiName' => 'ListApplications', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListApplications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OssAkId', - 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS使用的AKID', - 'description' => 'The AccessKey ID that is used to read data from and write data to OSS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', + ], + [ + 'apiName' => 'ListAllSwimmingLaneGroups', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListAllSwimmingLaneGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'OssAkSecret', - 'in' => 'formData', - 'schema' => [ - 'title' => 'OSS AKID对应的secret', - 'description' => 'The AccessKey secret that is used to read data from and write data to OSS.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', + ], + [ + 'apiName' => 'GetWebshellToken', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:GetWebshellToken', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Php', - 'in' => 'formData', - 'schema' => [ - 'title' => 'PHP部署包依赖的PHP版本。镜像不支持', - 'description' => 'The ID of Container Registry Enterprise Edition instance N.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cri-xxxxxx', + ], + [ + 'apiName' => 'UpdateNamespaceVpc', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateNamespaceVpc', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'AcrInstanceId', - 'in' => 'formData', - 'schema' => [ - 'title' => 'ACR 企业版实例 ID', - 'description' => 'The ID of Container Registry Enterprise Edition instance N. This parameter is required when the **ImageUrl** parameter is set to the URL of an image in an ACR Enterprise Edition instance.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cri-xxxxxx', + ], + [ + 'apiName' => 'RescaleApplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:RescaleApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'AcrAssumeRoleArn', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Alibaba Cloud Resource Name (ARN) of the RAM role that is used to pull images across accounts. For more information, see [Grant permissions across Alibaba Cloud accounts by using a RAM role](~~223585~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'acs:ram::123456789012****:role/adminrole', + ], + [ + 'apiName' => 'DescribeJobHistory', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DescribeJobHistory', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ImagePullSecrets', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the corresponding Secret.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '10', + ], + [ + 'apiName' => 'ListApplicationCenterServiceInstances', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListApplicationCenterServiceInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EnableImageAccl', - 'in' => 'formData', - 'allowEmptyValue' => true, - 'schema' => [ - 'title' => '是否开启镜像加速', - 'type' => 'boolean', - 'default' => 'false', + ], + [ + 'apiName' => 'BindNlb', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:BindNlb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'TriggerConfig', - 'in' => 'query', - 'schema' => [ - 'description' => 'The trigger configuration. Configure this parameter based on the job type.'."\n" - ."\n" - .'* **Scheduled job**: Set **type** to time, **config** to a CRON expression, and **timezone** to a specific time zone.'."\n" - ."\n" - .'Example: `{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}`'."\n" - ."\n" - .'* **One-time job**: Set **type** to http and configure an HTTP trigger rule for **config**. For more information, see [SourceHttpEventParameters](https://help.aliyun.com/document_detail/347586.html#section-lp1-vq0-ho3).'."\n" - ."\n" - .'Example: `{"type":"http","config":{"type":"HTTPS","method"、["GET"],"ip":[],"referer":[],"securityConfig":"none"}}`'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '{"type":"time","config":"0 1 */1 * ?","timezone":"GMT+8:00"}', + ], + [ + 'apiName' => 'DisableApplicationScalingRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:DisableApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ConcurrencyPolicy', - 'in' => 'query', - 'schema' => [ - 'description' => 'The concurrency policy of the job. Valid values:'."\n" - ."\n" - .'* **Forbid**: Prohibits concurrent running. If the previous job is not completed, no new job is created.'."\n" - .'* **Allow**: Allows concurrent running.'."\n" - .'* **Replace**: If the previous job is not completed when the time to create a new job is reached, the new job replaces the previous job.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Allow', + ], + [ + 'apiName' => 'GetWarningEventMetric', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:GetWarningEventMetric', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Timeout', - 'in' => 'query', - 'schema' => [ - 'description' => 'The timeout period. Unit: seconds.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3600', + ], + [ + 'apiName' => 'DowngradeApplicationApmService', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DowngradeApplicationApmService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'BackoffLimit', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of times the job is retried.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '3', + ], + [ + 'apiName' => 'BatchRestartApplications', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:BatchRestartApplications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Slice', - 'in' => 'query', - 'schema' => [ - 'description' => 'Specifies whether to enable job sharding.'."\n", - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + ], + [ + 'apiName' => 'DescribeApplicationNlbs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationNlbs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'SliceEnvs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The parameters of job sharding.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[0,1,2]', + ], + [ + 'apiName' => 'DeleteWebApplicationRevision', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteWebApplicationRevision', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Replicas', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of concurrent instances.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '3', + ], + [ + 'apiName' => 'DescribeApplicationStatus', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'RefAppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job that you reference.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', + ], + [ + 'apiName' => 'AbortChangeOrder', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:AbortChangeOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ProgrammingLanguage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The programming language. Valid values: **java**, **php**, **python**, and **shell**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'java', + ], + [ + 'apiName' => 'EnableApplicationScalingRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:EnableApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Python', - 'in' => 'query', - 'schema' => [ - 'description' => 'The Python environment. Set the value to **PYTHON 3.9.15**.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'PYTHON 3.9.15', + ], + [ + 'apiName' => 'DescribeApplicationScalingRules', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationScalingRules', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PythonModules', - 'in' => 'query', - 'schema' => [ - 'description' => 'The configurations for installing custom module dependencies. By default, the dependencies defined by the requirements.txt file in the root directory are installed. If the package does not contain this file and you do not configure custom dependencies in the package, specify the dependencies that you want to install in the text box.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Flask==2.0', + ], + [ + 'apiName' => 'DescribeApplicationGroups', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationGroups', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'NasConfigs', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + ], + [ + 'apiName' => 'RestartInstances', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:RestartInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'BestEffortType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + ], + [ + 'apiName' => 'SuspendJob', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:SuspendJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The information about the deployed application.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3***', - ], - 'Message' => [ - 'description' => 'The additional information that is returned. Valid values:'."\n" - ."\n" - .'* success: If the call is successful, **success** is returned.'."\n" - .'* An error code: If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622246421415014e****', - ], - 'Data' => [ - 'description' => 'The response.'."\n", - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change order. It can be used to query the task status.'."\n", - 'type' => 'string', - 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', - ], - 'AppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Valid values:'."\n" - ."\n" - .'* The **ErrorCode** parameter is not returned if the request succeeds.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section of this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application deployment is successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'ListIngresses', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListIngresses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Application.MissingJdk', - 'errorMessage' => 'Your application must at least contain a JDK component.', - ], - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidComponent.NotFound', - 'errorMessage' => 'The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.', - ], - [ - 'errorCode' => 'InvalidHostnameIp.Invalid', - 'errorMessage' => 'The hostname and/or IP is invalid: Hostname [%s], IP [%s].', - ], - [ - 'errorCode' => 'InvalidInstanceSpecification.Unsupported', - 'errorMessage' => 'The instance specification is not supported: CPU [%s], memory [%s].', - ], - [ - 'errorCode' => 'InvalidPackageType.NotFound', - 'errorMessage' => 'The package type must be War, FatJar, or Image.', - ], - [ - 'errorCode' => 'InvalidParameter.FileName', - 'errorMessage' => 'The application deployment package name is invalid. This name can contain only alphanumeric characters, hyphens (-), and underscores (_). In addition, you can upload JAR files only if the selected deployment version supports JAR file. Otherwise, upload WAR files only.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', - ], - [ - 'errorCode' => 'JarApplication.MissingJdk', - 'errorMessage' => 'A FatJar application must contain JDK.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.Exceed', - 'errorMessage' => 'Your compute resource is insufficient. Please contact us to raise the quota.', - ], - [ - 'errorCode' => 'PandoraApplication.MissingJdk', - 'errorMessage' => 'The Pandora application is missing a JDK component.', - ], - [ - 'errorCode' => 'PandoraApplication.OnlyJdk', - 'errorMessage' => 'A Pandora application only requires JDK component.', - ], - [ - 'errorCode' => 'WarApplication.MissingJdkWebcontainer', - 'errorMessage' => 'A War application must contain JDK and Tomcat.', - ], - [ - 'errorCode' => 'LogService.ConfigQuotaExceed', - 'errorMessage' => 'The maximum number of Log Service configs is exceeded.', - ], - [ - 'errorCode' => 'LogService.InternalError', - 'errorMessage' => 'An exception occurred while calling Log Service. Please submit a ticket to solve the problem.', - ], - [ - 'errorCode' => 'LogService.LogDirInvalid', - 'errorMessage' => 'The log collection path is invalid.', - ], - [ - 'errorCode' => 'LogService.NotAvailable', - 'errorMessage' => 'Log Service is unavailable. Please activate Log Service first.', - ], - [ - 'errorCode' => 'LogService.ProjectNumQuotaExceed', - 'errorMessage' => 'The maximum number of Log Service projects is exceeded.', - ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.App.Exceed', - 'errorMessage' => 'You can create %s instances for each application. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'NoComputeResourceQuota.User.Exceed', - 'errorMessage' => 'Your account is limited to create %s instances. Please submit a ticket to raise the quota.', - ], - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'VolumnPath.Conflict', - 'errorMessage' => 'Conflict between log collection directory and persistent storage directory.', - ], - [ - 'errorCode' => 'Application.ChangerOrderRunning', - 'errorMessage' => 'An application change process is in progress. Please try again later.', - ], - [ - 'errorCode' => 'Application.InvalidStatus', - 'errorMessage' => 'The application status is abnormal. Please try again later.', - ], - [ - 'errorCode' => 'MountConflict.ConfigMap', - 'errorMessage' => 'Conflict detected for ConfigMap path %s.', - ], - [ - 'errorCode' => 'NotFound.ConfigMap', - 'errorMessage' => 'The ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'NotFound.ConfigMapKey', - 'errorMessage' => 'The key %s of ConfigMap object (ID: %s) does not exist.', - ], - [ - 'errorCode' => 'Package.Version.Too.Long', - 'errorMessage' => 'The maximum length of package version is exceeded.', - ], - [ - 'errorCode' => 'App.Package.Version.Exists', - 'errorMessage' => 'The package version of application already exists.', - ], - [ - 'errorCode' => 'Slb.Occupied', - 'errorMessage' => 'The SLB instance is occupied.', - ], - [ - 'errorCode' => 'Slb.Tag.Not.Qualified', - 'errorMessage' => 'The current SLB instance cannot be reused because it may have been occupied by %s.', - ], - [ - 'errorCode' => 'MinReadyInstances.Not.Smaller.Replicas', - 'errorMessage' => 'The minimum number of available instances must be less than the number of application instances.', - ], - [ - 'errorCode' => 'BatchWaitTime.Not.Smaller.Zero', - 'errorMessage' => 'BatchWaitTime must not be smaller than zero.', - ], - [ - 'errorCode' => 'Sls.Config.Mixed.Multi.Project', - 'errorMessage' => 'The specified Config contains multiple projects.', - ], - [ - 'errorCode' => 'Sls.Config.User.Defined.Missing.Logstore.Info', - 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', - ], - [ - 'errorCode' => 'Sls.Config.User.Defined.Missing.Project.Info', - 'errorMessage' => 'The specified Config is invalid. Both Project and Logstore must be specified.', - ], - [ - 'errorCode' => 'Sls.Logstore.Name.Invalid', - 'errorMessage' => 'The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".', - ], - [ - 'errorCode' => 'Sls.Logstore.User.Defined.Not.Exist', - 'errorMessage' => 'The user defined Logstore does not exist.', - ], - [ - 'errorCode' => 'Sls.Project.Name.Invalid', - 'errorMessage' => 'The specified project name is invalid. The project name must not contain the prefix "sae-".', - ], - [ - 'errorCode' => 'Sls.Project.User.Defined.Not.Exist', - 'errorMessage' => 'The user defined project does not exist.', - ], - [ - 'errorCode' => 'Sae.Errorcode.Ahas.Create.Error.Message', - 'errorMessage' => 'Failed to create AHAS.', - ], - [ - 'errorCode' => 'InvalidImageUrl.AcrInstanceId.Domain.NotMatch', - 'errorMessage' => 'The specified domain of ImageUrl does not match AcrInstanceId domains.', - ], - [ - 'errorCode' => 'PhpApplication.MissingPhpRuntime', - 'errorMessage' => 'A PHP application must contain PHP Runtime.', + [ + 'apiName' => 'GetAvailabilityMetric', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:GetAvailabilityMetric', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', - ], - [ - 'errorCode' => 'InvalidAcrInstanceId.NotFound', - 'errorMessage' => 'The specified AcrInstanceId does not exist.', - ], - [ - 'errorCode' => 'Associate.Eip.Not.Enough', - 'errorMessage' => 'No sufficient EIPs are available.', + ], + [ + 'apiName' => 'DeleteSwimmingLaneGroup', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteSwimmingLaneGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3***\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622246421415014e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\",\\n \\"AppId\\": \\"7171a6ca-d1cd-4928-8642-7d5cfe69****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<UpdateJobResponse>\\n <RequestId>01CF26C7-00A3-4AA6-BA76-7E95F2A3***</RequestId>\\n <Message>success</Message>\\n <TraceId>ac1a0b2215622246421415014e****</TraceId>\\n <Data>\\n <ChangeOrderId>01db03d3-3ee9-48b3-b3d0-dfce2d88****</ChangeOrderId>\\n <AppId>7171a6ca-d1cd-4928-8642-7d5cfe69****</AppId>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</UpdateJobResponse>","errorExample":""}]', - 'title' => 'UpdateJob', - 'summary' => 'Updates a job template.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - 'extraInfo' => ' ', - ], - 'DescribeJobHistory' => [ - 'path' => '/pop/v1/sam/job/describeJobHistory', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'UntagResources', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:UntagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'StopApplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:StopApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Application', 'arn' => 'acs:sae:{#regionId}:{#accountId}:application/{#namespaceid}/{#appid}'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'abilityTreeCode' => '124658', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9PL61', + [ + 'apiName' => 'DescribeApplicationSlbs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationSlbs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the job template.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'e1a7a07-abcb-4652-a1d3-2d57f415****', + [ + 'apiName' => 'ReduceApplicationCapacityByInstanceIds', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:ReduceApplicationCapacityByInstanceIds', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'CurrentPage', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of the page to return.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', + ], + [ + 'apiName' => 'DescribeSecret', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DescribeSecret', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'PageSize', - 'in' => 'query', - 'schema' => [ - 'description' => 'The number of entries to return on each page. Valid values: 0 to 10000.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '20', + ], + [ + 'apiName' => 'ListChangeOrders', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListChangeOrders', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'State', - 'in' => 'query', - 'schema' => [ - 'description' => 'The status of the job. Valid values:'."\n" - ."\n" - .'* **0**: The job is not executed.'."\n" - .'* **1**: The job is executed.'."\n" - .'* **2**: The job fails to be executed.'."\n" - .'* **3**: The job is being executed.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '1', + ], + [ + 'apiName' => 'RollbackApplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:RollbackApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '53F15A18-8079-5992-810C-0211A5AE****', - ], - 'Message' => [ - 'description' => 'The message returned. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, **success** is returned.'."\n" - .'* If the call fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID that is used to query the details of the request.'."\n", - 'type' => 'string', - 'example' => '0b1639af16575057857241351e****', - ], - 'Data' => [ - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'CurrentPage' => [ - 'description' => 'The page number of the returned page.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'TotalSize' => [ - 'description' => 'The total number of jobs.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'PageSize' => [ - 'description' => 'The number of entries to return on each page. Valid values: 0 to 10000.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '20', - ], - 'Jobs' => [ - 'description' => 'The jobs.'."\n", - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'JobId' => [ - 'description' => 'The job ID.'."\n", - 'type' => 'string', - 'example' => 'manual-3db7a8fa-5d40-4edc-92e4-49d50eab****', - ], - 'Active' => [ - 'description' => 'The number of running instances.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'Succeeded' => [ - 'description' => 'The number of instances that are successfully run.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'Failed' => [ - 'description' => 'The number of instances that failed to run.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '0', - ], - 'StartTime' => [ - 'description' => 'The time when the job was created.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1657522800', - ], - 'CompletionTime' => [ - 'description' => 'The time when the job was executed.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1657522839', - ], - 'Message' => [ - 'description' => 'The message returned if exceptions occur during job running.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'State' => [ - 'description' => 'The status of the job. Valid values:'."\n" - ."\n" - .'* **0**: The job was not executed.'."\n" - .'* **1**: The job was executed.'."\n" - .'* **2**: The job failed to be executed.'."\n" - .'* **3**: The job is being executed.'."\n", - 'type' => 'string', - 'example' => '1', - ], - ], - ], - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code returned. Take note of the following rules:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the "**Error codes**" section in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null'."\n", - ], - 'Code' => [ - 'description' => 'The HTTP status code returned. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the call was successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'DescribeApplicationImage', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationImage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InvalidAppId.NotFound', - 'errorMessage' => 'The specified AppId does not exist.', + [ + 'apiName' => 'ListNamespaceChangeOrders', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListNamespaceChangeOrders', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"53F15A18-8079-5992-810C-0211A5AE****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0b1639af16575057857241351e****\\",\\n \\"Data\\": {\\n \\"CurrentPage\\": 1,\\n \\"TotalSize\\": 20,\\n \\"PageSize\\": 20,\\n \\"Jobs\\": [\\n {\\n \\"JobId\\": \\"manual-3db7a8fa-5d40-4edc-92e4-49d50eab****\\",\\n \\"Active\\": 0,\\n \\"Succeeded\\": 3,\\n \\"Failed\\": 0,\\n \\"StartTime\\": 1657522800,\\n \\"CompletionTime\\": 1657522839,\\n \\"Message\\": \\"空\\",\\n \\"State\\": \\"1\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","errorExample":""},{"type":"xml","example":"<DescribeJobHistoryResponse>\\n <RequestId>53F15A18-8079-5992-810C-0211A5AE****</RequestId>\\n <Message>success</Message>\\n <TraceId>0b1639af16575057857241351e****</TraceId>\\n <Data>\\n <CurrentPage>1</CurrentPage>\\n <TotalSize>20</TotalSize>\\n <PageSize>20</PageSize>\\n <Jobs>\\n <JobId>manual-3db7a8fa-5d40-4edc-92e4-49d50eab****</JobId>\\n <Active>0</Active>\\n <Succeeded>3</Succeeded>\\n <Failed>0</Failed>\\n <StartTime>1657522800</StartTime>\\n <CompletionTime>1657522839</CompletionTime>\\n <State>1</State>\\n </Jobs>\\n </Data>\\n <Code>200</Code>\\n <Success>true</Success>\\n</DescribeJobHistoryResponse>","errorExample":""}]', - 'title' => 'DescribeJobHistory', - 'summary' => 'Query the information about jobs.', - ], - 'DescribeConfigurationPrice' => [ - 'path' => '/pop/v1/paas/configurationPrice', - 'methods' => [ - 'get', + [ + 'apiName' => 'DeployApplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:DeployApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'http', - 'https', + [ + 'apiName' => 'UpdateJob', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CreateApplication', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'RestartApplication', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '6329', - 'abilityTreeNodes' => [ - 'FEATUREsaeD9Y7UY', - 'FEATUREsaeQL07ZC', + 'ramAction' => [ + 'action' => 'sae:RestartApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'Cpu', - 'in' => 'query', - 'schema' => [ - 'description' => 'The CPU specifications that are required for each instance. Unit: millicores. This parameter cannot be set to 0. Valid values:'."\n" - ."\n" - .'* **500**'."\n" - .'* **1000**'."\n" - .'* **2000**'."\n" - .'* **4000**'."\n" - .'* **8000**'."\n" - .'* **12000**'."\n" - .'* **16000**'."\n" - .'* **32000**'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '2000', + [ + 'apiName' => 'DescribeJob', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Memory', - 'in' => 'query', - 'schema' => [ - 'description' => 'The memory size that is required by each instance. Unit: MB. This parameter cannot be set to 0. The values of this parameter correspond to the values of the Cpu parameter:'."\n" - ."\n" - .'* This parameter is set to **1024** if the Cpu parameter is set to 500 or 1000.'."\n" - .'* This parameter is set to **2048** if the Cpu parameter is set to 500, 1000, or 2000.'."\n" - .'* This parameter is set to **4096** if the Cpu parameter is set to 1000, 2000, or 4000.'."\n" - .'* This parameter is set to **8192** if the Cpu parameter is set to 2000, 4000, or 8,000.'."\n" - .'* This parameter is set to **12288** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **16384** if the Cpu parameter is set to 4000, 8000, or 16000.'."\n" - .'* This parameter is set to **24576** if the Cpu parameter is set to 12000.'."\n" - .'* This parameter is set to **32768** if the Cpu parameter is set to 16000.'."\n" - .'* This parameter is set to **65536** if the Cpu parameter is set to 8000, 16000, or 32000.'."\n" - .'* This parameter is set to **131072** if the Cpu parameter is set to 32000.'."\n", - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '4096', + ], + [ + 'apiName' => 'UpdateAppMode', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateAppMode', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'Workload', - 'in' => 'query', - 'schema' => [ - 'description' => 'Scenarios:'."\n" - ."\n" - .'* Web'."\n" - .'* micro_service'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Web', + ], + [ + 'apiName' => 'CreateJob', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ResourceType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, + ], + [ + 'apiName' => 'UpdateApplicationVswitches', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateApplicationVswitches', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'NewSaeVersion', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + ], + [ + 'apiName' => 'ListSwimmingLaneGroupTags', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListSwimmingLaneGroupTags', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'BestEffortType', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + ], + [ + 'apiName' => 'SuspendTraffic', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:SuspendTraffic', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'GpuA10', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + ], + [ + 'apiName' => 'UpdateNamespaceSlsConfigs', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateNamespaceSlsConfigs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'GpuPpu810e', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + ], + [ + 'apiName' => 'ExecJob', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:ExecJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'description' => 'The information returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The ID of the request.'."\n", - 'type' => 'string', - 'example' => 'ADCEC067-86AD-19E2-BD43-E83F3841****', - ], - 'Message' => [ - 'description' => 'The message returned. Valid values:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace.'."\n", - 'type' => 'string', - 'example' => '1a0dcc771722848598056771******', - ], - 'Data' => [ - 'description' => 'The price.'."\n", - 'type' => 'object', - 'properties' => [ - 'BagUsage' => [ - 'description' => 'The remaining capacity of the resource plan.'."\n", - 'type' => 'object', - 'properties' => [ - 'Cpu' => [ - 'description' => 'The available CPU capacity. Unit: cores \\*.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '497570.450009', - ], - 'Mem' => [ - 'description' => 'The available memory size. Unit: GiB ×.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '989802.563546', - ], - 'Cu' => [ - 'type' => 'number', - 'format' => 'float', - ], - ], - ], - 'Order' => [ - 'description' => 'The information about pricing.'."\n", - 'type' => 'object', - 'properties' => [ - 'OriginalAmount' => [ - 'description' => 'The original price of the order.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0092592', - ], - 'DiscountAmount' => [ - 'description' => 'The discount amount.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0018518', - ], - 'RuleIds' => [ - 'description' => 'The ID of the promotion rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the promotion rule.'."\n", - 'type' => 'string', - 'example' => '2000010******', - ], - ], - 'TradeAmount' => [ - 'description' => 'The transaction price.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => ' 0.0074074', - ], - ], - ], - 'Rules' => [ - 'description' => 'The promotion rules.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The promotion rules.'."\n", - 'type' => 'object', - 'properties' => [ - 'RuleDescId' => [ - 'description' => 'The ID of the promotion rule.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2000010******', - ], - 'Name' => [ - 'description' => 'The name of the promotion rule.'."\n", - 'type' => 'string', - 'example' => '', - ], - ], - ], - ], - 'RequestPrice' => [ - 'description' => 'The price based on the number of requests.'."\n", - 'type' => 'object', - 'properties' => [ - 'Order' => [ - 'description' => 'The information about pricing.'."\n", - 'type' => 'object', - 'properties' => [ - 'OriginalAmount' => [ - 'description' => 'The original price of the order.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0046296', - ], - 'DiscountAmount' => [ - 'description' => 'The discount amount.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0009259', - ], - 'TradeAmount' => [ - 'description' => 'The actual price of the order.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0037037', - ], - 'RuleIds' => [ - 'description' => 'The ID of the discount rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the discount rule.'."\n", - 'type' => 'string', - 'example' => '2000010******', - ], - ], - ], - ], - 'Rules' => [ - 'description' => 'The discount rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The discount rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'RuleDescId' => [ - 'description' => 'The ID of the discount policy.'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2000010******', - ], - 'Name' => [ - 'description' => 'The name of the discount rule.'."\n", - 'type' => 'string', - 'example' => '', - ], - ], - ], - ], - ], - ], - 'TrafficPrice' => [ - 'description' => 'The traffic price.'."\n", - 'type' => 'object', - 'properties' => [ - 'Order' => [ - 'description' => 'The information about pricing.'."\n", - 'type' => 'object', - 'properties' => [ - 'OriginalAmount' => [ - 'description' => 'The original price of the order.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0046296', - ], - 'DiscountAmount' => [ - 'description' => 'The discount amount.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0009259', - ], - 'TradeAmount' => [ - 'description' => 'The final price of the order.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0037037', - ], - 'RuleIds' => [ - 'description' => 'The ID of the discount rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the discount rule.'."\n", - 'type' => 'string', - 'example' => '2000010******', - ], - ], - ], - ], - 'Rules' => [ - 'description' => 'The discount rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The discount rule.'."\n", - 'type' => 'object', - 'properties' => [ - 'RuleDescId' => [ - 'description' => 'The ID of the discount rule.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2000010******', - ], - 'Name' => [ - 'description' => 'The name of the discount rule.'."\n", - 'type' => 'string', - 'example' => '', - ], - ], - ], - ], - ], - ], - 'CpuMemPrice' => [ - 'description' => 'The price of CPU and memory.'."\n", - 'type' => 'object', - 'properties' => [ - 'Order' => [ - 'description' => 'The information about pricing.'."\n", - 'type' => 'object', - 'properties' => [ - 'OriginalAmount' => [ - 'description' => 'The original price.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => ' 0.0046296', - ], - 'DiscountAmount' => [ - 'description' => 'The discount amount.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0009259', - ], - 'TradeAmount' => [ - 'description' => 'The final price of the order.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '0.0037037', - ], - 'RuleIds' => [ - 'description' => 'The ID of the discount rule.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The ID of the discount rule.'."\n", - 'type' => 'string', - 'example' => '2000010******', - ], - ], - ], - ], - 'Rules' => [ - 'description' => 'The discount rules.'."\n", - 'type' => 'array', - 'items' => [ - 'description' => 'The discount rules.'."\n", - 'type' => 'object', - 'properties' => [ - 'RuleDescId' => [ - 'description' => 'The ID of the discount rule.'."\n", - 'type' => 'number', - 'format' => 'float', - 'example' => '2000010******'."\n", - ], - 'Name' => [ - 'description' => 'The name of discount rule.'."\n", - 'type' => 'string', - 'example' => '', - ], - ], - ], - ], - ], - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes** in this topic.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the configuration price was obtained.'."\n" - ."\n" - .'* **true**: The price was obtained.'."\n" - .'* **false**: The price failed to be queried.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'ListLogConfigs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListLogConfigs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', + [ + 'apiName' => 'DeleteGreyTagRoute', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteGreyTagRoute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ADCEC067-86AD-19E2-BD43-E83F3841****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"1a0dcc771722848598056771******\\",\\n \\"Data\\": {\\n \\"BagUsage\\": {\\n \\"Cpu\\": 497570.450009,\\n \\"Mem\\": 989802.563546,\\n \\"Cu\\": 10000\\n },\\n \\"Order\\": {\\n \\"OriginalAmount\\": 0.0092592,\\n \\"DiscountAmount\\": 0.0018518,\\n \\"RuleIds\\": [\\n \\"2000010******\\"\\n ],\\n \\"TradeAmount\\": 0.0074074\\n },\\n \\"Rules\\": [\\n {\\n \\"RuleDescId\\": 0,\\n \\"Name\\": \\"后付费8折优惠\\"\\n }\\n ],\\n \\"RequestPrice\\": {\\n \\"Order\\": {\\n \\"OriginalAmount\\": 0.0046296,\\n \\"DiscountAmount\\": 0.0009259,\\n \\"TradeAmount\\": 0.0037037,\\n \\"RuleIds\\": [\\n \\"2000010******\\"\\n ]\\n },\\n \\"Rules\\": [\\n {\\n \\"RuleDescId\\": 0,\\n \\"Name\\": \\"后付费8折优惠\\"\\n }\\n ]\\n },\\n \\"TrafficPrice\\": {\\n \\"Order\\": {\\n \\"OriginalAmount\\": 0.0046296,\\n \\"DiscountAmount\\": 0.0009259,\\n \\"TradeAmount\\": 0.0037037,\\n \\"RuleIds\\": [\\n \\"2000010******\\"\\n ]\\n },\\n \\"Rules\\": [\\n {\\n \\"RuleDescId\\": 0,\\n \\"Name\\": \\"后付费8折优惠\\"\\n }\\n ]\\n },\\n \\"CpuMemPrice\\": {\\n \\"Order\\": {\\n \\"OriginalAmount\\": 0.0046296,\\n \\"DiscountAmount\\": 0.0009259,\\n \\"TradeAmount\\": 0.0037037,\\n \\"RuleIds\\": [\\n \\"2000010******\\"\\n ]\\n },\\n \\"Rules\\": [\\n {\\n \\"RuleDescId\\": 0,\\n \\"Name\\": \\"后付费8折优惠\\"\\n }\\n ]\\n }\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DescribeConfigurationPrice', - 'summary' => 'Query configuration price.', - ], - 'GetWebshellToken' => [ - 'path' => '/pop/v1/sam/instance/webshellToken', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeConfigMap', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeConfigMap', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'DescribeApplicationScalingRule', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '6366', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The ID of the interactive messaging application.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', + [ + 'apiName' => 'DescribeWebCustomDomain', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebCustomDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:namespace/{#NamespaceId}'], ], ], - [ - 'name' => 'PodName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the pod.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'hello-podsdfsdfsdfsdf', + ], + [ + 'apiName' => 'DeleteApplication', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'ContainerName', - 'in' => 'query', - 'schema' => [ - 'description' => 'The name of the init container.'."\n" - ."\n" - .'Note:'."\n" - ."\n" - .'* If you specify this parameter, Cloud Assistant runs the command in the specified container of the instances.'."\n" - ."\n" - .'* If this parameter is specified, the command can run only on Linux instances on which Cloud Assistant Agent 2.2.3.344 or later is installed.'."\n" - ."\n" - .' * For information about how to query the version of Cloud Assistant Agent, see [Install Cloud Assistant Agent](~~64921~~).'."\n" - .' * For information about how to upgrade Cloud Assistant Agent, see [Upgrade or disable upgrades for Cloud Assistant Agent](~~134383~~).'."\n" - ."\n" - .'* If this parameter is specified, the `Username` parameter that is specified in a request to call this operation and the `WorkingDir` parameter that is specified in a request to call the [CreateCommand](~~64844~~) operation do not take effect. You can run the command only in the default working directory of the container by using the default user of the container. For more information, see [Use Cloud Assistant to run commands in containers](~~456641~~).'."\n" - ."\n" - .'* If this parameter is specified, only shell scripts can be run in Linux containers. You cannot add a command in the format similar to `#!/usr/bin/python` at the beginning of a script to specify a script interpreter. For more information, see [Use Cloud Assistant to run commands in containers](~~456641~~).'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'ad-helper', + ], + [ + 'apiName' => 'DescribeNamespaceResources', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeNamespaceResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'Request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The returned message. Value description:'."\n" - ."\n" - .'* If the request was successful, a success message is returned.'."\n" - .'* An error code is returned if the request failed.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The returned result.'."\n", - 'type' => 'object', - 'properties' => [ - 'Token' => [ - 'description' => 'The information about the token.'."\n", - 'type' => 'string', - 'example' => 'zWWpvRj_5pzof4hfo7-hGynM8oGMmO_7', - ], - 'HttpUrl' => [ - 'description' => 'Webshell page address'."\n", - 'type' => 'string', - 'example' => 'HttpUrl : "https://saenext.console.aliyun.com/cn-shenzhen/app-list/app1/micro-app/shell/pod1?tokenId=xxx', - ], - 'WebSocketUrl' => [ - 'description' => 'The WebSocket address.'."\n", - 'type' => 'string', - 'example' => 'wss://sae-webshell.console.aliyun.com/websocket/eamWebshell?tokenId=xxx®ion=cn-shenzhen', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the call failed. Value values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, the **ErrorCode** parameter is returned. For more information, see **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => '400', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - 'description' => '', + [ + 'apiName' => 'DescribeNamespace', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', - ], - [ - 'errorCode' => 'InvalidParameter.NotEmpty', - 'errorMessage' => 'You must specify the parameter %s.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', - ], - [ - 'errorCode' => 'InvalidParameter.WithMessage', - 'errorMessage' => 'The parameter is invalid {%s}: %s', + [ + 'apiName' => 'RescaleApplicationVertically', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:RescaleApplicationVertically', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - 500 => [ - [ - 'errorCode' => 'OperationFailed.RPCError', - 'errorMessage' => 'Internal RPC request processing error.', + ], + [ + 'apiName' => 'DescribePipeline', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribePipeline', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Token\\": \\"zWWpvRj_5pzof4hfo7-hGynM8oGMmO_7\\",\\n \\"HttpUrl\\": \\"HttpUrl : \\\\\\"https://saenext.console.aliyun.com/cn-shenzhen/app-list/app1/micro-app/shell/pod1?tokenId=xxx\\",\\n \\"WebSocketUrl\\": \\"wss://sae-webshell.console.aliyun.com/websocket/eamWebshell?tokenId=xxx®ion=cn-shenzhen\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'GetWebshellToken', - 'summary' => 'Obtains the token used to remotely log on to the Webshell of an instance.', - ], - 'UpdateAppMode' => [ - 'summary' => 'Application Idle Mode Update', - 'path' => '/pop/v1/sam/app/updateAppMode', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'UnbindSlb', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:UnbindSlb', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DeleteConfigMap', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteConfigMap', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'UpdateWebApplication', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '259402', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', + 'ramAction' => [ + 'action' => 'sae:UpdateWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'EnableIdle', - 'in' => 'query', - 'schema' => [ - 'description' => 'Enable Idle Mode?'."\n" - ."\n" - .'Enumeration value:'."\n" - ."\n" - .'* true: enables.'."\n" - .'* false: disables.'."\n", - 'type' => 'boolean', - 'required' => false, - 'enumValueTitles' => [ - 'true' => '', - 'false' => '', - ], - 'example' => 'true', + [ + 'apiName' => 'ListAllSwimmingLanes', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListAllSwimmingLanes', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The app ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****', + ], + [ + 'apiName' => 'GetChangeOrderMetric', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:GetChangeOrderMetric', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, + ], + [ + 'apiName' => 'UpdateAppSecurityGroup', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateAppSecurityGroup', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'AppIds', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', - 'required' => false, + ], + [ + 'apiName' => 'DescribeIngress', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeIngress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'IdleHour', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + ], + [ + 'apiName' => 'UpdateSwimmingLaneEnableAttribute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateSwimmingLaneEnableAttribute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - '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' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned. The following limits are imposed on the ID:'."\n" - ."\n" - .'* The request is normal. **success** is returned.'."\n" - .'* If the request is abnormal, the specific exception error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace. This parameter is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'ErrorCode' => [ - 'description' => 'Error code. Valid values:'."\n" - ."\n" - .'* If the request was successful, **ErrorCode** is not returned.'."\n" - .'* If the request failed, **ErrorCode** is returned. For more information, see **Error codes**.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code or the error code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application was created. true and false. false'."\n", - 'type' => 'string', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'ListTagResources', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListTagResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', - 'title' => 'UpdateAppMode', - ], - 'QueryArmsEnable' => [ - 'path' => '/pop/v1/arms/queryArms', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'UpdateSecret', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:UpdateSecret', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'abilityTreeCode' => '6382', - 'abilityTreeNodes' => [ - 'FEATUREsaeK7DHH9', + [ + 'apiName' => 'DescribeInstanceLog', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeInstanceLog', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', + [ + 'apiName' => 'DescribeWebApplicationResourceStatics', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebApplicationResourceStatics', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '01CF26C7-00A3-4AA6-BA76-7E95F2A3****', - ], - 'Message' => [ - 'description' => 'The additional information. Value description:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace, which is used to query the details of a request.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The response data.'."\n", - 'type' => 'object', - 'properties' => [ - 'Enable' => [ - 'description' => 'Indicates if enabled. Valid values: true and false.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Value description:'."\n" - ."\n" - .'* If the request was successful, this field is not returned.'."\n" - .'* For more information, see the **Error codes** section of this topic.', - 'type' => 'string', - 'example' => 'InvalidApplication.NotFound ', - ], - 'Code' => [ - 'description' => 'The status code or error code. Valid values: 2xx: The request was successful. 3xx: The request was redirected. 4xx: The request was invalid. 5xx: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - 'description' => '', + [ + 'apiName' => 'DeleteHistoryJob', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DeleteHistoryJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', + [ + 'apiName' => 'QueryArmsEnable', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:QueryArmsEnable', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Application', 'arn' => 'acs:sae:{#regionId}:{#accountId}:application/{#namespaceid}/{#appid}'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"01CF26C7-00A3-4AA6-BA76-7E95F2A3****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"Enable\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'QueryArmsEnable', - 'summary' => 'Queries whether ARMS monitoring is enabled for a specified application.', - ], - 'DescribeApplicationMseService' => [ - 'path' => '/pop/v1/sam/app/applicationMseService', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'OpenSaeService', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:OpenSaeService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'abilityTreeCode' => '198094', - 'abilityTreeNodes' => [ - 'FEATUREsaeY046YN', + [ + 'apiName' => 'DescribeNamespaceList', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeNamespaceList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'f7730764-d88f-4b9a-8d8e-cd8efbfe****', + [ + 'apiName' => 'DeleteSecret', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DeleteSecret', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'EnableAhas', - 'in' => 'query', - 'schema' => [ - 'title' => '是否为限流降级功能', - 'description' => 'Specifies whether to enable traffic limiting and degradation. Set to true to check traffic limiting and degradation permissions when accessing related APIs; set to false otherwise.', - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', + ], + [ + 'apiName' => 'DescribeGreyTagRoute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeGreyTagRoute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****', - ], - 'Message' => [ - 'description' => 'The additional information. Value description:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace, which is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The application information.'."\n", - 'type' => 'object', - 'properties' => [ - 'MseAppId' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'example' => 'mse-cn-hvm47******', - ], - 'MseAppName' => [ - 'description' => 'The application name.'."\n", - 'type' => 'string', - 'example' => 'test', - ], - 'MseAppNameSpace' => [ - 'description' => 'The namespace.'."\n", - 'type' => 'string', - 'example' => 'sae-ent', - ], - 'Status' => [ - 'description' => 'The application status. Valid values:'."\n" - ."\n" - .'* EXPIRED'."\n" - .'* REBOOTING'."\n" - .'* WAITING'."\n" - .'* FAIL'."\n" - .'* NULL/SUCCESS'."\n", - 'type' => 'string', - 'example' => 'SUCCESS', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Value description:'."\n" - ."\n" - .'* If the request succeeds, this field is not returned.'."\n" - .'* For more information, see the **Error codes** section of this topic.', - 'type' => 'string', - 'example' => 'System.Upgrading ', - ], - 'Code' => [ - 'description' => 'The API status or POP error code. Valid values: 2xx: The request was successful. 3xx: The request was redirected. 4xx: The request was invalid. 5xx: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the application instance groups were obtained successfully. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], - 'description' => '', + [ + 'apiName' => 'DescribeInstanceSpecifications', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeInstanceSpecifications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', + [ + 'apiName' => 'UpdateWebApplicationScalingConfig', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateWebApplicationScalingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', + ], + ], + [ + 'apiName' => 'DescribeWebApplicationRevision', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebApplicationRevision', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"MseAppId\\": \\"mse-cn-hvm47******\\",\\n \\"MseAppName\\": \\"test\\",\\n \\"MseAppNameSpace\\": \\"sae-ent\\",\\n \\"Status\\": \\"SUCCESS\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DescribeApplicationMseService', - 'summary' => 'Queries the information of the associated MSE microservice governance application.', - ], - 'BatchRestartApplications' => [ - 'summary' => 'Restarts applications in batches.', - 'path' => '/pop/v1/sam/app/batchRestartApplications', - 'methods' => [ - 'put', + [ + 'apiName' => 'CreateGreyTagRoute', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateGreyTagRoute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DescribeApplicationInstances', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CreateOrUpdateSwimmingLane', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateOrUpdateSwimmingLane', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'BatchStartApplications', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '285072', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', + 'ramAction' => [ + 'action' => 'sae:BatchStartApplications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shanghai', + [ + 'apiName' => 'DescribeChangeOrder', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeChangeOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'AppIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application IDs. Separate multiple IDs with commas (,).'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '00893b3a-0e24-45ed-be0c-1f20e07b****', + ], + [ + 'apiName' => 'ListGreyTagRoute', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListGreyTagRoute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The returned data.'."\n", - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The additional information. Value description:'."\n" - ."\n" - .'If the request succeeds, a success message is returned. If the request fails, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace, which is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The response.'."\n", - 'type' => 'object', - 'properties' => [ - 'ChangeOrderId' => [ - 'description' => 'The ID of the change process.'."\n", - 'type' => 'string', - 'example' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Value description:'."\n" - ."\n" - .'If the request succeeds, this field is not returned. It is returned only if the request fails. For more information, see the "Error codes" section in this topic.'."\n", - 'type' => 'string', - 'example' => 'System.Upgrading', - ], - 'Code' => [ - 'description' => 'The API status or POP error code. Value description:'."\n" - ."\n" - .'2xx: The request was successful. 3xx: The request was redirected. 4xx: The request was invalid. 5xx: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the applications were started. Valid values:'."\n" - ."\n" - .'true and false', - 'type' => 'boolean', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'QueryResourceStatics', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:QueryResourceStatics', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'InvalidParameter.Obviously', - 'errorMessage' => 'The specified parameter is invalid {%s}.', + [ + 'apiName' => 'DeleteNamespace', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Mamespace.Have.No.Applications', - 'errorMessage' => 'There are no applications in this namespace.', + ], + ], + [ + 'apiName' => 'DescribeWebApplicationScalingConfig', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebApplicationScalingConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'Invalid.App.List.Not.Same.Namespace', - 'errorMessage' => 'The selected applications do not belong to the same namespace.', + ], + ], + [ + 'apiName' => 'AbortAndRollbackChangeOrder', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:AbortAndRollbackChangeOrder', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], - [ - 'errorCode' => 'user.indebt', - 'errorMessage' => 'The user has an outstanding payment.', + ], + ], + [ + 'apiName' => 'CreateNamespace', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateNamespace', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + [ + 'apiName' => 'DescribeAppServiceDetail', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:DescribeAppServiceDetail', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"ChangeOrderId\\": \\"01db03d3-3ee9-48b3-b3d0-dfce2d88****\\"\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'BatchRestartApplications', - ], - 'UpdateNamespaceSlsConfigs' => [ - 'summary' => 'Updates the Simple Log Service configuration for a namespace.', - 'path' => '/pop/cas/namespace/updateNamespaceSlsConfigs', - 'methods' => [ - 'post', + [ + 'apiName' => 'GetArmsTopNMetric', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:GetArmsTopNMetric', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DeleteInstances', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DeleteInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeJobStatus', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DescribeJobStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'UpdateIngress', + 'description' => '', 'operationType' => 'update', - 'abilityTreeCode' => '288126', - 'abilityTreeNodes' => [ - 'FEATUREsaeW0M31R', + 'ramAction' => [ + 'action' => 'sae:UpdateIngress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], - 'tenantRelevance' => 'tenant', ], - 'parameters' => [ - [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The namespace ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', + [ + 'apiName' => 'DeleteJob', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DeleteJob', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'NameSpaceShortId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The short ID of the namespace. No need to specify a region ID. We recommend configuring this parameter.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'test', + ], + [ + 'apiName' => 'GetApplication', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:GetApplication', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'SlsConfigs', - 'in' => 'query', - 'schema' => [ - 'description' => 'The logging configurations of Simple Log Service.'."\n" - ."\n" - .'* `[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]`: Simple Log Service resources automatically created by Serverless App Engine (SAE) are used.'."\n" - .'* To use custom Simple Log Service resources, set this parameter to `[{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]`.'."\n" - ."\n" - .'Take note of the following subparameters:'."\n" - ."\n" - .'* **projectName**: the name of the Simple Log Service project.'."\n" - .'* **logDir**: the path in which logs are stored.'."\n" - .'* **logType**: the log type. **stdout** indicates the standard output (stdout) logs of the container. You can specify only one stdout value for this parameter. If not specified, file logs are collected.'."\n" - .'* **logstoreName**: the name of the Logstore in Simple Log Service.'."\n" - .'* **logtailName**: the name of the Logtail in Simple Log Service. If not specified, a new Logtail is created.'."\n" - ."\n" - .'If logging configuration changes are not needed during job template deployment, specify **SlsConfigs** only in the first request. Omit this parameter in later requests. To stop using Simple Log Service, leave **SlsConfigs** empty.'."\n" - ."\n" - .'> Projects automatically created by SAE for job templates are deleted when their corresponding job templates are deleted. Therefore, you should not select an existing SAE-created project for log collection.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '[{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}]', + ], + [ + 'apiName' => 'UpdateApplicationScalingRule', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Application', 'arn' => 'acs:sae:{#regionId}:{#accountId}:application/{#namespaceid}/{#appid}'], ], ], - [ - 'name' => 'SlsLogEnvTags', - 'in' => 'query', - 'schema' => [ - 'type' => 'string', + ], + [ + 'apiName' => 'ListPublishedServices', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListPublishedServices', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - '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.', - 'type' => 'string', - 'example' => 'AD0286B2-F4A4-5D43-9329-97DEF1019F06', - ], - 'Message' => [ - 'description' => 'The additional information.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The ID of the trace, which is used to query the exact call information.'."\n", - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'ErrorCode' => [ - 'description' => 'The error code. Value description:'."\n" - ."\n" - .'* If the request was successful, this field is not returned.'."\n" - .'* For more information, see the **Error codes** section of this topic.', - 'type' => 'string', - 'example' => 'InvalidNamespaceId.NotFound', - ], - 'Code' => [ - 'description' => 'The status code or error code. Valid values: 2xx: The request was successful. 3xx: The request was redirected. 4xx: The request was invalid. 5xx: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the Simple Log Service configuration for the namespace was updated. Valid values: true and false.'."\n", - 'type' => 'boolean', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'CreateWebCustomDomain', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateWebCustomDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:namespace/{#NamespaceId}'], ], ], ], - 'errorCodes' => [ - 404 => [ - [ - 'errorCode' => 'InvalidNamespaceId.NotFound', - 'errorMessage' => 'The specified NamespaceId does not exist.', + [ + 'apiName' => 'DeleteIngress', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteIngress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"AD0286B2-F4A4-5D43-9329-97DEF1019F06\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'UpdateNamespaceSlsConfigs', - ], - 'DisableArms' => [ - 'path' => '/pop/v1/arms/disableArms', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'http', - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ListSecrets', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:ListSecrets', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeCode' => '6357', - 'abilityTreeNodes' => [ - 'FEATUREsae8U8CHA', + [ + 'apiName' => 'ListJobs', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListJobs', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => true, - 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69a26c', + [ + 'apiName' => 'StartWebApplication', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:StartWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'description' => 'The request ID.'."\n", - 'type' => 'string', - 'example' => 'C0616FF6-9536-47BF-8A03-FB70386DFC71', - ], - 'Message' => [ - 'description' => 'The returned message.', - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID.', - 'type' => 'string', - 'example' => 'ac1a0b2215623063975374318e6d53', - ], - 'Data' => [ - 'description' => 'The data returned.'."\n", - 'type' => 'object', - 'properties' => [ - 'Enable' => [ - 'description' => 'Indicates if enabled. Valid values: '."\n" - ."\n" - .'* true: enabled'."\n" - .'* false: disabled', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. Valid values:'."\n" - ."\n" - .'* If the call is successful, the **ErrorCode** parameter is not returned.'."\n" - .'* If the call fails, the **ErrorCode** parameter is returned. For more information, see the **Error codes** section in this topic.'."\n", - 'type' => 'string', - 'example' => 'Null', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The call was successful.'."\n" - .'* **3xx**: The call was redirected.'."\n" - .'* **4xx**: The call failed.'."\n" - .'* **5xx**: A server error occurred.', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the call was successful. Valid values:'."\n" - ."\n" - .'* **true**'."\n" - .'* **false**', - 'type' => 'boolean', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'ListNamespacedConfigMaps', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListNamespacedConfigMaps', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'System.Upgrading', - 'errorMessage' => 'The system is being upgraded. Please try again later.', - ], - [ - 'errorCode' => 'InvalidApplication.NotFound', - 'errorMessage' => 'The current application does not exist.', + [ + 'apiName' => 'CreateIngress', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateIngress', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"6DA47906-6070-5A16-896D-67DCF38A6B7B\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0bc3b4ad17412276398692303e4cb1\\",\\n \\"Data\\": {\\n \\"Enable\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - 'title' => 'DisableArms', - 'summary' => 'Disables ARMS monitoring.', - 'requestParamsDescription' => ' ', - 'responseParamsDescription' => ' ', - ], - 'ResumeTraffic' => [ - 'summary' => 'Resumes traffic from Classic Load Balancer (CLB) application access, Network Load Balancer (NLB) application access, CLB gateway routing, Application Load Balancer (ALB) gateway routing, and Kubernetes Services on an instance.', - 'path' => '/pop/v1/sam/app/instanceTrafficResume', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'DescribeWebInstanceLogs', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeWebInstanceLogs', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ConfirmPipelineBatch', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '289039', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', + 'ramAction' => [ + 'action' => 'sae:ConfirmPipelineBatch', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****', + [ + 'apiName' => 'UpdateConfigMap', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateConfigMap', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c-668727a8-17d86664-41e5bb******,c-668727a8-17d86664-7e4958******', + ], + [ + 'apiName' => 'ListWebApplicationRevisions', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListWebApplicationRevisions', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'The response schema.', - 'type' => 'object', - 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'The request ID.', - 'type' => 'string', - 'example' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => 'The message returned for the operation. Valid values:'."\n" - ."\n" - .'* If the request is successful, **success** is returned.'."\n" - .'* If the request fails, a specific error code is returned.', - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID.'."\n", - 'type' => 'string', - 'example' => 'ac1a0b2215622920113732501e****', - ], - 'Data' => [ - 'description' => 'The returned results.', - 'type' => 'object', - 'properties' => [ - 'msg' => [ - 'description' => 'The description of the returned code.', - 'type' => 'string', - 'example' => 'succeed in handling request', - ], - 'success' => [ - 'description' => 'Indicates whether the traffic was removed. Valid values:'."\n" - .'* **true**: The traffic was removed.'."\n" - .'* **false**: The traffic failed to be removed.', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code returned if the request failed.'."\n", - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the request was successful. Valid values:'."\n" - ."\n" - .'* **True**: The traffic was resumed.'."\n" - .'* **False**: The traffic failed to be resumed.', - 'type' => 'string', - 'example' => 'True', - ], - ], + [ + 'apiName' => 'UpdateGreyTagRoute', + 'description' => '', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sae:UpdateGreyTagRoute', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"ac1a0b2215622920113732501e****\\",\\n \\"Data\\": {\\n \\"msg\\": \\"succeed in handling request\\",\\n \\"success\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": \\"True\\"\\n}","type":"json"}]', - 'title' => 'ResumeTraffic', - ], - 'SuspendTraffic' => [ - 'summary' => 'Removes traffic routed from Classic Load Balancer (CLB) application access, Network Load Balancer (NLB) application access, CLB gateway routes, Application Load Balancer (ALB) gateway routes, or Kubernetes (K8s) services.', - 'path' => '/pop/v1/sam/app/instanceTrafficSuspend', - 'methods' => [ - 'put', + [ + 'apiName' => 'ListWebCustomDomains', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListWebCustomDomains', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:namespace/{#NamespaceId}'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DescribeApplicationMseService', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:DescribeApplicationMseService', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'CreateWebApplication', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:CreateWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'GetScaleAppMetric', + 'description' => '', 'operationType' => 'none', - 'abilityTreeCode' => '289034', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', + 'ramAction' => [ + 'action' => 'sae:GetScaleAppMetric', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'AppId', - 'in' => 'query', - 'schema' => [ - 'description' => 'The application ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****', + [ + 'apiName' => 'DescribeConfigurationPrice', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:DescribeConfigurationPrice', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'InstanceIds', - 'in' => 'query', - 'schema' => [ - 'description' => 'The instance ID.'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'c-668727a8-17d86664-41e5bb******,c-668727a8-17d86664-7e4958******', + ], + [ + 'apiName' => 'BatchStopApplications', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sae:BatchStopApplications', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - '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' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****', - ], - 'Message' => [ - 'description' => 'The message returned. Valid values:'."\n" - ."\n" - .'* If the request was successful, **success** is returned.'."\n" - .'* If the request failed, an error code is returned.'."\n", - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => 'The trace ID.', - 'type' => 'string', - 'example' => '0a98a02315955564772843261e****', - ], - 'Data' => [ - 'description' => 'The returned data.', - 'type' => 'object', - 'properties' => [ - 'msg' => [ - 'description' => 'The description of the returned code.', - 'type' => 'string', - 'example' => 'success', - ], - 'success' => [ - 'description' => 'Indicates whether the traffic was removed. Valid values:'."\n" - .'* **true**: The traffic was removed.'."\n" - .'* **false**: The traffic failed to be removed.', - 'type' => 'boolean', - 'example' => 'True', - ], - ], - ], - 'ErrorCode' => [ - 'description' => 'The error code. '."\n" - ."\n" - .'- The **ErrorCode** parameter is not returned when the request succeeds.'."\n" - .'- The **ErrorCode** parameter is returned when the request fails. For more information, see **Error codes** in this topic.', - 'type' => 'string', - 'example' => 'Null', - ], - 'Code' => [ - 'description' => 'The HTTP status code. Valid values:'."\n" - ."\n" - .'* **2xx**: The request was successful.'."\n" - .'* **3xx**: The request was redirected.'."\n" - .'* **4xx**: The request failed.'."\n" - .'* **5xx**: A server error occurred.'."\n", - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => 'Indicates whether the traffic was removed. Valid values: '."\n" - ."\n" - .'- **true**: The traffic was removed.'."\n" - .'- **false**: The traffic failed to be removed.', - 'type' => 'string', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'DescribeEdasContainers', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:DescribeEdasContainers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B4D805CA-926D-41B1-8E63-7AD0C1ED****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a98a02315955564772843261e****\\",\\n \\"Data\\": {\\n \\"msg\\": \\"success\\",\\n \\"success\\": true\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": \\"true\\"\\n}","type":"json"}]', - 'title' => 'SuspendTraffic', - ], - 'ListApplicationCenterServiceInstances' => [ - 'summary' => '查询服务实例列表', - 'path' => '/pop/cas/v5/app/listApplicationCenterServiceInstances', - 'methods' => [ - 'get', + [ + 'apiName' => 'DeleteWebApplication', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteWebApplication', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'schemes' => [ - 'https', + [ + 'apiName' => 'DeleteApplicationScalingRule', + 'description' => '', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sae:DeleteApplicationScalingRule', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], + ], ], - 'security' => [ - [ - 'AK' => [], + [ + 'apiName' => 'ListAppServicesPage', + 'description' => '', + 'operationType' => '', + 'ramAction' => [ + 'action' => 'sae:ListAppServicesPage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ + [ + 'apiName' => 'ListAppVersions', + 'description' => '', 'operationType' => 'get', - 'abilityTreeCode' => '290708', - 'abilityTreeNodes' => [ - 'FEATUREsaeRVPNSA', + 'ramAction' => [ + 'action' => 'sae:ListAppVersions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], + ], ], ], - 'parameters' => [ - [ - 'name' => 'NamespaceId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing:test', + [ + 'apiName' => 'PublishWebApplicationRevision', + 'description' => '', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sae:PublishWebApplicationRevision', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], - [ - 'name' => 'RegionId', - 'in' => 'query', - 'schema' => [ - 'description' => '', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', + ], + [ + 'apiName' => 'ListConsumedServices', + 'description' => '', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sae:ListConsumedServices', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - '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' => '91F93257-7A4A-4BD3-9A7E-2F6EAE6D****', - ], - 'Message' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'success', - ], - 'TraceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => '0a981dd515966966104121683d****', - ], - 'Data' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ServiceInstances' => [ - 'description' => '', - 'type' => 'array', - 'items' => [ - 'description' => '', - 'type' => 'object', - 'properties' => [ - 'ServiceInstanceId' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'si-2063aea4b23b4781a26b', - ], - 'Name' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'tftestacc54', - ], - 'TemplateName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'Dify HA', - ], - 'CreateTime' => [ - 'description' => '', - 'type' => 'string', - 'example' => '2025-10-28T02:18:51Z', - ], - 'ServiceName' => [ - 'description' => '', - 'type' => 'string', - 'example' => 'user-service', - ], - ], - ], - ], - ], - ], - 'ErrorCode' => [ - 'description' => '', - 'type' => 'string', - 'example' => '', - ], - 'Code' => [ - 'description' => '', - 'type' => 'string', - 'example' => '200', - ], - 'Success' => [ - 'description' => '', - 'type' => 'boolean', - 'example' => 'true', - ], - ], + [ + 'apiName' => 'ListWebApplicationInstances', + 'description' => '', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sae:ListWebApplicationInstances', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SAE', 'resourceType' => 'All Resource', 'arn' => '*'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"91F93257-7A4A-4BD3-9A7E-2F6EAE6D****\\",\\n \\"Message\\": \\"success\\",\\n \\"TraceId\\": \\"0a981dd515966966104121683d****\\",\\n \\"Data\\": {\\n \\"ServiceInstances\\": [\\n {\\n \\"ServiceInstanceId\\": \\"si-2063aea4b23b4781a26b\\",\\n \\"Name\\": \\"tftestacc54\\",\\n \\"TemplateName\\": \\"Dify HA\\",\\n \\"CreateTime\\": \\"2025-10-28T02:18:51Z\\",\\n \\"ServiceName\\": \\"user-service\\"\\n }\\n ]\\n },\\n \\"ErrorCode\\": \\"空\\",\\n \\"Code\\": \\"200\\",\\n \\"Success\\": true\\n}","type":"json"}]', - ], - ], - 'endpoints' => [ - [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'sae.cn-beijing.aliyuncs.com', - ], - [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'sae.cn-zhangjiakou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'sae.cn-wulanchabu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'sae.cn-hangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'sae.cn-shanghai.aliyuncs.com', - ], - [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'sae.cn-shenzhen.aliyuncs.com', - ], - [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'sae.cn-heyuan.aliyuncs.com', - ], - [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'sae.cn-guangzhou.aliyuncs.com', - ], - [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'sae.cn-chengdu.aliyuncs.com', - ], - [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'sae.cn-hongkong.aliyuncs.com', - ], - [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'sae.ap-northeast-1.aliyuncs.com', - ], - [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'sae.ap-southeast-1.aliyuncs.com', ], - [ - 'regionId' => 'us-east-1', - 'endpoint' => 'sae.us-east-1.aliyuncs.com', - ], - [ - 'regionId' => 'us-west-1', - 'endpoint' => 'sae.us-west-1.aliyuncs.com', - ], - [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'sae.eu-central-1.aliyuncs.com', + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'Application', 'arn' => 'acs:sae:{#regionId}:{#accountId}:application/{#ApplicationId}'], + ['validationType' => 'always', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:namespace/{#NamespaceId}'], + ['validationType' => 'always', 'resourceType' => 'Namespace', 'arn' => 'acs:sae:{#regionId}:{#accountId}:*'], + ['validationType' => 'always', 'resourceType' => 'Application', 'arn' => 'acs:sae:{#regionId}:{#accountId}:application/{#namespaceid}/{#appid}'], ], ], ]; |
