All Products
Search
Document Center

Serverless App Engine:DeployApplication

Last Updated:Jan 14, 2026

This operation deploys an application.

Try it now

Try this API in OpenAPI Explorer, no manual signing needed. Successful calls auto-generate SDK code matching your parameters. Download it with built-in credential security for local usage.

Test

RAM authorization

The table below describes the authorization required to call this API. You can define it in a Resource Access Management (RAM) policy. The table's columns are detailed below:

  • Action: The actions can be used in the Action element of RAM permission policy statements to grant permissions to perform the operation.

  • API: The API that you can call to perform the action.

  • Access level: The predefined level of access granted for each API. Valid values: create, list, get, update, and delete.

  • Resource type: The type of the resource that supports authorization to perform the action. It indicates if the action supports resource-level permission. The specified resource must be compatible with the action. Otherwise, the policy will be ineffective.

    • For APIs with resource-level permissions, required resource types are marked with an asterisk (*). Specify the corresponding Alibaba Cloud Resource Name (ARN) in the Resource element of the policy.

    • For APIs without resource-level permissions, it is shown as All Resources. Use an asterisk (*) in the Resource element of the policy.

  • Condition key: The condition keys defined by the service. The key allows for granular control, applying to either actions alone or actions associated with specific resources. In addition to service-specific condition keys, Alibaba Cloud provides a set of common condition keys applicable across all RAM-supported services.

  • Dependent action: The dependent actions required to run the action. To complete the action, the RAM user or the RAM role must have the permissions to perform all dependent actions.

Action

Access level

Resource type

Condition key

Dependent action

sae:DeployApplication

update

*All Resource

*

None None

Request syntax

POST /pop/v1/sam/app/deployApplication HTTP/1.1

Request parameters

Parameter

Type

Required

Description

Example

AppId

string

Yes

The ID of the application that you want to deploy.

7171a6ca-d1cd-4928-8642-7d5cfe69****

Jdk

string

No

The version of the Java Development Kit (JDK) on which the deployment package depends. The following versions are supported:

  • Open JDK 8

  • Open JDK 7

  • Dragonwell 11

  • Dragonwell 8

  • openjdk-8u191-jdk-alpine3.9

  • openjdk-7u201-jdk-alpine3.9

This parameter is not supported when Package Type is set to Image.

Open JDK 8

WebContainer

string

No

The version of Tomcat on which the deployment package depends. The following versions are supported:

  • apache-tomcat-7.0.91

  • apache-tomcat-8.5.42

This parameter is not supported when Package Type is set to Image.

apache-tomcat-7.0.91

PackageVersion

string

No

The version of the deployment package. This parameter is required when Package Type is set to FatJar, War, or PythonZip.

1.0.1

PackageUrl

string

No

The URL of the deployment package. This parameter is required when Package Type is set to FatJar, War, or PythonZip.

http://myoss.oss-cn-hangzhou.aliyuncs.com/my-buc/2019-06-30/****.jar

ImageUrl

string

No

The address of the image. This parameter is required when Package Type is set to Image.

registry.cn-hangzhou.aliyuncs.com/sae_test/ali_sae_test:0.0.1

Command

string

No

The startup command of the image. The command must be an executable object that exists in the container. Example:

command:
      - echo
      - abc
      - >
      - file0

Based on this example, Command is "echo" and CommandArgs is ["abc", ">", "file0"].

echo

CommandArgs

string

No

The parameters of the image startup command. The parameters are for the Command parameter. Format:

["a","b"]

In the preceding example, CommandArgs is ["abc", ">", "file0"]. The value ["abc", ">", "file0"] must be converted to a string. The content in the string is a JSON array. If this parameter is not used, leave it empty.

["a","b"]

Envs

string

No

The environment variables of the container. You can customize environment variables or reference configurations. To reference a configuration item, create a ConfigMap instance first. For more information, see CreateConfigMap. The following table describes the parameters:

  • Custom configuration
    • name: The name of the environment variable.

    • value: The value of the environment variable. This parameter takes precedence over valueFrom.

  • Reference a configuration item (valueFrom)
    • name: The name of the environment variable. You can reference a single key or all keys. To reference all keys, enter sae-sys-configmap-all-<ConfigMap name>, such as sae-sys-configmap-all-test1.

    • valueFrom: The reference to the environment variable. Set the value to configMapRef.

    • configMapId: The ID of the ConfigMap.

    • key: The key. If you want to reference all keys, do not set this parameter.

  • Reference a secret (valueFrom)
    • name: The name of the environment variable. You can reference a single key or all keys. To reference all keys, enter sae-sys-secret-all-<Secret name>, such as sae-sys-secret-all-test1.

    • valueFrom: The reference to the environment variable. Set the value to secretRef.

    • secretId: The ID of the secret.

    • key: The key. If you want to reference all keys, do not set this parameter.

