ALIYUN::SAE::Application类型用于创建SAE应用。
语法
{
  "Type": "ALIYUN::SAE::Application",
  "Properties": {
    "Timezone": String,
    "AppDescription": String,
    "MountDesc": String,
    "NasId": String,
    "WarStartOptions": String,
    "Liveness": String,
    "Memory": Integer,
    "WebContainer": String,
    "SlsConfigs": String,
    "Cpu": Integer,
    "Deploy": Boolean,
    "PackageVersion": String,
    "AppName": String,
    "Jdk": String,
    "JarStartArgs": String,
    "PreStop": String,
    "Readiness": String,
    "PackageType": String,
    "CommandArgs": String,
    "Envs": String,
    "VSwitchId": String,
    "ImageUrl": String,
    "PostStart": String,
    "JarStartOptions": String,
    "MountHost": String,
    "Replicas": Integer,
    "CustomHostAlias": String,
    "VpcId": String,
    "Tags": List,
    "SecurityGroupId": String,
    "Command": String,
    "EdasContainerVersion": String,
    "PackageUrl": String,
    "NamespaceId": String,
    "AssociateEip": Boolean,
    "AcrInstanceId": String,
    "OssAkId": String,
    "ProgrammingLanguage": String,
    "OssAkSecret": String,
    "Python": String,
    "BaseAppId": String,
    "EnableEbpf": String,
    "PhpArmsConfigLocation": String,
    "PhpConfig": String,
    "MicroRegistrationConfig": String,
    "TerminationGracePeriodSeconds": Integer,
    "ConfigMapMountDesc": String,
    "PvtzDiscoverySvc": String,
    "AcrAssumeRoleArn": String,
    "TomcatConfig": String,
    "AppSource": String,
    "PythonModules": String,
    "NasConfigs": String,
    "MicroRegistration": String,
    "ServiceTags": String,
    "ImagePullSecrets": String,
    "AutoConfig": Boolean,
    "KafkaConfigs": String,
    "Php": String,
    "OssMountDescs": List,
    "PhpConfigLocation": String,
    "SaeVersion": String,
    "NewSaeVersion": String,
    "EnableNewArms": Boolean,
    "EnableSidecarResourceIsolated": Boolean,
    "SidecarContainersConfig": List,
    "InitContainersConfig": List
  }
}属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| AppName | String | 是 | 否 | 应用名称。 | 长度不超过36个字符,必须以英文字母开头。可包含英文字母、数字和短划线(-)。 | 
| Cpu | Integer | 是 | 否 | 每个实例所需的CPU。目前仅支持固定规格的实例类型。 | 取值: 
 单位:毫核。 | 
| Memory | Integer | 是 | 否 | 每个实例所需的内存。目前仅支持固定规格的实例类型。 | 与CPU为一一对应关系,目前仅支持以下固定规格: 
 单位:MB。 | 
| Replicas | Integer | 是 | 否 | 初始实例数。 | 无 | 
| PackageType | String | 是 | 否 | 应用包类型。 | 取值: 
 | 
| Timezone | String | 否 | 是 | 时区。 | 默认值:Asia/Shanghai。 | 
| AppDescription | String | 否 | 否 | 应用描述信息。 | 长度不超过1024个字符。 | 
| MountDesc | String | 否 | 是 | 挂载描述。 | 无 | 
| NasId | String | 否 | 是 | 挂载的NAS的ID。 | NAS必须有可用的挂载点创建额度,或者其挂载点已经在专有网络内的交换机上。如果不指定该参数,而是指定了MountDesc参数,则默认自动购买一个NAS并挂载到VPC内的交换机上。 | 
| WarStartOptions | String | 否 | 是 | War包启动应用选项。 | 应用默认启动命令: | 
| Liveness | String | 否 | 是 | 容器健康检查,健康检查失败的容器将重启。 | 目前仅支持容器内下发命令的方式。例如: | 
| WebContainer | String | 否 | 是 | 部署包依赖的Tomcat版本。 | 镜像不支持该参数。 | 
| SlsConfigs | String | 否 | 是 | 文件日志采集配置。 | 无 | 
| Deploy | Boolean | 否 | 否 | 是否立即部署。 | 取值: 
 | 
