ALIYUN::CS::App 类型用于创建基于 ALIYUN::CS::Cluster 的应用。

语法

{
  "Type": "ALIYUN::CS::App",
  "Properties": {
    "Name": String,
    "Ca": String,
    "ClusterId": String,
    "Environment": Map,
    "Cert": String,
    "Version": String,
    "MasterUrl": String,
    "Key": String,
    "Template": String,
    "Description": String
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
Name String 指定应用的名称。
ClusterId String 指定集群的 ID。
MasterUrl String 指定集群的主 URL 地址。
Ca String 指定集群的 CA 证书。
Environment Map 指定环境变量。
Cert String 指定集群的客户端证书。
Version String 指定应用的版本号。
Key String 指定集群的客户端主键。
Template String 指定部署 Docker 应用的模版。
Description String 指定应用的描述。 长度为 2-256 个字符,默认为空。

返回值

Fn::GetAtt

Endpoints:访问应用的域名。

示例

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Resources": {
    "App": {
      "Properties": {
        "Ca": {
          "Fn::GetAtt": [
            "MyCluster",
            "Ca"
          ]
        },
        "Cert": {
          "Fn::GetAtt": [
            "MyCluster",
            "Cert"
          ]
        },
        "ClusterId": {
          "Fn::GetAtt": [
            "MyCluster",
            "ClusterId"
          ]
        },
        "Key": {
          "Fn::GetAtt": [
            "MyCluster",
            "Key"
          ]
        },
        "MasterUrl": {
          "Fn::GetAtt": [
            "MyCluster",
            "MasterUrl"
          ]
        },
        "Name": "ngix",
        "Template": {"Fn::Join": ["\\n", [
             "mysql:",
             "  environment:",
             "    - MYSQL_MAJOR=5.6",
             "    - MYSQL_ROOT_PASSWORD=password",
             "  expose:",
             "    - 3306/tcp",
             "  image: 'registry.aliyuncs.com/acs-sample/mysql:5.6'",
             "  labels:",
             "    aliyun.routing.port_3306: nnn;http://nn.abc.com",
             "    aliyun.scale: '3'",
             "  restart: always",
             "  volumes:",
             "    - /var/lib/mysql"
         ]]}
      },
      "Type": "ALIYUN::CS::App"
    },
    "MyCluster": {
      "Properties": {
        "InstanceType": "ecs.s1.small",
        "Name": "mysqlcluster",
        "Password": "Test****",
        "Size": 3
      },
      "Type": "ALIYUN::CS::Cluster"
    }
  },
  "Outputs": {
    "Endpoints": {
      "Description": "Endpoints of the app.",
      "Value": {
        "Fn::GetAtt": [
          "App",
          "Endpoints"
        ]
      }
    }
  }
}