[ { "name": "sae-sys-configmap-all-hello", "valueFrom": { "configMapRef": { "configMapId": 100, "key": "" } } }, { "name": "hello", "valueFrom": { "configMapRef": { "configMapId": 101, "key": "php-fpm" } } }, { "name": "sae-sys-secret-all-hello", "valueFrom": { “secretRef": { “secretId": 100, "key": "" } } }, { "name": “password”, "valueFrom": { “secretRef": { “secretId": 101, "key": “password” } } }, { "name": "envtmp", "value": "newenv" } ]

CustomHostAlias

string

No

The custom mapping between a hostname and an IP address in the container. The following table describes the parameters:

  • hostName: The domain name or hostname.

  • ip: The IP address.

[{"hostName":"samplehost","ip":"127.0.0.1"}]

JarStartOptions

string

No

The startup options of the JAR package. The default startup command is: $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs

custom-option

JarStartArgs

string

No

The startup parameters of the JAR package. The default startup command is: $JAVA_HOME/bin/java $JarStartOptions -jar $CATALINA_OPTS "$package_path" $JarStartArgs

-Xms4G -Xmx4G

Liveness

string

No

The container health check. A container that fails the health check will be shut down and restored. The following check methods are supported:

  • exec: For example, {"exec":{"command":["sh","-c","cat/home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}

  • httpGet: For example, {"httpGet":{"path":"/","port":18091,"scheme":"HTTP","isContainKeyWord":true,"keyWord":"SAE"},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}

  • tcpSocket: For example, {"tcpSocket":{"port":18091},"initialDelaySeconds":11,"periodSeconds":10,"timeoutSeconds":1}

Note

You can select only one check method.

The following table describes the parameters:

  • exec.command: The health check command.

  • httpGet.path: The request path.

  • httpGet.scheme: HTTP or HTTPS.

  • httpGet.isContainKeyWord: true indicates that the check is successful if the keyword is included, and false indicates that the check is successful if the keyword is not included. If you do not set this parameter, the advanced feature is not used.

  • httpGet.keyWord: The custom keyword. This parameter cannot be left empty when you use the isContainKeyWord parameter.

  • tcpSocket.port: The port for the TCP connection check.

  • initialDelaySeconds: The delay for the health check. Default value: 10. Unit: seconds.

  • periodSeconds: The interval for the health check. Default value: 30. Unit: seconds.

  • timeoutSeconds: The timeout period for the health check. Default value: 1. Unit: seconds. If you set this parameter to 0 or do not set this parameter, the default timeout period is 1 second.

{"exec":{"command":["sleep","5s"]},"initialDelaySeconds":10,"timeoutSeconds":11}

Readiness

string

No

The readiness check on the application. A container that fails the readiness check multiple times will be shut down and restarted. The container that fails the check will not receive traffic from the SLB instance. The exec, httpGet, and tcpSocket check methods are supported. For more information, see the Liveness parameter.

Note

You can select only one check method.

{"exec":{"command":["sleep","6s"]},"initialDelaySeconds":15,"timeoutSeconds":12}

MinReadyInstances

integer

No

The minimum number of surviving instances. Valid values:

  • If you set this parameter to 0, the business may be interrupted during an upgrade.

  • If you set this parameter to -1, the system recommended value is used. The system recommended value is 25% of the total number of instances. If the total number of instances is 5, 5 × 25% = 1.25. The value is rounded up to 2.

Note

We recommend that you set the minimum number of surviving instances to a value greater than or equal to 1 to ensure business continuity during a rolling deployment.

1

MinReadyInstanceRatio

integer

No

The percentage of the minimum number of surviving instances. Valid values:

  • -1: This is the initial value, which indicates that the percentage is not used.

  • 0 to 100: The value is a percentage that is rounded up. For example, if you set this parameter to 50% and the total number of instances is 5, the minimum number of surviving instances is 3.

Note

If you specify both MinReadyInstance and MinReadyInstanceRatio, and the value of MinReadyInstanceRatio is not -1, the value of MinReadyInstanceRatio takes precedence. For example, if MinReadyInstances is set to 5 and MinReadyInstanceRatio is set to 50, the minimum number of surviving instances is calculated based on the value 50.

-1

BatchWaitTime

integer

No

The deployment interval between batches. Unit: seconds.

10

EdasContainerVersion

string

No

The version of the application runtime environment in the High-Speed Service Framework (HSF), such as an Ali-Tomcat container.

3.5.3

UpdateStrategy

string

No

The deployment policy. If the minimum number of surviving instances is 1, the value of the UpdateStrategy parameter is "". If the minimum number of surviving instances is greater than 1, the following examples are for your reference:

  • Canary release for one instance, phased release in two batches, automatic batching, and a 1-minute interval between batches: {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}

  • Canary release for one instance, phased release in two batches, and manual batching: {"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"manual"},"grayUpdate":{"gray":1}}

  • Phased release in two batches, automatic batching, and a 0-minute interval between batches: {"type":"BatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":0}}

The following table describes the parameters:

  • type: The type of the release policy. Valid values: GrayBatchUpdate (canary release) and BatchUpdate (phased release).

  • batchUpdate: The phased release policy.

    • batch: The number of release batches.

    • releaseType: The processing method for the batches. Valid values: auto and manual.

    • batchWaitTime: The interval between batches. Unit: minutes.

  • grayUpdate: The number of instances for the canary release. This parameter is required when type is set to GrayBatchUpdate.

{"type":"GrayBatchUpdate","batchUpdate":{"batch":2,"releaseType":"auto","batchWaitTime":1},"grayUpdate":{"gray":1}}

SlsConfigs

string

No

The configuration for collecting logs to SLS.

  • Use SLS resources that are automatically created by SAE: [{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}].

  • Use custom SLS resources: [{"projectName":"test-sls","logType":"stdout","logDir":"","logstoreName":"sae","logtailName":""},{"projectName":"test","logDir":"/tmp/a.log","logstoreName":"sae","logtailName":""}].

The following table describes the parameters:

  • projectName: The name of the SLS project.

  • logDir: The log path.

  • logType: The log type. stdout indicates the standard output log of the container. You can specify only one standard output log. If you do not set this parameter, file logs are collected.

  • logstoreName: The name of the Logstore in SLS.

  • logtailName: The name of the Logtail configuration in SLS. If you do not specify this parameter, a new Logtail configuration is created.

If the SLS log collection configuration remains unchanged during a new deployment, you do not need to set this parameter. If you no longer need to use the SLS log collection feature, set this parameter to an empty string ("").

Note

A project that is automatically created with an application is deleted when the application is deleted. Therefore, when you select an existing project, do not select a project that is automatically created by SAE.

[{"logDir":"","logType":"stdout"},{"logDir":"/tmp/a.log"}]

Timezone

string

No

The time zone. The default value is Asia/Shanghai.

Asia/Shanghai

NasId

string

No

We recommend that you do not configure this parameter. We recommend that you configure NasConfigs. The ID of the NAS file system. If the configuration remains unchanged during a new deployment, you do not need to set this parameter. If you want to clear the NAS configuration, set this parameter to an empty string ("").

10d3b4****

MountHost

string

No

We recommend that you do not configure this parameter. We recommend that you configure NasConfigs. The mount target of the NAS file system in the VPC where the application is deployed. If the configuration remains unchanged during a new deployment, you do not need to set this parameter. If you want to clear the NAS configuration, set this parameter to an empty string ("").

10d3b4bc9****.com

MountDesc

string

No

We recommend that you do not configure this parameter. We recommend that you configure NasConfigs. The description of the NAS mount. If the configuration remains unchanged during a new deployment, you do not need to set this parameter. If you want to clear the NAS configuration, set this parameter to an empty string ("").

[{mountPath: "/tmp", nasPath: "/"}]

PostStart

string

No

The script that is executed after the container is started. A script is immediately executed after the container is created. Format: {"exec":{"command":["sh","-c","echo hello"]}}

{"exec":{"command":["sh","-c","echo hello"]}}

PreStop

string

No

The script that is executed before the container is stopped. A script is executed before the container is deleted. Format: {"exec":{"command":["sh","-c","echo hello"]}}

{"exec":{"command":["sh","-c","echo hello"]}}

ChangeOrderDesc

string

No

The description of the release order.

启动应用

WarStartOptions

string

No

The startup command for the application that is deployed using a WAR package. The procedure is the same as the procedure for configuring the startup command for an image-based deployment. For more information, see Set a startup command.

CATALINA_OPTS=\"$CATALINA_OPTS $Options\" catalina.sh run

AutoEnableApplicationScalingRule

boolean

No

Specifies whether to automatically enable the Auto Scaling policy for the application. Valid values:

  • true: Enable.

  • false: Disable.

true

ConfigMapMountDesc

string

No

The description of the ConfigMap that is mounted. Use the configuration items created on the Configurations page of a namespace to inject configurations into the container. The following table describes the parameters:

  • configMapId: The ID of the ConfigMap instance. You can call the ListNamespacedConfigMaps operation to obtain the ID.

  • key: The key.

Note

You can mount all keys by passing the sae-sys-configmap-all parameter.

  • mountPath: The mount path.

[{"configMapId":16,"key":"test","mountPath":"/tmp"}]

TerminationGracePeriodSeconds

integer

No

The timeout period for a graceful shutdown. Default value: 30. Unit: seconds. Valid values: 1 to 300.

10

EnableAhas

string

No

Specifies whether to enable Application High Availability Service (AHAS). Valid values:

  • true: Enable AHAS.

  • false: Do not enable AHAS.

false

PhpArmsConfigLocation

string

No

The mount path of the Application Real-Time Monitoring Service (ARMS) agent for a PHP application. You must make sure that the PHP server loads the configuration file from this path. SAE automatically renders the correct configuration file. You do not need to pay attention to the content of the file.

/usr/local/etc/php/conf.d/arms.ini

PhpConfigLocation

string

No

The mount path of the startup configuration file for a PHP application. You must make sure that the PHP server uses this configuration file to start.

/usr/local/etc/php/php.ini

PhpConfig

string

No

The content of the PHP configuration file.

k1=v1

TomcatConfig

string

No

The Tomcat file configuration. Set this parameter to "" or "{}" to delete the configuration. The following table describes the parameters:

  • port: The port number. Valid values: 1024 to 65535. A port number smaller than 1024 can be used only by a root user. Because the container is configured with the admin permissions, enter a port number greater than 1024. If you do not configure this parameter, the default port 8080 is used.

  • contextPath: The request path. The default value is the root directory (/).

  • maxThreads: The maximum number of connections in the connection pool. Default value: 400.

  • uriEncoding: The encoding format for Tomcat. Valid values: UTF-8, ISO-8859-1, GBK, and GB2312. If you do not set this parameter, the default value ISO-8859-1 is used.

  • useBodyEncodingForUri: Specifies whether to use BodyEncoding for URL. Default value: true.

{"port":8080,"contextPath":"/","maxThreads":400,"uriEncoding":"ISO-8859-1","useBodyEncodingForUri":true}

OssMountDescs

string

No

The description of the OSS bucket that is mounted. The following table describes the parameters:

  • bucketName: The name of the bucket.

  • bucketPath: The directory or object that you created in OSS. An exception is triggered if the mount directory does not exist.

  • mountPath: The container path in SAE. If the path exists, the new path overwrites the existing path. If the path does not exist, a new path is created.

  • readOnly: Specifies whether the container has read-only permissions on the resources in the mount directory. Valid values:
    • true: Read-only permission.

    • false: Read and write permission.

[{"bucketName": "oss-bucket", "bucketPath": "data/user.data", "mountPath": "/usr/data/user.data", "readOnly": true}]

OssAkId

string

No

The AccessKey ID that is used to read data from and write data to the OSS bucket.

xxxxxx

OssAkSecret

string

No

The AccessKey secret that is used to read data from and write data to the OSS bucket.

xxxxxx

EnableGreyTagRoute

boolean

No

Specifies whether to enable the canary release rule. This rule applies only to applications that use the Spring Cloud and Dubbo frameworks. Valid values:

  • true: Enable the canary release rule.

  • false: Disable the canary release rule.

false

Php

string

No

The version of PHP on which the PHP deployment package depends. This parameter is not supported for image-based deployments.

PHP-FPM 7.0

AcrInstanceId

string

No

The ID of the ACR Enterprise Edition instance. This parameter is required if ImageUrl is set to the URL of an image in an ACR Enterprise Edition instance.

cri-xxxxxx

AcrAssumeRoleArn

string

No

The Alibaba Cloud Resource Name (ARN) of the RAM role that is required to pull images across accounts. For more information, see Grant permissions to a RAM role to implement cross-account authorization.

acs:ram::123456789012****:role/adminrole

ImagePullSecrets

string

No

The ID of the secret.

10

AssociateEip

boolean

No

Specifies whether to bind an EIP. Valid values:

  • true: Bind.

  • false: Do not bind.

true

KafkaConfigs

string

No

The configurations for collecting logs to Kafka. The following table describes the parameters:

  • kafkaEndpoint: The endpoint of the Kafka API.

  • kafkaInstanceId: The ID of the Kafka instance.

  • kafkaConfigs: The configurations for one or more logs. For more information about the sample value and parameters, see the kafkaConfigs request parameter in this topic.

{"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"}]}

PvtzDiscoverySvc

string

No

Enables service registration and discovery for a K8s service. The following table describes the parameters:

  • portProtocols: The port and protocol. The port number must be in the range of [1,65535]. The supported protocols are TCP and UDP.

  • portAndProtocol: The port and protocol. The port number must be in the range of [1,65535]. The supported protocols are TCP and UDP. We recommend that you use portProtocols. If you set portProtocols, only portProtocols takes effect.

  • enable: Enables service registration and discovery for a K8s service.

{"portProtocols":[{"port":18012,"protocol":"TCP"}],"portAndProtocol":{"18012":"TCP"},"enable":true}

SwimlanePvtzDiscoverySvc

string

No

Configures service registration and discovery and end-to-end canary release based on a K8s service:

  • enable: Specifies whether to enable end-to-end canary release based on a K8s service.
    • true: Enable.

    • false: Disable.

  • namespaceId: The namespace ID.

  • portAndProtocol: The listening port and protocol. Format: {"Port:Protocol type":"Container port"}

  • portProtocols: The port and protocol of the service.
    • port: The port.

    • protocol: The protocol.

    • targetPort: The container port.

  • pvtzDiscoveryName: The name of the service discovery.

  • serviceId: The service ID.

  • serviceName: The service name.

{\"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

string

No

The Nacos registry. Valid values:

  • 0: The built-in Nacos registry of SAE.

  • 1: A user-created Nacos registry.

  • 2: MSE Nacos Enterprise Edition.

Note

If you select the built-in Nacos registry of SAE, you cannot obtain the configuration of the built-in Nacos registry.

"0"

MicroRegistrationConfig

string

No

The configuration of the registry. This parameter is valid only when the registry type is MSE Nacos Enterprise Edition.

{\"instanceId\":\"mse-cn-zvp2bh6h70r\",\"namespace\":\"4c0aa74f-57cb-423c-b6af-5d9f2d0e3dbd\"}

NasConfigs

string

No

The configurations for mounting a NAS file system. The following table describes the parameters:

  • mountPath: The container mount path.

  • readOnly: If you set this parameter to false, the container has read and write permissions.

  • nasId: The NAS ID.

  • mountDomain: The mount target address of the container. For more information, see DescribeMountTargets.

  • nasPath: The relative path to the NAS file directory.

[{"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

string

No

The Python environment. PYTHON 3.9.15 is supported.

PYTHON 3.9.15

PythonModules

string

No

The dependencies of a custom module. By default, the dependencies defined in the requirements.txt file in the root directory are installed. If no configuration is provided or a custom software package is used, you can specify the dependencies to be installed.

Flask==2.0

Dotnet

string

No

The version number of the .NET framework:

  • .NET 3.1

  • .NET 5.0

  • .NET 6.0

  • .NET 7.0

  • .NET 8.0

.NET 3.1

Deploy

string

No

This parameter is valid only for applications that are in the stopped state. If you call the DeployApplication operation for a running application, the application is immediately redeployed.

  • true: This is the default value. The new deployment configuration immediately takes effect, and the instances are immediately started.

  • false: Only the new deployment configuration takes effect. The application instances are not started.

true

PackageType

string

No

The type of the application package. Valid values:

  • If you select Java for deployment, FatJar, War, and Image are supported.

  • If you select PHP for deployment, the following types are supported:
    • 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

  • If you select Python for deployment, PythonZip and Image are supported.

FatJar

Cpu

integer

No

The CPU required for each instance. Unit: millicores. This parameter cannot be set to 0. The following specifications are supported:

  • 500

  • 1000

  • 2000

  • 4000

  • 8000

  • 12000

  • 16000

  • 32000

1000

Memory

integer

No

The memory required for each instance. Unit: MB. This parameter cannot be set to 0. The memory size must correspond to the CPU specification. The following specifications are supported:

  • 1024: corresponds to 500 millicores and 1,000 millicores.

  • 2048: corresponds to 500, 1,000, and 2,000 millicores.

  • 4096: corresponds to 1,000, 2,000, and 4,000 millicores.

  • 8192: corresponds to 2,000, 4,000, and 8,000 millicores.

  • 12288: corresponds to 12,000 millicores.

  • 16384: corresponds to 4,000, 8,000, and 16,000 millicores.

  • 24576: corresponds to 12,000 millicores.

  • 32768: corresponds to 16,000 millicores.

  • 65536: corresponds to 8,000, 16,000, and 32,000 millicores.

  • 131072: corresponds to 32,000 millicores.

1024

Replicas

integer

No

The number of instances.

1

SecurityGroupId

string

No

The ID of the security group.

sg-wz969ngg2e49q5i4****

VSwitchId

string

No

The vSwitch to which the ENI of the application instance is connected. The vSwitch must be located in the preceding VPC.

vsw-bp12mw1f8k3jgygk9****

ServiceTags

string

No

The canary release tags of the application configuration.

{\"alicloud.service.tag\":\"g1\"}

EnableNewArms

boolean

No

Specifies whether to enable the new ARMS feature:

  • true: Enable.

  • false: Do not enable.

true

EnableCpuBurst

boolean

No

Specifies whether to enable the CPU burst feature:

  • true: Enable.

  • false: Do not enable.

true

OidcRoleName

string

No

The RAM role of the identity authentication service.

Note

You must create an OIDC identity provider and a RAM role for the identity provider in the same region in advance. For more information, see Create an OIDC IdP and Create a RAM role for an IdP.

sae-test

SidecarContainersConfig

array

No

The container configuration information.

SidecarContainerConfig

No

The container configuration information.

SecretMountDesc

string

No

The description of the Secret that is mounted. Use the secrets created on the Secrets page of a namespace to inject confidential information into the container. The following table describes the parameters:

  • secretId: The ID of the secret instance. You can call the ListSecrets operation to obtain the ID.

  • key: The key.

Note

You can mount all keys by passing the sae-sys-secret-all parameter.

  • mountPath: The mount path.

[{“secretId":10,”key":"test","mountPath":"/tmp"}]

EnableSidecarResourceIsolated

boolean

No

Specifies whether to enable resource isolation for the sidecar container:

  • true: Isolate.

  • false: Do not isolate.

true

CustomImageNetworkType

string

No

The type of the custom image. If you do not use a custom image, set this parameter to an empty string.

  • internet: an image on the Internet.

  • intranet: an image in a private network.

internet

MicroserviceEngineConfig

string

No

Configures the microservice governance feature.

  • Specifies whether to enable microservice governance (enable):

    • true: Enable.

    • false: Do not enable.

  • Configures graceful start and shutdown (mseLosslessRule):

    • delayTime: The delay time.

    • enable: Specifies whether to enable the graceful start feature. true indicates that the feature is enabled. false indicates that the feature is not enabled.

    • notice: Specifies whether to enable the notification feature. true indicates that the feature is enabled. false indicates that the feature is not enabled.

    • warmupTime: The duration of traffic prefetching. Unit: seconds.

{"enable": true,"mseLosslessRule": {"delayTime": 0,"enable": false,"notice": false,"warmupTime": 120}}

NewSaeVersion

string

No

The application version:

  • lite: Lightweight Edition

  • std: Standard Edition

  • pro: Professional Edition

pro

InitContainersConfig

array

No

The init container configuration.

InitContainerConfig

No

The init container configuration.

GpuConfig

string

No

StartupProbe

string

No

Enables the startup probe for the application.

  • If the check is successful, the application is considered to have started successfully. If you have configured Liveness and Readiness checks, they will be performed after the application starts successfully.

  • If the check fails, the application is considered to have failed to start. An exception is reported and the application is automatically restarted.

Note

Note:

  • The exec, httpGet, and tcpSocket check methods are supported. For more information, see the Liveness parameter.

  • You can select only one check method.

{"exec":{"command":["sh","-c","cat /home/admin/start.sh"]},"initialDelaySeconds":30,"periodSeconds":30,"timeoutSeconds":2}

EnablePrometheus

boolean

No

Specifies whether to enable custom metric collection for Prometheus.

false

Html

string

No

The Nginx version.

  • nginx 1.20

  • nginx 1.22

  • nginx 1.24

  • nginx 1.26

  • nginx 1.28

nginx 1.28

EmptyDirDesc

string

No

The configuration of the shared temporary storage.

[{\"name\":\"workdir\",\"mountPath\":\"/usr/local/tomcat/webapps\"}]

AlbIngressReadinessGate

string

No

The configuration of the ALB Ingress ReadinessGate.

default

MaxSurgeInstances

integer

No

The maximum number of peak instances. Valid values:

If the minimum number of surviving instances is 100%, the maximum number of peak instances cannot be set to 0. If you set this parameter to -1, the system recommended value of 30% is used. The value is 30% of the total number of instances. If the total number of instances is 10, the value is 10 × 30% = 3.

-1

MaxSurgeInstanceRatio

integer

No

The ratio of the maximum number of peak instances. Valid values:

If the minimum number of surviving instances is 100%, the maximum number of peak instances cannot be set to 0. If you set this parameter to -1, the system recommended value of 30% is used. The value is 30% of the total number of instances. If the total number of instances is 10, the value is 10 × 30% = 3.

-1

AgentVersion

string

No

The version of AliyunAgent.

4.4.2

EnableNamespaceAgentVersion

boolean

No

Specifies whether to reuse the agent version configuration of the namespace.

true

SlsLogEnvTags

string

No

The SLS log tags.

Response elements

Element

Type

Description

Example

object

The information about the deployed application.

RequestId

string

The request ID.

01CF26C7-00A3-4AA6-BA76-7E95F2A3***

Message

string

The returned message. Valid values:

  • If the request is successful, success is returned.

  • If the request fails, an error code is returned.

success

TraceId

string

The trace ID that is used to query the details of a request.

ac1a0b2215622246421415014e****

Data

object

The returned data.

ChangeOrderId

string

The ID of the release order. You can use this ID to query the task execution status.

01db03d3-3ee9-48b3-b3d0-dfce2d88****

AppId

string

The application ID.

7171a6ca-d1cd-4928-8642-7d5cfe69****

IsNeedApproval

boolean

Indicates whether the release of a change order by a RAM user requires approval. Valid values:

  • true: Approval is required.

  • false: Approval is not required.

true

ErrorCode

string

The error code. Valid values:

  • If the request is successful, the ErrorCode parameter is not returned.

  • If the request fails, the ErrorCode parameter is returned. For more information, see the Error codes section in this topic.

Code

string

The HTTP status code or the error code of the API gateway. Valid values:

  • 2xx: The request was successful.

  • 3xx: The request was redirected.

  • 4xx: The request was invalid.

  • 5xx: A server error occurred.

200

Success

boolean

Indicates whether the application was successfully deployed. Valid values:

  • true: The application was successfully deployed.

  • false: The application failed to be deployed.

true

Examples

Success response

JSON format

{
  "RequestId": "01CF26C7-00A3-4AA6-BA76-7E95F2A3***",
  "Message": "success",
  "TraceId": "ac1a0b2215622246421415014e****",
  "Data": {
    "ChangeOrderId": "01db03d3-3ee9-48b3-b3d0-dfce2d88****",
    "AppId": "7171a6ca-d1cd-4928-8642-7d5cfe69****",
    "IsNeedApproval": true
  },
  "ErrorCode": "空",
  "Code": "200",
  "Success": true
}

Error codes

HTTP status code

Error code

Error message

Description

400 Application.MissingJdk Your application must at least contain a JDK component.
400 InvalidApplication.NotFound The current application does not exist.
400 InvalidComponent.NotFound The current component (such as JDK, Tomcat, or EDASWebContainer) does not exist.
400 InvalidHostnameIp.Invalid The hostname and/or IP is invalid: Hostname [%s], IP [%s].
400 InvalidInstanceSpecification.Unsupported The instance specification is not supported: CPU [%s], memory [%s].
400 InvalidPackageType.NotFound The package type must be War, FatJar, or Image.
400 InvalidParameter.NotEmpty You must specify the parameter %s.
400 InvalidParameter.Obviously The specified parameter is invalid {%s}.
400 InvalidParameter.WithMessage The parameter is invalid {%s}: %s
400 JarApplication.MissingJdk A FatJar application must contain JDK.
400 NoComputeResourceQuota.Exceed Your compute resource is insufficient. Please contact us to raise the quota.
400 PandoraApplication.MissingJdk The Pandora application is missing a JDK component.
400 PandoraApplication.OnlyJdk A Pandora application only requires JDK component.
400 WarApplication.MissingJdkWebcontainer A War application must contain JDK and Tomcat.
400 LogService.ConfigQuotaExceed The maximum number of Log Service configs is exceeded. The maximum number of Log Service configs is exceeded, please join the DingTalk group 32874633 for technical support.
400 LogService.InternalError An exception occurred while calling Log Service. Please submit a ticket to solve the problem. An exception occurred while calling log service. please join the DingTalk group 32874633 for technical support.
400 LogService.LogDirInvalid The log collection path is invalid. The log collection path is invalid.
400 LogService.NotAvailable Log Service is unavailable. Please activate Log Service first. The log service is not available. Please open the log service first.
400 LogService.ProjectNumQuotaExceed The maximum number of Log Service projects is exceeded. The maximum number of Log Service projects is exceeded, please join the DingTalk group 32874633 for technical support.
400 user.indebt The user has an outstanding payment.
400 NoComputeResourceQuota.App.Exceed You can create %s instances for each application. Please submit a ticket to raise the quota. You can create %s instances for each application. please join the DingTalk group 32874633 for technical support.
400 NoComputeResourceQuota.User.Exceed Your account is limited to create %s instances. Please submit a ticket to raise the quota. Your account is limited to create %s instances. please join the DingTalk group 32874633 for technical support.
400 System.Upgrading The system is being upgraded. Please try again later.
400 VolumnPath.Conflict Conflict between log collection directory and persistent storage directory. Conflict between log collection directory and persistent storage directory.
400 Application.ChangerOrderRunning An application change process is in progress. Please try again later. An application change process is in progress. Please try again later.
400 Application.InvalidStatus The application status is abnormal. Please try again later. The application status is abnormal. Please try again later.
400 MountConflict.ConfigMap Conflict detected for ConfigMap path %s.
400 NotFound.ConfigMap The ConfigMap object (ID: %s) does not exist.
400 NotFound.ConfigMapKey The key %s of ConfigMap object (ID: %s) does not exist.
400 Package.Version.Too.Long The maximum length of package version is exceeded. This package version is too long.
400 App.Package.Version.Exists The package version of application already exists. The package version of application already exists.
400 Slb.Occupied The SLB instance is occupied. This SLB is occupied.
400 Slb.Tag.Not.Qualified The current SLB instance cannot be reused because it may have been occupied by %s. The current SLB instance cannot be reused because it may have been occupied by %s.
400 MinReadyInstances.Not.Smaller.Replicas The minimum number of available instances must be less than the number of application instances. The minimum number of available instances must be less than the number of application instances.
400 MinReadyInstanceRatio.Invalid The ratio of minimum available instances must be between 0 and 100.
400 BatchWaitTime.Not.Smaller.Zero BatchWaitTime must not be smaller than zero. BatchWaitTime must not be smaller than zero.
400 Sls.Config.Mixed.Multi.Project The specified Config contains multiple projects.
400 Sls.Config.User.Defined.Missing.Logstore.Info The specified Config is invalid. Both Project and Logstore must be specified.
400 Sls.Config.User.Defined.Missing.Project.Info The specified Config is invalid. Both Project and Logstore must be specified.
400 Sls.Logstore.Name.Invalid The specified name of Logstore is invalid. The Logstore name must not contain the prefix "sae-".
400 Sls.Logstore.User.Defined.Not.Exist The user defined Logstore does not exist.
400 Sls.Project.Name.Invalid The specified project name is invalid. The project name must not contain the prefix "sae-".
400 Sls.Project.User.Defined.Not.Exist The user defined project does not exist.
400 Sae.Errorcode.Ahas.Create.Error.Message Failed to create AHAS.
400 InvalidImageUrl.AcrInstanceId.Domain.NotMatch The specified domain of ImageUrl does not match AcrInstanceId domains.
400 PhpApplication.MissingPhpRuntime A PHP application must contain PHP Runtime.
400 InvalidParameter.FileName 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.
400 Sls.Logtail.Name.Invalid The specified name of Logtail is invalid. The Logtail name must not contain the prefix sae-.
400 InvalidImageUrl.MissingAcrInstanceId The specified domain of ImageUrl is from ACREE, but you are not specified AcrInstanceId.
400 EnvFromSecretIdConflict.AlreadyExist The specified SecretId [%s] already exist in the specified Envs.
400 MountConflict.Secret Conflict detected for Secret path %s. Secret mount path% s has conflict.
404 InvalidNamespaceId.NotFound The specified NamespaceId does not exist.
404 InvalidAcrInstanceId.NotFound The specified AcrInstanceId does not exist.
404 Associate.Eip.Not.Enough No sufficient EIPs are available.

See Error Codes for a complete list.

Release notes

See Release Notes for a complete list.