| Tags | List | 否 | 是 | 标签。 | 最多支持20个标签。 | 
| PackageVersion | String | 否 | 是 | 部署的包的版本号。 | PackageType取值为War或FatJar时必须指定该参数。 | 
| Jdk | String | 否 | 是 | 部署包依赖的JDK版本。 | 镜像不支持该参数。 | 
| JarStartArgs | String | 否 | 是 | JAR包启动应用参数。 | 应用默认启动命令: | 
| PreStop | String | 否 | 是 | 容器删除前执行脚本。 | 容器删除前执行脚本,例如: | 
| Readiness | String | 否 | 是 | 应用启动状态检查脚本。 | 应用启动状态检查脚本,例如: 多次健康检查失败的容器将被重启。不通过健康检查的容器将不会有SLB流量进入。 | 
| CommandArgs | String | 否 | 是 | 镜像启动命令参数。 | 无 | 
| Envs | String | 否 | 是 | 容器环境变量参数。 | 容器环境变量参数的格式:  
 | 
| VSwitchId | String | 否 | 否 | 应用实例弹性网卡所在的交换机。 | 该交换机必须位于上述专有网络内。交换机与EDAS命名空间存在绑定关系。不指定该参数则为命名空间绑定的VSwitchId。 | 
| ImageUrl | String | 否 | 是 | 镜像地址。 | 只有Image类型应用可以配置镜像地址。 | 
| PostStart | String | 否 | 是 | 容器启动后执行脚本。 | 容器启动后执行脚本,例如: | 
| JarStartOptions | String | 否 | 是 | JAR包启动应用选项。 | 应用默认启动命令: | 
| MountHost | String | 否 | 是 | NAS在专有网络内的挂载点。 | 无 | 
| CustomHostAlias | String | 否 | 是 | 容器内自定义host映射。 | 容器内自定义host映射,格式:  
 | 
| VpcId | String | 否 | 否 | SAE命名空间对应的专有网络。 | 在SAE中,一个命名空间只能对应一个专有网络,且不能修改。第一次在命名空间内创建SAE应用将形成绑定关系。多个命名空间可以对应一个专有网络。不填则默认为命名空间绑定的VpcId。 | 
| SecurityGroupId | String | 否 | 否 | 安全组ID。 | 无 | 
| Command | String | 否 | 是 | 镜像启动命令。 | 该命令必须为容器内存在的可执行的对象。例如:sleep。 设置该命令将导致镜像原本的启动命令失效。 | 
| EdasContainerVersion | String | 否 | 是 | EDAS Pandora应用使用的运行环境。 | 无 | 
| PackageUrl | String | 否 | 是 | 部署包地址。 | PackageType取值为War或FatJar时该参数有效。 | 
| NamespaceId | String | 是 | 否 | EDAS命名空间对应ID。 | 仅支持名称为小写英文字母和短划线(-)的命名空间,必须以小写英文字母开头。 | 
| AssociateEip | Boolean | 否 | 否 | 是否绑定 EIP。 | 取值说明如下: 
 | 
| AcrInstanceId | String | 否 | 是 | ACR 企业版实例 ID。 | 无 | 
| OssAkId | String | 否 | 否 | OSS 读写的 AccessKey ID。 | 无 | 
| ProgrammingLanguage | String | 否 | 否 | 创建应用的技术栈语言。 | 取值说明如下: 
 | 
| OssAkSecret | String | 否 | 否 | OSS 读写的 AccessKey Secret。 | 无 | 
| Python | String | 否 | 否 | Python 环境。 | 支持 PYTHON 3.9.15。 | 
| BaseAppId | String | 否 | 否 | 基础应用 ID。 | 无 | 
| EnableEbpf | String | 否 | 否 | 基于 eBPF 技术,对非 Java 应用开启应用监控能力。 | 取值说明如下: 
 | 
