summaryrefslogtreecommitdiff
path: root/data/en_us/sae/2019-05-06/api-docs.php
diff options
context:
space:
mode:
Diffstat (limited to 'data/en_us/sae/2019-05-06/api-docs.php')
-rw-r--r--data/en_us/sae/2019-05-06/api-docs.php37810
1 files changed, 37810 insertions, 0 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
new file mode 100644
index 0000000..dd4a911
--- /dev/null
+++ b/data/en_us/sae/2019-05-06/api-docs.php
@@ -0,0 +1,37810 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'ROA',
+ 'product' => 'sae',
+ 'version' => '2019-05-06',
+ ],
+ 'directories' => [
+ [
+ 'id' => 194111,
+ 'title' => 'Service opening',
+ 'type' => 'directory',
+ 'children' => [
+ 'OpenSaeService',
+ ],
+ ],
+ [
+ 'id' => 194101,
+ 'title' => 'Common Service Management',
+ 'type' => 'directory',
+ 'children' => [
+ [
+ 'id' => 121181,
+ 'title' => 'Namespaces and VPCs',
+ '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',
+ 'type' => 'directory',
+ 'children' => [
+ 'GetArmsTopNMetric',
+ 'GetChangeOrderMetric',
+ 'GetScaleAppMetric',
+ 'GetWarningEventMetric',
+ ],
+ ],
+ ],
+ ],
+ [
+ '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',
+ 'type' => 'directory',
+ 'children' => [
+ 'ListConsumedServices',
+ 'ListPublishedServices',
+ 'ListAppServices',
+ ],
+ ],
+ [
+ 'id' => 194113,
+ 'title' => 'confidential dictionary management',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateSecret',
+ 'DescribeSecret',
+ 'ListSecrets',
+ 'UpdateSecret',
+ 'DeleteSecret',
+ ],
+ ],
+ [
+ 'id' => 121239,
+ 'title' => 'Label Management',
+ 'type' => 'directory',
+ 'children' => [
+ 'ListTagResources',
+ 'UntagResources',
+ 'TagResources',
+ ],
+ ],
+ [
+ 'id' => 194102,
+ 'title' => 'Configuration Item Management',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateConfigMap',
+ 'DeleteConfigMap',
+ 'UpdateConfigMap',
+ 'DescribeConfigMap',
+ 'ListNamespacedConfigMaps',
+ ],
+ ],
+ [
+ 'id' => 121168,
+ 'title' => 'Grayscale Label Routing',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateGreyTagRoute',
+ 'DeleteGreyTagRoute',
+ 'UpdateGreyTagRoute',
+ 'DescribeGreyTagRoute',
+ 'ListGreyTagRoute',
+ ],
+ ],
+ [
+ 'id' => 207429,
+ 'title' => 'End-to-End Canary Release',
+ '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',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeApplicationNlbs',
+ 'BindNlb',
+ 'DescribeApplicationSlbs',
+ 'BindSlb',
+ 'UnbindSlb',
+ 'UnbindNlb',
+ ],
+ ],
+ [
+ 'id' => 121174,
+ 'title' => 'Apply scaling rules',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateApplicationScalingRule',
+ 'DeleteApplicationScalingRule',
+ 'DisableApplicationScalingRule',
+ 'EnableApplicationScalingRule',
+ 'UpdateApplicationScalingRule',
+ 'DescribeApplicationScalingRule',
+ 'DescribeApplicationScalingRules',
+ ],
+ ],
+ ],
+ ],
+ [
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'id' => 194100,
+ 'title' => 'Job Task',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateJob',
+ 'DeleteHistoryJob',
+ 'DeleteJob',
+ 'DescribeJobStatus',
+ 'DescribeJob',
+ 'ExecJob',
+ 'ListJobs',
+ 'SuspendJob',
+ 'UpdateJob',
+ 'DescribeJobHistory',
+ ],
+ ],
+ [
+ 'id' => 179283,
+ 'title' => 'Other',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeConfigurationPrice',
+ 'GetWebshellToken',
+ 'UpdateAppMode',
+ 'QueryArmsEnable',
+ 'DescribeApplicationMseService',
+ 'BatchRestartApplications',
+ 'UpdateNamespaceSlsConfigs',
+ 'DisableArms',
+ 'ResumeTraffic',
+ 'SuspendTraffic',
+ 'ListApplicationCenterServiceInstances',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [
+ 'Container' => [
+ 'title' => 'TODO',
+ 'description' => 'The detailed configuration parameters of the container.'."\n",
+ 'visibility' => 'Public',
+ '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',
+ ],
+ 'EnvironmentVariables' => [
+ 'title' => '',
+ 'description' => 'The container environment variables.',
+ 'visibility' => 'Public',
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'CreateWebCustomDomainInput' => [
+ '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',
+ ],
+ ],
+ ],
+ 'DescribeInstanceLogsOutput' => [
+ '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',
+ ],
+ 'required' => false,
+ 'backendName' => 'webLogEntrys',
+ ],
+ ],
+ ],
+ 'DescribeWebAppStaticsOutput' => [
+ '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',
+ ],
+ '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',
+ ],
+ 'required' => false,
+ 'backendName' => 'webAppStatics',
+ ],
+ ],
+ ],
+ 'DescribeWebStaticsQueryOutput' => [
+ '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',
+ ],
+ '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',
+ ],
+ 'required' => false,
+ 'backendName' => 'webStatics',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ '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',
+ 'required' => false,
+ 'example' => 'http',
+ 'backendName' => 'scheme',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'ImageRegistryConfig' => [
+ 'title' => 'A short description of struct',
+ 'description' => '',
+ 'visibility' => 'Public',
+ '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',
+ ],
+ ],
+ ],
+ 'InitContainerConfig' => [
+ 'title' => '',
+ 'description' => '',
+ 'visibility' => 'Public',
+ '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',
+ ],
+ ],
+ ],
+ 'ListWebApplicationInstancesBody' => [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'Revisions' => [
+ 'title' => '',
+ 'description' => 'The versions.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The version information.'."\n",
+ 'visibility' => 'Public',
+ 'extendType' => 'true',
+ '$ref' => '#/components/schemas/Revision',
+ ],
+ 'required' => false,
+ 'backendName' => 'revisions',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'WebApplicationWithInstanceCount' => [
+ 'title' => '',
+ 'description' => 'The applications.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'IP ACL.'."\n",
+ 'visibility' => 'Public',
+ 'extendType' => 'true',
+ '$ref' => '#/components/schemas/WebApplicationWithInstanceCount',
+ ],
+ 'required' => false,
+ 'backendName' => 'webApplicationWithInstanceCount',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'WebCustomDomains' => [
+ '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',
+ ],
+ 'required' => false,
+ 'backendName' => 'webCustomDomains',
+ ],
+ ],
+ ],
+ 'ListWebInstancesOutput' => [
+ 'title' => '',
+ 'description' => 'The details of the application instance.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'WebInstances' => [
+ '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',
+ ],
+ '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',
+ 'example' => '',
+ 'backendName' => 'currentError',
+ ],
+ 'WebVersionStatus' => [
+ 'title' => '',
+ 'description' => 'The instance status.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'required' => false,
+ 'additionalProperties' => [
+ 'description' => 'The instance status.'."\n",
+ 'visibility' => 'Public',
+ '$ref' => '#/components/schemas/WebVersionStatus',
+ ],
+ 'backendName' => 'webVersionStatus',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'PublishWebApplicationRevisionInput' => [
+ 'title' => 'TODO',
+ 'description' => 'The response parameters.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Containers' => [
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'RegistryAuthenticationConfig' => [
+ 'title' => 'A short description of struct',
+ 'description' => '',
+ 'visibility' => 'Public',
+ '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',
+ ],
+ ],
+ ],
+ 'RegistryCertificateConfig' => [
+ 'title' => 'A short description of struct',
+ 'description' => '',
+ 'visibility' => 'Public',
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'RevisionConfig' => [
+ 'title' => 'TODO',
+ 'description' => 'The configurations of the revision version.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'Containers' => [
+ 'title' => '',
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'SidecarContainerConfig' => [
+ 'title' => '',
+ 'description' => 'The configurations of the Sidecar container.'."\n",
+ 'visibility' => 'Public',
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'SLSCollectConfigs' => [
+ 'title' => 'TODO',
+ 'description' => 'The log collection configurations of the container.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'CollectConfigs' => [
+ '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',
+ ],
+ 'required' => false,
+ 'backendName' => 'collectConfigs',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'UpdateWebApplicationScalingConfigInput' => [
+ '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',
+ ],
+ ],
+ ],
+ 'UpdateWebApplicationTrafficConfigInput' => [
+ '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',
+ ],
+ 'RevisionsTrafficWeight' => [
+ 'title' => '',
+ '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',
+ ],
+ 'backendName' => 'revisionsTrafficWeight',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'WebAclConfig' => [
+ 'title' => '',
+ 'description' => 'The IP ACL.'."\n",
+ 'visibility' => 'Public',
+ 'type' => 'object',
+ 'properties' => [
+ 'WebAclEntries' => [
+ 'title' => '',
+ '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',
+ ],
+ 'required' => true,
+ 'nullable' => true,
+ 'backendName' => 'webAclEntries',
+ ],
+ 'AclDescription' => [
+ 'title' => '',
+ 'description' => '',
+ 'visibility' => 'Private',
+ 'type' => 'string',
+ 'example' => '192.168.0.0/24',
+ 'backendName' => 'aclDescription',
+ ],
+ ],
+ ],
+ 'WebAclEntryConfig' => [
+ 'title' => '',
+ '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',
+ ],
+ ],
+ ],
+ 'WebApplication' => [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'WebApplicationInstanceLogsBody' => [
+ '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',
+ ],
+ ],
+ ],
+ 'WebApplicationResourceStaticsBody' => [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'WebApplicationScalingConfigBody' => [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'WebApplicationTrafficConfigBody' => [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'WebCustomDomain' => [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'required' => false,
+ 'maxItems' => 5,
+ 'backendName' => 'mountPoints',
+ 'itemName' => 'item',
+ ],
+ ],
+ ],
+ 'WebNASMountPoint' => [
+ 'title' => '',
+ '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',
+ ],
+ ],
+ ],
+ 'WebNetworkConfig' => [
+ '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',
+ ],
+ 'VSwitchIds' => [
+ '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',
+ ],
+ 'required' => false,
+ 'maxItems' => 10,
+ 'backendName' => 'vSwitchIds',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'required' => false,
+ 'maxItems' => 5,
+ 'backendName' => 'mountPoints',
+ 'itemName' => 'item',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'WebScalingConfig' => [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'required' => false,
+ 'backendName' => 'cipherSuites',
+ 'itemName' => 'item',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'WebTrafficConfig' => [
+ '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',
+ ],
+ 'RevisionsTrafficWeight' => [
+ 'title' => '',
+ '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',
+ ],
+ 'backendName' => 'revisionsTrafficWeight',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'parseType' => 'struct',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'apis' => [
+ 'OpenSaeService' => [
+ 'path' => '/service/open',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ [
+ 'APP' => [],
+ ],
+ [
+ 'PrivateKey' => [],
+ ],
+ [
+ 'BearerToken' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '20152',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => 'enableWAF',
+ 'type' => 'string',
+ 'example' => '559B4247-C41C-4D9E-B866-B55D378B****',
+ ],
+ 'OrderId' => [
+ 'description' => 'PushEvent',
+ 'type' => 'string',
+ 'example' => '20485646575****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ORDER.OPEND',
+ 'errorMessage' => 'order opend.',
+ ],
+ [
+ 'errorCode' => 'Pay.Insufficient.Balance',
+ 'errorMessage' => 'pay insufficient balance',
+ ],
+ ],
+ ],
+ '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",
+ ],
+ 'CreateNamespace' => [
+ 'path' => '/pop/v1/paas/namespace',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '6307',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The trace ID that is used to query the details of the request.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'EnableMicroRegistration',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned data.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The information about a namespace.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'OperationFailed.DauthHttpRequest',
+ 'errorMessage' => 'request dauth failed.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '6306',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeBRTWZ3',
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ 'description' => '-',
+ 'example' => '-',
+ ],
+ ],
+ [
+ 'name' => 'EnableXForwardedForProto',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ 'description' => '-',
+ 'example' => '-',
+ ],
+ ],
+ [
+ 'name' => 'EnableXForwardedForSlbId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ 'description' => '-',
+ 'example' => '-',
+ ],
+ ],
+ [
+ 'name' => 'EnableXForwardedForSlbPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ 'description' => '-',
+ 'example' => '-',
+ ],
+ ],
+ [
+ 'name' => 'AddressType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => '-',
+ 'example' => '-',
+ ],
+ ],
+ [
+ 'name' => 'LoadBalancerEdition',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => '-',
+ 'example' => '-',
+ ],
+ ],
+ [
+ 'name' => 'ZoneMappings',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => '-',
+ 'example' => '-',
+ ],
+ ],
+ [
+ 'name' => 'CorsConfig',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ 'description' => '-',
+ 'example' => '-',
+ ],
+ ],
+ [
+ 'name' => 'EnableGzip',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ 'description' => '-',
+ 'example' => '-',
+ ],
+ ],
+ ],
+ '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. This parameter is used to query the exact call information.'."\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' => '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'InvalidResponse.Api',
+ 'errorMessage' => 'The response of API %s is empty.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '6314',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'cn-beijing:test'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'NameSpaceShortId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ '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' => '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'InvalidNamespaceId.NotFound',
+ 'errorMessage' => 'The specified NamespaceId does not exist.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'OperationFailed.DauthHttpRequest',
+ 'errorMessage' => 'request dauth failed.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '6313',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IngressId',
+ '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',
+ ],
+ ],
+ ],
+ '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.'."\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' => [
+ 'IngressId' => [
+ 'description' => 'The ID of the deleted routing rule.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '87',
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6403',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'NamespaceName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the namespace. The name cannot exceed 64 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'name',
+ ],
+ ],
+ [
+ 'name' => 'NamespaceDescription',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the namespace. The description cannot exceed 100 characters in length.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'desc',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'EnableMicroRegistration',
+ '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',
+ ],
+ ],
+ ],
+ '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' => '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The information about a namespace.'."\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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'InvalidNamespaceId.NotFound',
+ 'errorMessage' => 'The specified NamespaceId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6404',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'vpc-2ze0i263cnn311nvj\\*\\*\\*\\*'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'VpcId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'vpc-2ze0i263cnn311nvj****',
+ ],
+ ],
+ [
+ 'name' => 'NameSpaceShortId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DeleteFail.NamespaceHasIngress',
+ 'errorMessage' => 'Ingress detected when deleting the namespace.',
+ ],
+ [
+ 'errorCode' => 'Namespace.AppExists',
+ 'errorMessage' => 'Please delete the application first.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6398',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****',
+ ],
+ ],
+ [
+ 'name' => 'VSwitchId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the vSwitch.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'vsw-2ze559r1z1bpwqxwp****',
+ ],
+ ],
+ [
+ 'name' => 'Deploy',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ [
+ 'name' => 'MinReadyInstances',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ [
+ 'name' => 'MinReadyInstanceRatio',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6401',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeBRTWZ3',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IngressId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the routing rule.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '87',
+ ],
+ ],
+ [
+ 'name' => 'CertId',
+ '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****',
+ ],
+ ],
+ [
+ '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' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the routing rule.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ingress-sae-test',
+ ],
+ ],
+ [
+ 'name' => 'ListenerPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The SLB listening port. This port cannot be occupied.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '443',
+ ],
+ ],
+ [
+ '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 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}',
+ ],
+ ],
+ [
+ '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' => 'LoadBalanceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The parameter is deprecated and cannot be updated.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'clb',
+ ],
+ ],
+ [
+ 'name' => 'ListenerProtocol',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'RequestTimeout',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'SecurityPolicyId',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'IdleTimeout',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'EnableXForwardedFor',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'EnableXForwardedForClientSrcPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'EnableXForwardedForProto',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'EnableXForwardedForSlbId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'EnableXForwardedForSlbPort',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'CorsConfig',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'EnableGzip',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6338',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ '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.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6341',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries per page. Valid values: 0 to 10000.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ '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' => '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6339',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeBRTWZ3',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ContainCustom',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'HybridCloudExclude',
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6369',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae5BSSHJ',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number of the page to return.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'f7730764-d88f-4b9a-8d8e-cd8efbfe****',
+ ],
+ ],
+ [
+ 'name' => 'ObjectKind',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the object. 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",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Pod',
+ ],
+ ],
+ [
+ 'name' => 'ObjectName',
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'EventType',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Reason',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The cause of the event. Fuzzy search by prefix is supported.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Started',
+ ],
+ ],
+ [
+ 'name' => 'Namespace',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-beijing',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'get.event.error',
+ 'errorMessage' => 'Failed to obtain event information.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.NotEmpty',
+ 'errorMessage' => 'You must specify the parameter %s.',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '75166',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'cn-shanghai:test'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => true,
+ 'example' => 'cn-shanghai:test',
+ ],
+ ],
+ [
+ 'name' => 'CoStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '2'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'CoType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'CoBatchStartApplication'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'CoBatchStartApplication',
+ ],
+ ],
+ [
+ 'name' => 'Key',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'test'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '1'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '20'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ ],
+ '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' => '[email protected]',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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\\": \\"[email protected]\\",\\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>[email protected]</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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6340',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'cn-shanghai:test'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-shanghai:test',
+ ],
+ ],
+ [
+ 'name' => 'NameSpaceShortId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ '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"
+ ."\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****',
+ ],
+ 'Data' => [
+ 'description' => 'The returned data.'."\n",
+ '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' => '[email protected]',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameter.Obviously',
+ 'errorMessage' => 'The specified parameter is invalid {%s}.',
+ ],
+ ],
+ ],
+ '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\\": \\"[email protected]\\",\\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>[email protected]</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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6335',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRW2OE6',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'IngressId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the routing rule to be queried.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '87',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned data.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The result returned.'."\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-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",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Enable' => [
+ 'type' => 'string',
+ ],
+ 'ExposeHeaders' => [
+ 'type' => 'string',
+ ],
+ 'AllowHeaders' => [
+ 'type' => 'string',
+ ],
+ 'AllowMethods' => [
+ 'type' => 'string',
+ ],
+ 'AllowOrigin' => [
+ 'type' => 'string',
+ ],
+ 'AllowCredentials' => [
+ 'type' => 'string',
+ ],
+ 'MaxAge' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'EnableGzip' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6374',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRW2OE6',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of a namespace.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-beijing',
+ ],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of an application.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'bbf3a590-6d13-46fe-8ca9-c947a20b****',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned data.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The result returned.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6343',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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 &lt;a target=\'_blank\' href=\'https://help.aliyun.com/knowledge_detail/106573.html#EDAS-10022\'&gt;应用启动时 READINESS 检查失败&lt;/a&gt;</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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '16756',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeK7DHH9',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The field based on which you want to sort the returned entries.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'OrderBy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of entries to return. Valid values: 0 to 100.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'count',
+ ],
+ ],
+ [
+ 'name' => 'Limit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The beginning of the time range to query.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1675823135951',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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****',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '14387',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'CreateTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The start time when the change order was created.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '1661152748883',
+ ],
+ ],
+ [
+ 'name' => 'OrderBy',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The field based on which you want to sort the returned entries.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'errorPercent',
+ ],
+ ],
+ [
+ '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',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ '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' => '',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '14386',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'StartTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The beginning of the time range to query.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1675823135951',
+ ],
+ ],
+ [
+ 'name' => 'EndTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end of the time range to query.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1675824035951',
+ ],
+ ],
+ [
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ '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-558568D2****',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '6303',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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.',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Replicas',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of instances when initialized.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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"]',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'EdasContainerVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version of the container in HSF.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3.5.3',
+ ],
+ ],
+ [
+ 'name' => 'Timezone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Time zone. Default to time zone of Asia/Shanghai.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Asia/Shanghai',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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: "/"}]',
+ ],
+ ],
+ [
+ '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"]}}',
+ ],
+ ],
+ [
+ '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"]}}',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ 'name' => 'SecurityGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Security group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sg-wz969ngg2e49q5i4****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'PhpConfig',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The details of the PHP configuration file.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k1=v1',
+ ],
+ ],
+ [
+ '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}',
+ ],
+ ],
+ [
+ '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}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ImagePullSecrets',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the corresponding Secret.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ProgrammingLanguage',
+ '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',
+ ],
+ ],
+ [
+ '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"}]}',
+ ],
+ ],
+ [
+ '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}',
+ ],
+ ],
+ [
+ '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 enterprise edition Nacos registry',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '"0"',
+ ],
+ ],
+ [
+ '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' => '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"}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Dotnet',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'EnableEbpf',
+ 'in' => 'query',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'AppSource',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Select micro_service, which is the application.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'micro_service',
+ ],
+ ],
+ [
+ 'name' => 'BaseAppId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The ID of the basic application.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'ee99cce6-1c8e-4bfa-96c3-3e2fa9de8a41',
+ ],
+ ],
+ [
+ 'name' => 'ServiceTags',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The canary tag configured for the application.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{\\"alicloud.service.tag\\":\\"g1\\"}',
+ ],
+ ],
+ [
+ 'name' => 'EnableNewArms',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'EnableCpuBurst',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Enable CPU Burst.'."\n"
+ .'- true: enable'."\n"
+ .'- false: disable',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ 'name' => 'EnableSidecarResourceIsolated',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Enable Sidecar resource isolation.'."\n"
+ ."\n"
+ .'- true: enable'."\n"
+ .'- false: disable',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The resource type. Supports NULL (default) and haiguang (haiguang server).',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'UNLL',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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}}',
+ ],
+ ],
+ [
+ 'name' => 'DiskSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The disk size. Unit: GB.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '50',
+ ],
+ ],
+ [
+ 'name' => 'InitContainersConfig',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'Initialize container configuration.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Initialize container configuration.',
+ 'required' => false,
+ '$ref' => '#/components/schemas/InitContainerConfig',
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'GpuConfig',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'StartupProbe',
+ '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}',
+ ],
+ ],
+ [
+ 'name' => 'IsStateful',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'EnablePrometheus',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'HeadlessPvtzDiscoverySvc',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'Html',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'EmptyDirDesc',
+ 'in' => 'formData',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'AgentVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'EnableNamespaceAgentVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ [
+ 'name' => 'EnableNamespaceSlsConfig',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ [
+ 'name' => 'SlsLogEnvTags',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'sls log tags',
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'LokiConfigs',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ '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. 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****',
+ ],
+ '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****',
+ ],
+ 'AppId' => [
+ 'description' => 'The ID of the application that is created.'."\n",
+ 'type' => 'string',
+ 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '6310',
+ '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****',
+ ],
+ ],
+ ],
+ '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. 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****',
+ ],
+ 'Data' => [
+ 'description' => 'The result returned.'."\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' => '01db03d3-3ee9-48b3-b3d0-dfce2d88****',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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":""}]',
+ 'title' => 'DeleteApplication',
+ 'summary' => 'Deletes an application.',
+ ],
+ 'DeleteInstances' => [
+ 'summary' => 'Deletes an application instance.',
+ 'path' => '/pop/v1/sam/app/deleteInstances',
+ 'methods' => [
+ 'put',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'InstanceIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the instance to be deleted.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'demo-aaed579c-1f8a-431e-8705-97d18e91c7b4******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned information.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6391',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ '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****',
+ ],
+ '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",
+ '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****',
+ ],
+ ],
+ ],
+ 'ErrorCode' => [
+ 'description' => 'Indicates whether the specified application is stopped. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6390',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ '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' => '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The returned result.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ChangeOrderId' => [
+ 'description' => 'The ID of the change order.'."\n",
+ 'type' => 'string',
+ 'example' => '4a815998-b468-4bea-b7d8-59f52a44****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '22522',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae5HLO11',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the application.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****',
+ ],
+ ],
+ [
+ 'name' => 'InstanceIds',
+ '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****',
+ ],
+ ],
+ ],
+ '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-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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '10540',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The data returned.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'InvalidAppId.NotFound',
+ 'errorMessage' => 'The specified AppId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6399',
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'SecurityGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the security group.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sg-wz969ngg2e49q5i4****',
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6324',
+ '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****',
+ ],
+ ],
+ ],
+ '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' => [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6372',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '1'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '145341c-9708-4967-b3ec-24933767****',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '20'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'test'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'Key',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'CoCreateApp'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'CoStatus',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ [
+ 'name' => 'OrderBy',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Reverse',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The information about change orders.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'InvalidAppId.NotFound',
+ 'errorMessage' => 'The specified AppId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6325',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ChangeOrderId',
+ '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****',
+ ],
+ ],
+ ],
+ '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.'."\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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'InvalidAppId.NotFound',
+ 'errorMessage' => 'The specified AppId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6337',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6316',
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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"]',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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}',
+ ],
+ ],
+ [
+ '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}',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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' => 'BatchWaitTime',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The interval between batches during a batch release. Unit: minutes.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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}}',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ 'name' => 'Timezone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time zone. Default value: **Asia/Shanghai**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Asia/Shanghai',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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: "/"}]',
+ ],
+ ],
+ [
+ '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"]}}',
+ ],
+ ],
+ [
+ '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"]}}',
+ ],
+ ],
+ [
+ 'name' => 'ChangeOrderDesc',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The description of the change order.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Start the application'."\n",
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'PhpConfig',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The details of the PHP configuration file.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k1=v1',
+ ],
+ ],
+ [
+ '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}',
+ ],
+ ],
+ [
+ '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}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ImagePullSecrets',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the corresponding Secret.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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"}]}',
+ ],
+ ],
+ [
+ '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}',
+ ],
+ ],
+ [
+ '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\\"}',
+ ],
+ ],
+ [
+ '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"',
+ ],
+ ],
+ [
+ '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\\"}',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Replicas',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of instances.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'SecurityGroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Security group ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sg-wz969ngg2e49q5i4****',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'ServiceTags',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The gray-release tag of the application.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{\\"alicloud.service.tag\\":\\"g1\\"}',
+ ],
+ ],
+ [
+ 'name' => 'EnableNewArms',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Enable new ARMS features.'."\n"
+ ."\n"
+ .'- true: enable'."\n"
+ ."\n"
+ .'- false: disable',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'EnableCpuBurst',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Enable CPU Burst.'."\n"
+ ."\n"
+ .'true: enable'."\n"
+ ."\n"
+ .'false: disable',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ 'name' => 'EnableSidecarResourceIsolated',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'Enable Sidecar resource isolation.'."\n"
+ ."\n"
+ .'true: enable'."\n"
+ ."\n"
+ .'false: disable',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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}}',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'InitContainersConfig',
+ 'in' => 'formData',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'Initialize container configuration.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Initialize container configuration.',
+ 'required' => false,
+ '$ref' => '#/components/schemas/InitContainerConfig',
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'GpuConfig',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ '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}',
+ ],
+ ],
+ [
+ 'name' => 'EnablePrometheus',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ [
+ 'name' => 'Html',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'EmptyDirDesc',
+ 'in' => 'formData',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'AlbIngressReadinessGate',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'MaxSurgeInstances',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ [
+ 'name' => 'MaxSurgeInstanceRatio',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ ],
+ ],
+ [
+ 'name' => 'AgentVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'EnableNamespaceAgentVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ [
+ 'name' => 'SlsLogEnvTags',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => 'sls log tags',
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'LokiConfigs',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ '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. 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****',
+ ],
+ '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****',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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',
+ 'summary' => 'Deploys an application.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'RescaleApplicationVertically' => [
+ 'path' => '/pop/v1/sam/app/rescaleApplicationVertically',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '6386',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The app ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****',
+ ],
+ ],
+ [
+ 'name' => 'Cpu',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Target CPU specification. Unit: millicore.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '1000',
+ ],
+ ],
+ [
+ 'name' => 'Memory',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Target memory specification. Unit: MB.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '2048',
+ ],
+ ],
+ [
+ 'name' => 'minReadyInstances',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Minimum ready instances.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'minReadyInstanceRatio',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ratio of minimum ready instances.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '50',
+ ],
+ ],
+ [
+ 'name' => 'autoEnableApplicationScalingRule',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Enable application scale rules automatically.',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DiskSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The disk size. Unit: GB.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'VSwitchId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'Deploy',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'Data returned.',
+ 'type' => 'object',
+ 'properties' => [
+ 'ChangeOrderId' => [
+ 'description' => 'The ticked ID of updates.',
+ 'type' => 'string',
+ 'example' => 'ffd8cd45-2b5f-415d-b4d0-1003e80b****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ 'ConfirmPipelineBatch' => [
+ 'path' => '/pop/v1/sam/changeorder/ConfirmPipelineBatch',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '6302',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'PipelineId',
+ '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-***',
+ ],
+ ],
+ [
+ 'name' => 'Confirm',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'true'."\n",
+ 'type' => 'boolean',
+ 'required' => true,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The batch information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'PipelineId' => [
+ 'description' => 'The ID of the batch.'."\n",
+ 'type' => 'string',
+ 'example' => 'e2e-vds-feh-***',
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ '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****',
+ ],
+ ],
+ ],
+ '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.'."\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' => [
+ 'ChangeOrderId' => [
+ 'description' => 'The ID of the change order.'."\n",
+ 'type' => 'string',
+ 'example' => 'ba386059-69b1-4e65-b1e5-0682d9fa****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6385',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae5HLO11',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the application.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****',
+ ],
+ ],
+ [
+ 'name' => 'Replicas',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The expected number of instances.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '5',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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 **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. 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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The data returned.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ChangeOrderId' => [
+ 'description' => 'The ID of the change order.'."\n",
+ 'type' => 'string',
+ 'example' => '0e09829f-4914-4612-bc88-6f52fd81****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '6387',
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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 **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',
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ChangeOrderId' => [
+ 'description' => 'The ID of the change process.'."\n",
+ 'type' => 'string',
+ 'example' => '4a815998-b468-4bea-b7d8-59f52a44****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'Associate.Eip.Not.Enough',
+ 'errorMessage' => 'No sufficient EIPs are available.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6292',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ChangeOrderId' => [
+ 'description' => 'The ID of the change order.'."\n",
+ 'type' => 'string',
+ 'example' => 'be2e1c76-682b-4897-98d3-1d8d6478****',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6389',
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ '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' => '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****',
+ ],
+ '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****',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '6295',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application version.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1.0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The ID of the change order.'."\n",
+ '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****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '6294',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application version.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '1.0',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ '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****',
+ ],
+ '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",
+ '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****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '6360',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeK7DHH9',
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The returned result.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Status' => [
+ 'description' => 'Indicates whether ARMS advanced monitoring is disabled. Valid values:'."\n"
+ ."\n"
+ .'* **true**'."\n"
+ .'* **false**'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '6406',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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****',
+ ],
+ 'Data' => [
+ '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",
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6373',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeY046YN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the application.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****',
+ ],
+ ],
+ ],
+ '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 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 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',
+ ],
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6378',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeY046YN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the application.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'b2a8a925-477a-4ed7-b825-d5e22500****',
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ 'Name' => [
+ 'description' => 'The name of the published service.'."\n",
+ 'type' => 'string',
+ 'example' => 'com.alibaba.nodejs.ItemService',
+ ],
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameter.Obviously',
+ 'errorMessage' => 'The specified parameter is invalid {%s}.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.NotEmpty',
+ 'errorMessage' => 'You must specify the parameter %s.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'ServiceType',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'NacosNamespaceId',
+ '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",
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'VpcId',
+ '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",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vpc-2ze0i263cnn311nvj****',
+ ],
+ ],
+ [
+ 'name' => 'NamespaceId',
+ '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",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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****',
+ ],
+ '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',
+ ],
+ 'ServicePorts' => [
+ 'description' => 'The list of ports.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The port number.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8000',
+ ],
+ ],
+ 'ServicePortAndProtocol' => [
+ 'description' => 'The ports and protocols.'."\n",
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'string',
+ 'example' => '8000:TCP',
+ 'description' => 'The ports and protocols.'."\n",
+ ],
+ ],
+ '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',
+ 'example' => '',
+ ],
+ 'AppId' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****',
+ ],
+ 'AppName' => [
+ 'description' => 'The name of the application.'."\n",
+ 'type' => 'string',
+ 'example' => 'demo-app',
+ ],
+ 'SecurityGroupId' => [
+ 'description' => 'The IDs of the security groups.'."\n",
+ 'type' => 'string',
+ 'example' => 'sg-wz969ngg2e49q5i4****',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Micro.Service.NotFound',
+ 'errorMessage' => 'The micro service not found {%s}.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Obviously',
+ 'errorMessage' => 'The specified parameter is invalid {%s}.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ '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,
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The returned result.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'SecretId' => [
+ 'description' => 'The ID of the created Secret.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '16',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '159990',
+ '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' => '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.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '1000000000',
+ 'minimum' => '1',
+ 'example' => '16',
+ ],
+ ],
+ ],
+ '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. 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 response.'."\n",
+ '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",
+ ],
+ ],
+ '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",
+ '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****',
+ ],
+ 'AppName' => [
+ 'description' => 'The name of the application.'."\n",
+ 'type' => 'string',
+ 'example' => 'test-app',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '159992',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The data returned.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Secrets' => [
+ 'description' => 'The Secrets.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the Secret object.'."\n",
+ '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",
+ '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****',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'InvalidNamespaceId.NotFound',
+ 'errorMessage' => 'The specified NamespaceId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '159988',
+ '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' => 'SecretId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'maximum' => '1000000000',
+ 'minimum' => '1',
+ 'example' => '16',
+ ],
+ ],
+ [
+ '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. For more information, see [Manage a Kubernetes Secret](~~463383~~).'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{".dockerconfigjson":"eyJhdXRocyI6eyJyZWdpc3RyeS12cGMuY24tYmVpamluZy5hbGl5dW5jcy5jb20iOnsidXNlcm5hbWUiOiJ1c2VybmFtZSIsInBhc3N3b3JkIjoicGFzc3dvcmQiLCJhdXRoIjoiZFhObGNtNWhiV1U2Y0dGemMzZHZjbVE9In0sInJlZ2lzdHJ5LmNuLWJlaWppbmcuYWxpeXVuY3MuY29tIjp7InVzZXJuYW1lIjoidXNlcm5hbWUiLCJwYXNzd29yZCI6InBhc3N3b3JkIiwiYXV0aCI6ImRYTmxjbTVoYldVNmNHRnpjM2R2Y21RPSJ9fX0="}',
+ ],
+ ],
+ 'required' => true,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'SecretId' => [
+ 'description' => '',
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '16',
+ ],
+ ],
+ ],
+ 'ErrorCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'DeleteSecret' => [
+ 'summary' => 'Deletes a Secret.',
+ 'path' => '/pop/v1/sam/secret/secret',
+ 'methods' => [
+ 'delete',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '159989',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'SecretId',
+ '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',
+ ],
+ ],
+ ],
+ '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. 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 response.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'SecretId' => [
+ 'description' => 'The ID of the deleted Secret.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '16',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'OperationFailed.RPCError',
+ 'errorMessage' => 'Internal RPC request processing error.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'ListTagResources' => [
+ 'path' => '/tags',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6379',
+ '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' => 'NextToken',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ResourceIds',
+ '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"}]',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned data.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The returned data.'."\n",
+ '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",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '6396',
+ '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',
+ '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****"]',
+ ],
+ ],
+ [
+ 'name' => 'TagKeys',
+ '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',
+ ],
+ ],
+ ],
+ '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' => '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '6393',
+ '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' => '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****"]',
+ ],
+ ],
+ ],
+ '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' => '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '6305',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Name',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the namespace to which the ConfigMap instance belongs.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'Data',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => 'The ID of the namespace to which the ConfigMap instance belongs.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Data' => [
+ 'description' => 'The ConfigMap data.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"env.shell": "/bin/sh"}',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '{"env.home": "/root", "env.shell": "/bin/sh"}',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The description. The description must be 1 to 255 characters in length, and cannot contain spaces.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The trace ID that is used to query the details of the request.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ConfigMapId' => [
+ 'description' => 'The returned result.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 500 => [
+ [
+ 'errorCode' => 'OperationFailed.RPCError',
+ 'errorMessage' => 'Internal RPC request processing error.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '6312',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ConfigMapId',
+ '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',
+ ],
+ ],
+ ],
+ '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' => [
+ 'ConfigMapId' => [
+ 'description' => 'The ID of the deleted ConfigMap.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6400',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ConfigMapId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'Data',
+ 'in' => 'body',
+ 'style' => 'json',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Data' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '{"env.shell": "/bin/sh"}',
+ ],
+ ],
+ 'required' => false,
+ 'example' => '{"env.home": "/root", "env.shell": "/bin/sh"}',
+ ],
+ ],
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test-desc',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ '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",
+ 'type' => 'object',
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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.',
+ ],
+ 'DescribeConfigMap' => [
+ 'path' => '/pop/v1/sam/configmap/configMap',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6328',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ConfigMapId',
+ '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',
+ ],
+ ],
+ ],
+ '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' => [
+ '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",
+ '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',
+ ],
+ 'RelateApps' => [
+ 'description' => 'The application that is associated with the ConfigMap.'."\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****',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'InvalidNamespaceId.NotFound',
+ 'errorMessage' => 'The specified NamespaceId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6377',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'cn-hangzhou'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ '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 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****',
+ ],
+ 'Data' => [
+ 'description' => 'The returned result.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ConfigMaps' => [
+ 'description' => 'The ConfigMap instances.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ '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",
+ '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',
+ ],
+ '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****',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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**: 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'InvalidNamespaceId.NotFound',
+ 'errorMessage' => 'The specified NamespaceId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'produces' => [],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '10251',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeETR3ZD',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '应用ID',
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7802c49a-67bc-4167-8369-9a9c003c****',
+ ],
+ ],
+ [
+ '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' => 'Description',
+ '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' => '灰度发布-地域灰度',
+ ],
+ ],
+ [
+ 'name' => 'ScRules',
+ '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"}]',
+ ],
+ ],
+ [
+ 'name' => 'DubboRules',
+ '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"}]',
+ ],
+ ],
+ [
+ 'name' => 'AlbRules',
+ '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"}]',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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: **\\>**, **&#x3C;**, **\\>=**, **&#x3C;=**, **\\==**, 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: **\\>**, **&#x3C;**, **\\>=**, **&#x3C;=**, **\\==**, 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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '10484',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeETR3ZD',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'GreyTagRouteId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '规则ID',
+ 'description' => 'The rule ID.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '10391',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeETR3ZD',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'Description',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '规则名称',
+ 'description' => 'The description of the canary release rule.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '灰度发布-地域灰度',
+ ],
+ ],
+ [
+ 'name' => 'ScRules',
+ 'in' => 'query',
+ '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"}]',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ 'name' => 'GreyTagRouteId',
+ 'in' => 'query',
+ 'schema' => [
+ 'title' => '规则ID',
+ 'description' => 'The ID of the canary release rule.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ [
+ 'name' => 'AlbRules',
+ '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"}]',
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ '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' => '1',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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: **\\>**, **&#x3C;**, **\\>=**, **&#x3C;=**, **\\==**, 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: **\\>**, **&#x3C;**, **\\>=**, **&#x3C;=**, **\\==**, 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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '10298',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeETR3ZD',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'GreyTagRouteId',
+ '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',
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ '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',
+ ],
+ '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****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '10488',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeCJEQQD',
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => '',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ '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' => [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'GroupName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the lane group.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'mse-test',
+ ],
+ ],
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of a namespace.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'AppIds',
+ '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,
+ ],
+ ],
+ [
+ 'name' => 'EntryAppType',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'EntryAppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The unique ID of the corresponding gateway.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'mse_ingresspost-cn-axc49******',
+ ],
+ ],
+ [
+ 'name' => 'SwimVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The end-to-end grayscale version. Valid values: 0 and 2 (recommended).'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The returned information.'."\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' => '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The application information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'GroupId' => [
+ 'description' => 'The ID of the lane group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '2074',
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'CreateOrUpdateSwimmingLane' => [
+ 'summary' => 'Creates or updates a lane.',
+ 'path' => '/pop/v1/cas/gray/createOrUpdateSwimmingLane',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ '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' => 'The ID of the lane.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '13857',
+ ],
+ ],
+ [
+ 'name' => 'LaneName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the lane.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'test',
+ ],
+ ],
+ [
+ 'name' => 'LaneTag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The tag of the lane.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"alicloud.service.tag":"g1"}',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'CanaryModel',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Enable',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Lane Status'."\n"
+ ."\n"
+ .'* true: enabled'."\n"
+ .'* false: disabled'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'AppEntryRule',
+ 'in' => 'query',
+ 'style' => 'json',
+ '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",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Item'."\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',
+ ],
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ '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",
+ ],
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'Created or updated swimlane results.'."\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****',
+ ],
+ 'Data' => [
+ 'description' => 'The returned information.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'LaneId' => [
+ 'description' => 'The ID of the lane.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'example' => '22318',
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'ListApplicationsForSwimmingLane' => [
+ 'summary' => 'Obtains the application list for the end-to-end grayscale pull application list.',
+ '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' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221435',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeUDWJ2L',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of a namespace.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The canary tag'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '{"alicloud.service.tag":"gray"}'."\n",
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The list of applications.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the application list.'."\n",
+ '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"}',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'ListSwimmingLaneGatewayRoutes' => [
+ 'summary' => 'Query the gateway routes that are available for a lane',
+ 'path' => '/pop/v1/cas/gray/listSwimmingLaneGatewayRoutes',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/x-www-form-urlencoded',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '221887',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeX255DA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the namespace.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'GatewayUniqueId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The unique ID of the gateway.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gw-277c0727535f4aae917e48de0f******',
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'Responses.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Details.'."\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",
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'ListSwimmingLaneGroupTags' => [
+ 'summary' => 'Queries all lane tags.',
+ 'path' => '/pop/v1/cas/gray/listSwimmingLaneGroupTags',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/x-www-form-urlencoded',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '221498',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeX255DA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of a namespace.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the lane group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '2074',
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'Responses.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Details.'."\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",
+ ],
+ ],
+ ],
+ ],
+ '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' => '',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/x-www-form-urlencoded',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221504',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeX255DA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of a namespace.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the lane group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '2074',
+ ],
+ ],
+ [
+ 'name' => 'LaneId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the lane.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '9637',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The returned information.'."\n",
+ '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****',
+ ],
+ '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"
+ ."\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"
+ ."\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******',
+ ],
+ ],
+ ],
+ ],
+ '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",
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'description' => 'The traffic ratio.'."\n",
+ 'example' => '100',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'ListAllSwimmingLanes' => [
+ 'summary' => 'Queries all swimlanes.',
+ 'path' => '/pop/v1/cas/gray/listSwimmingLanes',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/x-www-form-urlencoded',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221500',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeX255DA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of a namespace.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the lane group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '2074',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The returned information.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The output parameters of the node.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of the configuration.'."\n",
+ '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',
+ ],
+ 'Apps' => [
+ 'description' => 'The associated application.'."\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' => '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',
+ ],
+ ],
+ ],
+ ],
+ 'AppEntryRule' => [
+ 'description' => 'Apply ingress rules.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Paths' => [
+ 'description' => 'The request path.'."\n",
+ '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',
+ ],
+ '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.'."\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",
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ 'description' => 'The traffic ratio.'."\n",
+ ],
+ ],
+ ],
+ ],
+ 'MseGatewayEntryRule' => [
+ 'description' => 'MSE gateway routing'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'RouteIds' => [
+ 'description' => 'The IDs of the route tables.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The route ID.'."\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'."\n",
+ ],
+ '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'."\n",
+ ],
+ 'type' => [
+ 'description' => 'The matching rule.'."\n",
+ 'type' => 'string',
+ 'example' => 'Header'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'Conditions' => [
+ 'description' => 'The matching condition.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The condition item.'."\n",
+ '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",
+ ],
+ ],
+ ],
+ ],
+ 'IndependentPercentageEnable' => [
+ 'description' => 'Whether to enable proportional grayscale.'."\n",
+ 'type' => 'boolean',
+ 'example' => 'true'."\n",
+ ],
+ 'PercentageByRoute' => [
+ 'description' => 'The traffic configuration.'."\n",
+ 'type' => 'object',
+ 'additionalProperties' => [
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100'."\n",
+ 'description' => 'Configure the traffic ratio. The range is 1 to 100.'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ '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 ID of a namespace.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ ],
+ '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' => 'ac1a0b2215622246421415014e****',
+ ],
+ '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",
+ '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',
+ ],
+ ],
+ ],
+ 'SwimVersion' => [
+ 'description' => 'The end-to-end grayscale version. Valid values: 0 and 2 (recommended).'."\n",
+ 'type' => 'string',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'DeleteSwimmingLaneGroup' => [
+ 'summary' => 'Deletes a lane group.',
+ 'path' => '/pop/v1/cas/gray/deleteSwimmingLaneGroup',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/x-www-form-urlencoded',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '221434',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeX255DA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of a namespace.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:demo',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the lane group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '2074',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'UpdateSwimmingLaneEnableAttribute' => [
+ 'summary' => 'Update the enabled property of the swimlane.',
+ 'path' => '/pop/v1/cas/gray/updateSwimmingLaneEnableAttribute',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/x-www-form-urlencoded',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '221727',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeX255DA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of a namespace.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'GroupId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the lane group.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '2074',
+ ],
+ ],
+ [
+ 'name' => 'LaneId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the lane.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '9637',
+ ],
+ ],
+ [
+ 'name' => 'Enable',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Lane status:'."\n"
+ ."\n"
+ .'* true: enabled'."\n"
+ .'* false: disabled'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ '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' => '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => 'Schema of Response',
+ 'description' => 'The result returned.'."\n",
+ '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"
+ ."\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"
+ ."\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"
+ ."\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"
+ ."\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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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\\": \\"测试\\",\\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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6317',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The app id.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****',
+ ],
+ ],
+ [
+ 'name' => 'VersionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The version id.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '0026ff7f-2b57-4127-bdd0-9bf202bb****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The information about the application.'."\n",
+ '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.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'Initialize container configuration.',
+ '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.',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The key-value pair of ConfigMap.',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ 'EmptyDirDesc' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'type' => 'string',
+ ],
+ 'MountPath' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidApplication.NotFound',
+ 'errorMessage' => 'The current application does not exist.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'InvalidAppId.NotFound',
+ 'errorMessage' => 'The specified AppId does not exist.',
+ ],
+ ],
+ ],
+ '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.',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ 'DescribeInstanceLog' => [
+ 'path' => '/pop/v1/sam/instance/describeInstanceLog',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6336',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeKWESKE',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'InstanceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID.',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '******-d700e680-aa4d-4ec1-afc2-6566b5ff4d7a-85d44d4bfc-*****',
+ ],
+ ],
+ [
+ 'name' => 'ContainerId',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Previous',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response returned.',
+ '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****',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameter.NotEmpty',
+ 'errorMessage' => 'You must specify the parameter %s.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6327',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae25O0WL',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****',
+ ],
+ ],
+ [
+ 'name' => 'Type',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The type of the supported components. Valid values:'."\n"
+ ."\n"
+ .'* **TOMCAT**'."\n"
+ .'* **JDK**'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'TOMCAT',
+ ],
+ ],
+ ],
+ '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.'."\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 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',
+ ],
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidComponentType.NotFound',
+ 'errorMessage' => 'The specified Type does not exist.',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ 'DescribeEdasContainers' => [
+ 'path' => '/pop/v1/sam/resource/edasContainers',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6334',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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 components.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6319',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the application.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '8972',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ '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******',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The parameter returned.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The details of the application instance.'."\n",
+ '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",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The application instances.'."\n",
+ '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",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The status of the sidecar container.'."\n",
+ '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/******',
+ ],
+ ],
+ ],
+ ],
+ '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' => [
+ 'type' => 'array',
+ 'items' => [
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'type' => 'string',
+ ],
+ 'Value' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6318',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the application.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The page number.'."\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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ 'description' => '',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6370',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The current page number.',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'AppName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application name.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'demo-app',
+ ],
+ ],
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The namespace ID.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:demo',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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' => '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'NewSaeVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'Message' => [
+ 'description' => 'Additional message.',
+ 'type' => 'string',
+ 'example' => 'success',
+ ],
+ 'RequestId' => [
+ 'description' => 'Request ID.',
+ 'type' => 'string',
+ 'example' => 'B4D805CA-926D-41B1-8E63-7AD0C1ED****',
+ ],
+ 'Data' => [
+ 'description' => 'The queried applications.'."\n",
+ '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',
+ ],
+ 'Applications' => [
+ 'description' => 'The queried applications.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The information about the applications.'."\n",
+ '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****',
+ ],
+ 'Tags' => [
+ 'description' => 'The tags of the application.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The tag information.',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Illegal.argument',
+ 'errorMessage' => 'Illegal argument',
+ ],
+ ],
+ ],
+ '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.',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6375',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeI5LKBU',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '10'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '56f77b65-788d-442a-9885-7f20d91f****',
+ ],
+ ],
+ [
+ 'name' => 'PageSize',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '1'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The parameter returned.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The logging configurations.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'LogConfigs' => [
+ 'description' => 'The details of the logging configuration.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configuration of logs.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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":""}]',
+ 'title' => 'ListLogConfigs',
+ 'summary' => 'Queries a list of application logs.',
+ ],
+ 'ListAppVersions' => [
+ 'path' => '/pop/v1/sam/app/listAppVersions',
+ 'methods' => [
+ 'get',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6371',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The returned message.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The parameter returned.'."\n",
+ '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****',
+ ],
+ '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****',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidApplication.NotFound',
+ 'errorMessage' => 'The current application does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '8961',
+ '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',
+ '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-*****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The data returned.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The details of the application.'."\n",
+ 'type' => 'object',
+ 'properties' => [
+ 'ChangeOrderId' => [
+ 'description' => 'The ID of the change order.'."\n",
+ 'type' => 'string',
+ 'example' => '5afa5b98-0c64-4637-983f-15eaa888****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ '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',
+ ],
+ 'Data' => [
+ '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****',
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '101579',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeUDWJ2L',
+ ],
+ ],
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the namespace for the MSE Nacos instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'public',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The data that is returned.'."\n",
+ '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",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ '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",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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**: 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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}.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '100639',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeY046YN',
+ ],
+ ],
+ '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',
+ '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 returned on each page. Valid values: 0 to 9999.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '9999',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The data returned.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The details of services.'."\n",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The details of services.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Micro.Service.NotFound',
+ 'errorMessage' => 'The micro service not found {%s}.',
+ ],
+ [
+ 'errorCode' => 'InvalidParameter.Obviously',
+ 'errorMessage' => 'The specified parameter is invalid {%s}.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '261358',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeBRTWZ3',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the application.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ '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',
+ ],
+ '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' => '',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'BindNlb' => [
+ 'summary' => 'Associates a Network Load Balancer (NLB) instance with an application.',
+ 'path' => '/pop/v1/sam/app/nlb',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '259781',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeBRTWZ3',
+ ],
+ ],
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the NLB instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'nlb-7z7jjbzz44d82c9***',
+ ],
+ ],
+ [
+ 'name' => 'Listeners',
+ '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' => '',
+ ],
+ ],
+ [
+ 'name' => 'ZoneMappings',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'AddressType',
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The parameter returned.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The returned data.'."\n",
+ '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",
+ 'type' => 'array',
+ 'items' => [
+ 'description' => 'The configurations of the Internet-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 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',
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '6297',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '0099b7be-5f5b-4512-a7fc-56049ef1\\*\\*\\*\\*'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '0099b7be-5f5b-4512-a7fc-56049ef1****',
+ ],
+ ],
+ [
+ 'name' => 'Internet',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '\\[{"port":80,"targetPort":8080,"protocol":"TCP"}]'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[{"port":80,"targetPort":8080,"protocol":"TCP"}]',
+ ],
+ ],
+ [
+ 'name' => 'Intranet',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '\\[{"port":80,"targetPort":8080,"protocol":"TCP"}]'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[{"port":80,"targetPort":8080,"protocol":"TCP"}]',
+ ],
+ ],
+ [
+ 'name' => 'InternetSlbId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'lb-bp1tg0k6d9nqaw7l1\\*\\*\\*\\*'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'lb-bp1tg0k6d9nqaw7l1****',
+ ],
+ ],
+ [
+ 'name' => 'IntranetSlbId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'lb-bp1tg0k6d9nqaw7l1\\*\\*\\*\\*'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'lb-bp1tg0k6d9nqaw7l1****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '6395',
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'Internet',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Intranet',
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '261343',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeBRTWZ3',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'NlbId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of NLB instance.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'nlb-7z7jjbzz44d82c9***',
+ ],
+ ],
+ [
+ 'name' => 'Protocol',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Port',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The listener port of the instance. Valid values: 0 to 65535.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '3306',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '6304',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae5HLO11',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****',
+ ],
+ ],
+ [
+ 'name' => 'ScalingRuleName',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ScalingRuleType',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ScalingRuleTimer',
+ '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}]}',
+ ],
+ ],
+ [
+ 'name' => 'ScalingRuleMetric',
+ '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}}',
+ ],
+ ],
+ [
+ 'name' => 'MinReadyInstances',
+ 'in' => 'query',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ScalingRuleEnable',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'EnableIdle',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The returned result.'."\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.'."\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',
+ ],
+ ],
+ ],
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '6311',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae5HLO11',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'System.Upgrading',
+ 'errorMessage' => 'The system is being upgraded. Please try again later.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6355',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae5HLO11',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'timer-0800-2100'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****',
+ ],
+ ],
+ [
+ 'name' => 'ScalingRuleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the request.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'timer-0800-2100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ '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',
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6361',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****',
+ ],
+ ],
+ [
+ 'name' => 'ScalingRuleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the auto scaling policy.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'timer-0800-2100',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The information that is returned.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6397',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae5HLO11',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****',
+ ],
+ ],
+ [
+ 'name' => 'ScalingRuleName',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ScalingRuleTimer',
+ '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}]}',
+ ],
+ ],
+ [
+ 'name' => 'ScalingRuleMetric',
+ '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}}',
+ ],
+ ],
+ [
+ '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 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',
+ ],
+ ],
+ [
+ '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. 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',
+ ],
+ ],
+ [
+ 'name' => 'EnableIdle',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'boolean',
+ 'required' => false,
+ ],
+ ],
+ ],
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The returned result.'."\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. 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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6320',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeX1L0GL',
+ 'FEATUREsaeAINYGA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'a0d2e04c-159d-40a8-b240-d2f2c263\\*\\*\\*\\*'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'a0d2e04c-159d-40a8-b240-d2f2c263****',
+ ],
+ ],
+ [
+ 'name' => 'ScalingRuleName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'test'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'test',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The response parameters.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned.'."\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' => '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',
+ ],
+ ],
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'success',
+ ],
+ 'ErrorCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6321',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeX1L0GL',
+ 'FEATUREsaeAINYGA',
+ ],
+ ],
+ '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 parameters.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The data returned.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'Message' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => 'success',
+ ],
+ 'ErrorCode' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '',
+ ],
+ 'Code' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'example' => '200',
+ ],
+ 'Success' => [
+ 'description' => '',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ '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' => '命名空间ID',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/WebApplicationBody',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '225942',
+ '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',
+ ],
+ ],
+ [
+ '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' => [],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '命名空间ID',
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'Prefix',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'title' => '应用名前缀',
+ 'description' => 'The prefix of the application name.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'my-application',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'title' => '分页起始标记',
+ 'description' => 'The pagination token.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'MTIzNCNhYmM',
+ ],
+ ],
+ [
+ 'name' => 'Limit',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'title' => '返回的应用数量',
+ 'description' => 'The number of applications returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/ListWebApplicationsBody',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '181749',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/WebApplicationBody',
+ ],
+ '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',
+ ],
+ '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' => '命名空间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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned message.'."\n",
+ '$ref' => '#/components/schemas/WebApplicationBody',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '225956',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeWX6046',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/WebApplicationScalingConfigBody',
+ ],
+ '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' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '225945',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeWX6046',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '命名空间ID',
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-beijing:sae-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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/WebApplicationScalingConfigBody',
+ ],
+ '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',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '197250',
+ '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',
+ ],
+ ],
+ [
+ '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' => [],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ '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',
+ ],
+ ],
+ [
+ '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' => [],
+ ],
+ ],
+ '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' => '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',
+ ],
+ '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',
+ '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 traffic configurations.'."\n",
+ 'required' => true,
+ '$ref' => '#/components/schemas/UpdateWebApplicationTrafficConfigInput',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/WebApplicationTrafficConfigBody',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '225946',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeOXSSSO',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/WebApplicationTrafficConfigBody',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '225953',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae37J6Z9',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '命名空间ID',
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ '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' => 'body',
+ 'in' => 'body',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '版本配置信息',
+ 'description' => 'The configurations of the version.'."\n",
+ 'required' => true,
+ '$ref' => '#/components/schemas/PublishWebApplicationRevisionInput',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/WebApplicationRevisionBody',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '225950',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae37J6Z9',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '命名空间ID',
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ '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',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'title' => '分页起始标记',
+ 'description' => 'The pagination token.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'A2RN',
+ ],
+ ],
+ [
+ 'name' => 'Limit',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'title' => '返回的应用数量',
+ 'description' => 'The number of applications returned.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/ListWebApplicationRevisionsBody',
+ ],
+ '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',
+ ],
+ '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' => '001',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/WebApplicationRevisionBody',
+ ],
+ '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',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '225939',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae37J6Z9',
+ ],
+ ],
+ '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',
+ ],
+ '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',
+ ],
+ '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' => '命名空间ID',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/WebCustomDomainBody',
+ ],
+ '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',
+ ],
+ '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' => '命名空间ID',
+ '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',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '225952',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae5U7VP0',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '命名空间ID',
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ 'name' => 'ApplicationId',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'title' => '应用ID',
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '7e41aff0-9eca-45c9-ac48-675e09******',
+ ],
+ ],
+ [
+ 'name' => 'Prefix',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'title' => '分页起始标记',
+ 'description' => 'The pagination token.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'A2RN',
+ ],
+ ],
+ [
+ 'name' => 'Limit',
+ 'in' => 'query',
+ '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',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '225959',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae5U7VP0',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '命名空间ID',
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ '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' => 'body',
+ 'in' => 'body',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '自定义域名信息',
+ 'description' => 'The information about the custom domain name.'."\n",
+ 'required' => true,
+ '$ref' => '#/components/schemas/UpdateWebCustomDomainInput',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => 'OK',
+ 'schema' => [
+ 'title' => 'OK',
+ 'description' => 'OK.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/WebCustomDomainBody',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '225941',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae5U7VP0',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '命名空间ID',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => 'No Content',
+ 'schema' => [
+ 'description' => 'The request body.'."\n",
+ '$ref' => '#/components/schemas/WebCustomDomainBody',
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'tags' => [],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '225949',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeUWY6ZL',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '命名空间ID',
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ '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' => 'InstanceIds',
+ '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******',
+ ],
+ ],
+ [
+ 'name' => 'VersionIds',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Statuses',
+ 'in' => 'query',
+ 'style' => 'json',
+ 'schema' => [
+ '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',
+ ],
+ 'required' => false,
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'description' => '返回信息',
+ 'schema' => [
+ 'title' => '返回信息',
+ 'description' => 'The returned message.'."\n",
+ 'required' => false,
+ '$ref' => '#/components/schemas/ListWebApplicationInstancesBody',
+ ],
+ '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",
+ ],
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '命名空间ID',
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ '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' => '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' => [],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'consumes' => [
+ 'application/json',
+ ],
+ 'produces' => [
+ 'application/json',
+ ],
+ 'operationType' => 'readAndWrite',
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '225943',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae1X6KNP',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'allowEmptyValue' => false,
+ 'schema' => [
+ 'title' => '命名空间ID',
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ [
+ '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' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The region ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing',
+ ],
+ ],
+ [
+ '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 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' => [],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppName',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'NamespaceId',
+ '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',
+ ],
+ ],
+ [
+ '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.',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Cpu',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Memory',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Replicas',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of concurrent instances.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => true,
+ 'example' => '3',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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"]',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Timezone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time zone. Default value: **Asia/Shanghai**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Asia/Shanghai',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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: "/"}]',
+ ],
+ ],
+ [
+ '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"]}}',
+ ],
+ ],
+ [
+ '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"]}}',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'PhpConfig',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The details of the PHP configuration file.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k1=v1',
+ ],
+ ],
+ [
+ '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}',
+ ],
+ ],
+ [
+ '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}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ImagePullSecrets',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the corresponding Secret.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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"}',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Timeout',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The timeout period. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '3600',
+ ],
+ ],
+ [
+ 'name' => 'BackoffLimit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of times the job is retried.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '3',
+ ],
+ ],
+ [
+ 'name' => 'Slice',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable job sharding.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SliceEnvs',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The parameters of job sharding.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[0,1,2]',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'ProgrammingLanguage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The programming language. Valid values: **java**, **php**, **python**, and **shell**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'java',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'NasConfigs',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'BestEffortType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ '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. 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****',
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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.',
+ 'requestParamsDescription' => ' ',
+ 'responseParamsDescription' => ' ',
+ 'extraInfo' => ' ',
+ ],
+ 'DeleteHistoryJob' => [
+ 'summary' => 'Delete a job.',
+ 'path' => '/pop/v1/sam/job/deleteHistoryJob',
+ 'methods' => [
+ 'delete',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '104054',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the job.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'manual-3db7a8fa-5d40-4edc-92e4-49d50eab****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The parameter returned.'."\n",
+ '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****',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ [
+ 'errorCode' => 'InvalidAppId.NotFound',
+ 'errorMessage' => 'The specified AppId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '100737',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ '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****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The parameter 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. 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ [
+ 'errorCode' => 'InvalidAppId.NotFound',
+ 'errorMessage' => 'The specified AppId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '100738',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the job template.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'e1a7a07-abcb-4652-a1d3-2d57f415****',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The job ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'event-b798157b-40a2-4388-b578-71fb897103**-**',
+ ],
+ ],
+ ],
+ '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 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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ [
+ 'errorCode' => 'InvalidAppId.NotFound',
+ 'errorMessage' => 'The specified AppId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '100736',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeN5OIM9',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the job template.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****',
+ ],
+ ],
+ [
+ 'name' => 'JobId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The job ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'event-b798157b-40a2-4388-b578-71fb897103**-**',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'description' => 'The returned data.'."\n",
+ '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****',
+ ],
+ 'Data' => [
+ 'description' => 'The information of the job template.'."\n",
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ [
+ 'errorCode' => 'InvalidAppId.NotFound',
+ 'errorMessage' => 'The specified AppId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '100732',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The job template ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'ee1a7a07-abcb-4652-a1d3-2d57f415****',
+ ],
+ ],
+ [
+ 'name' => 'EventId',
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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.',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '["a","b"]',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'WarStartOptions',
+ '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',
+ ],
+ ],
+ [
+ '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' => 'Replicas',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of concurrent instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => '[{"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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'abilityTreeCode' => '100750',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeN5OIM9',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'CurrentPage',
+ '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',
+ ],
+ ],
+ [
+ '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' => 'AppName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the job template.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'demo-app',
+ ],
+ ],
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:demo',
+ ],
+ ],
+ [
+ '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' => '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' => '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',
+ ],
+ ],
+ [
+ 'name' => 'FieldType',
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'FieldValue',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Enter the name and ID of the job template.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'demo-app',
+ ],
+ ],
+ [
+ 'name' => 'Workload',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Set the value to `job`.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'job',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ [
+ 'errorCode' => 'InvalidAppId.NotFound',
+ 'errorMessage' => 'The specified AppId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '100748',
+ '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',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ '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****',
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ [
+ 'errorCode' => 'InvalidAppId.NotFound',
+ 'errorMessage' => 'The specified AppId does not exist.',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ 'UpdateJob' => [
+ 'path' => '/pop/v1/sam/job/updateJob',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '100734',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeN5OIM9',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the application.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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"]',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ 'name' => 'Timezone',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The time zone. Default value: **Asia/Shanghai**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Asia/Shanghai',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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: "/"}]',
+ ],
+ ],
+ [
+ '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"]}}',
+ ],
+ ],
+ [
+ '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"]}}',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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"}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'PhpConfig',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => 'The details of the PHP configuration file.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'k1=v1',
+ ],
+ ],
+ [
+ '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}',
+ ],
+ ],
+ [
+ '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}]',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'ImagePullSecrets',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the corresponding Secret.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'EnableImageAccl',
+ 'in' => 'formData',
+ 'allowEmptyValue' => true,
+ 'schema' => [
+ 'title' => '是否开启镜像加速',
+ 'type' => 'boolean',
+ 'default' => 'false',
+ ],
+ ],
+ [
+ '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"}',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Timeout',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The timeout period. Unit: seconds.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '3600',
+ ],
+ ],
+ [
+ 'name' => 'BackoffLimit',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of times the job is retried.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '3',
+ ],
+ ],
+ [
+ 'name' => 'Slice',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Specifies whether to enable job sharding.'."\n",
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'SliceEnvs',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The parameters of job sharding.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '[0,1,2]',
+ ],
+ ],
+ [
+ 'name' => 'Replicas',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of concurrent instances.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '3',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'ProgrammingLanguage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The programming language. Valid values: **java**, **php**, **python**, and **shell**.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'java',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'NasConfigs',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'BestEffortType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ 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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '124658',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9PL61',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The ID of the job template.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'e1a7a07-abcb-4652-a1d3-2d57f415****',
+ ],
+ ],
+ [
+ 'name' => 'CurrentPage',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The number of the page to return.'."\n",
+ 'type' => 'integer',
+ 'format' => 'int64',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ [
+ 'errorCode' => 'InvalidAppId.NotFound',
+ 'errorMessage' => 'The specified AppId does not exist.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'http',
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '6329',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeD9Y7UY',
+ 'FEATUREsaeQL07ZC',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'Workload',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'Scenarios:'."\n"
+ ."\n"
+ .'* Web'."\n"
+ .'* micro_service'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Web',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'NewSaeVersion',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'BestEffortType',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'GpuA10',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ [
+ 'name' => 'GpuPpu810e',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidParameter.Obviously',
+ 'errorMessage' => 'The specified parameter is invalid {%s}.',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '6366',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ '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****',
+ ],
+ ],
+ [
+ 'name' => 'PodName',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The name of the pod.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'hello-podsdfsdfsdfsdf',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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&region=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' => '',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ 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 \\"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&region=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',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '259402',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ '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',
+ ],
+ ],
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The app ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69****',
+ ],
+ ],
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'AppIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'IdleHour',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '6382',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeK7DHH9',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****',
+ ],
+ ],
+ ],
+ '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' => '',
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'InvalidApplication.NotFound',
+ 'errorMessage' => 'The current application does not exist.',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'abilityTreeCode' => '198094',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeY046YN',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'f7730764-d88f-4b9a-8d8e-cd8efbfe****',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ ],
+ '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' => '',
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '285072',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-shanghai',
+ ],
+ ],
+ [
+ '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****',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'UpdateNamespaceSlsConfigs' => [
+ 'summary' => 'Updates the Simple Log Service configuration for a namespace.',
+ 'path' => '/pop/cas/namespace/updateNamespaceSlsConfigs',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '288126',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeW0M31R',
+ ],
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The namespace ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ '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',
+ ],
+ ],
+ [
+ '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":""}]',
+ ],
+ ],
+ [
+ 'name' => 'SlsLogEnvTags',
+ 'in' => 'query',
+ 'schema' => [
+ 'type' => 'string',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ [
+ 'errorCode' => 'InvalidNamespaceId.NotFound',
+ 'errorMessage' => 'The specified NamespaceId does not exist.',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '6357',
+ 'abilityTreeNodes' => [
+ 'FEATUREsae8U8CHA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => '7171a6ca-d1cd-4928-8642-7d5cfe69a26c',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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.',
+ ],
+ ],
+ ],
+ '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' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '289039',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '017f39b8-dfa4-4e16-a84b-1dcee4b1****',
+ ],
+ ],
+ [
+ 'name' => 'InstanceIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'c-668727a8-17d86664-41e5bb******,c-668727a8-17d86664-7e4958******',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'abilityTreeCode' => '289034',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AppId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The application ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'd700e680-aa4d-4ec1-afc2-6566b5ff****',
+ ],
+ ],
+ [
+ 'name' => 'InstanceIds',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => 'The instance ID.'."\n",
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'c-668727a8-17d86664-41e5bb******,c-668727a8-17d86664-7e4958******',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '290708',
+ 'abilityTreeNodes' => [
+ 'FEATUREsaeRVPNSA',
+ ],
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'NamespaceId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing:test',
+ ],
+ ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'query',
+ 'schema' => [
+ 'description' => '',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing',
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+ ],
+ ],
+ ],
+ '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',
+ ],
+ ],
+];