| PhpArmsConfigLocation | String | 否 | 否 | PHP 应用监控挂载路径,需要您保证 PHP 服务器一定会加载这个路径的配置文件。 | 您无需关注配置内容,SAE 会自动渲染正确的配置文件。 | 
| PhpConfig | String | 否 | 否 | PHP 配置文件内容。 | 无 | 
| MicroRegistrationConfig | String | 否 | 否 | 注册中心配置信息。 | 无 | 
| TerminationGracePeriodSeconds | Integer | 否 | 否 | 优雅下线超时时间。 | 默认为 30,单位为秒。取值范围为 1~300。 | 
| ConfigMapMountDesc | String | 否 | 否 | ConfigMap挂载描述。 | 使用在命名空间配置项页面创建的配置项来向容器中注入配置信息。参数说明如下: 
 说明  可通过传递 | 
| PvtzDiscoverySvc | String | 否 | 否 | 开启 K8s Service 服务注册发现。 | 取值说明如下: 
 | 
| AcrAssumeRoleArn | String | 否 | 否 | 跨账号拉取镜像时所需的 RAM 角色的 ARN。 | 更多信息,请参见为RAM角色授权。 | 
| TomcatConfig | String | 否 | 否 | Tomcat 文件配置。 | 设置为""或"{}"表示删除配置: 
 | 
| AppSource | String | 否 | 否 | 微服务应用。 | 可选值: 
 | 
| PythonModules | String | 否 | 否 | 自定义安装模块依赖。 | 默认安装根目录下 requirements.txt 定义的依赖项。如果未配置或自定义软件包,可以指定安装的依赖。 | 
| NasConfigs | String | 否 | 否 | 挂载 NAS 的配置。 | 取值说明如下: 
 | 
| MicroRegistration | String | 否 | 否 | 选择 Nacos 注册中心。 | 取值说明如下: 
 | 
| ServiceTags | String | 否 | 否 | 应用配置的灰度标签。 | 无 | 
| ImagePullSecrets | String | 否 | 否 | 对应保密字典 ID。 | 无 | 
| AutoConfig | Boolean | 否 | 否 | 是否自动配置网络环境。 | 取值说明如下: 
 说明  如果选择为true,则传其他的NamespaceId会被忽略。 | 
| KafkaConfigs | String | 否 | 否 | 日志采集到 Kafka 的配置汇总信息。 | 取值说明如下: 
 | 
| Php | String | 否 | 否 | PHP 部署包依赖的 PHP 版本。 | 无。 | 
| OssMountDescs | List | 否 | 否 | OSS 挂载描述信息。 | 参数说明如下: 
 | 
| PhpConfigLocation | String | 否 | 否 | PHP 应用启动配置挂载路径 | 需要您保证 PHP 服务器会使用这个配置文件启动。 | 
| SaeVersion | String | 否 | 否 | SAE 版本。 | 支持版本如下: 
 | 
| NewSaeVersion | String | 否 | 否 | 新SAE版本。 | 取值: 
 | 
| EnableNewArms | Boolean | 否 | 否 | 是否启用新的Arms功能。 | 取值: 
 | 
| EnableSidecarResourceIsolated | Boolean | 否 | 是 | 是否启用 Sidecar 资源隔离。 | 取值: 
 | 
| SidecarContainersConfig | List | 否 | 是 | 容器配置信息列表。 | 更多信息,请参考SidecarContainersConfig属性。 | 
| InitContainersConfig | List | 否 | 是 | 初始化容器配置列表。 | 更多信息,请参考InitContainersConfig属性。 | 
SidecarContainersConfig语法
"SidecarContainersConfig": [
  {
    "CommandArgs": String,
    "AcrInstanceId": String,
    "Memory": Integer,
    "Name": String,
    "EmptyDirDesc": String,
    "Command": String,
    "ImageUrl": String,
    "Cpu": Integer,
    "Envs": String,
    "ConfigMapMountDesc": String
  }
]  SidecarContainersConfig属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| CommandArgs | String | 否 | 是 | 要在init容器中运行的命令参数。 | 无 | 
| AcrInstanceId | String | 否 | 是 | ACR实例的ID。 | 无 | 
| Memory | Integer | 是 | 是 | 分配给Sidecar容器的内存量。 | 无 | 
| Name | String | 是 | 是 | Sidecar容器的名称。 | 无 | 
| EmptyDirDesc | String | 否 | 是 | EMPTYDIR装载说明。 | 无 | 
| Command | String | 否 | 是 | 要在init容器中运行的命令。 | 无 | 
| ImageUrl | String | 否 | 是 | 镜像地址。 | 仅映像类型的应用程序可配置为镜像地址。 | 
| Cpu | Integer | 是 | 是 | 分配给Sidecar容器的CPU核心数。 | 无 | 
| Envs | String | 否 | 是 | 容器环境变量参数。 | 示例:  | 
| ConfigMapMountDesc | String | 否 | 是 | ConfigMap装载说明。 | 无 | 
InitContainersConfig语法
"InitContainersConfig": [
  {
    "Command": String,
    "ConfigMapMountDesc": String,
    "ImageUrl": String,
    "CommandArgs": String,
    "Envs": String,
    "Name": String
  }
]  InitContainersConfig属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Command | String | 否 | 是 | 要在init容器中运行的命令。 | 无 | 
| ConfigMapMountDesc | String | 否 | 否 | ConfigMap装载说明。 | 无 | 
| ImageUrl | String | 否 | 是 | 镜像地址。 | 仅映像类型的应用程序可配置为镜像地址。 | 
| CommandArgs | String | 否 | 是 | 要在init容器中运行的命令参数。 | 无 | 
| Envs | String | 否 | 是 | 容器环境变量参数。 | 示例:  | 
| Name | String | 是 | 是 | 初始化容器的名称。 | 无 | 
Tags语法
"Tags": [
  {
    "Key": String,
    "Value": String
  }
]  Tags属性
| 属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 | 
| Key | String | 是 | 否 | 标签键。 | 长度为1~128个字符,不能以 | 
| Value | String | 否 | 否 | 标签值。 | 长度为0~128个字符,不能以 | 
返回值
Fn::GetAtt
- AppId:应用ID。 
- ChangeOrderId:发布单ID,用于查询任务执行状态。 
示例
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  NamespaceId:
    Type: String
    Description: |-
      EDAS namespace corresponding to ID. Canada supports only the name of the scribe lowercase namespace must begin with a letter.
      Namespace can interface to obtain from DescribeNamespaceList.
  VpcId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
  VSwitchId:
    Type: String
    AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
  SecurityGroupId:
    Type: String
    AssociationProperty: ALIYUN::ECS::SecurityGroup::SecurityGroupId
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
Resources:
  Application:
    Type: ALIYUN::SAE::Application
    Properties:
      AppName: TestApp
      NamespaceId:
        Ref: NamespaceId
      VpcId:
        Ref: VpcId
      VSwitchId:
        Ref: VSwitchId
      SecurityGroupId:
        Ref: SecurityGroupId
      Cpu: 500
      Memory: 1024
      Replicas: 2
      PackageType: War
      Deploy: true
      Timezone: Asia/Shanghai
Outputs: {}{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "NamespaceId": {
      "Type": "String",
      "Description": "EDAS namespace corresponding to ID. Canada supports only the name of the scribe lowercase namespace must begin with a letter.\nNamespace can interface to obtain from DescribeNamespaceList."
    },
    "VpcId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
    },
    "VSwitchId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
      "AssociationPropertyMetadata": {
        "VpcId": "${VpcId}"
      }
    },
    "SecurityGroupId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::SecurityGroup::SecurityGroupId",
      "AssociationPropertyMetadata": {
        "VpcId": "${VpcId}"
      }
    }
  },
  "Resources": {
    "Application": {
      "Type": "ALIYUN::SAE::Application",
      "Properties": {
        "AppName": "TestApp",
        "NamespaceId": {
          "Ref": "NamespaceId"
        },
        "VpcId": {
          "Ref": "VpcId"
        },
        "VSwitchId": {
          "Ref": "VSwitchId"
        },
        "SecurityGroupId": {
          "Ref": "SecurityGroupId"
        },
        "Cpu": 500,
        "Memory": 1024,
        "Replicas": 2,
        "PackageType": "War",
        "Deploy": true,
        "Timezone": "Asia/Shanghai"
      }
    }
  },
  "Outputs": {
  }
}更多示例,请参见创建命名空间、创建SAE应用和为应用绑定SLB的组合示例:YAML示例。