ALIYUN::EDAS::Application is used to create an application in an Elastic Compute Service (ECS) cluster in Enterprise Distributed Application Service (EDAS).

Syntax

{
  "Type": "ALIYUN::EDAS::Application",
  "Properties": {
    "ApplicationName": String,
    "HealthCheckURL": String,
    "Description": String,
    "ClusterId": String,
    "PackageType": String,
    "BuildPackId": Integer,
    "EcuInfo": String,
    "ComponentIds": String,
    "LogicalRegionId": String,
    "ResourceGroupId": String
  }
}

Properties

Property Type Required Editable Description Constraint
ApplicationName String Yes Yes The name of the application. The name must be 1 to 36 characters in length and can contain digits, letters, hyphens (-), and underscores (_). The name must start with a letter.
HealthCheckURL String No No The health check URL. None.
Description String No Yes The description of the application. None.
ClusterId String Yes No The ID of the ECS cluster in which you want to create the application. If you do not set this property, the application is created in the default ECS cluster. None.
PackageType String No No The format of the deployment package. Valid values:
  • war
  • jar
ResourceGroupId String No Yes The ID of the resource group. None.
BuildPackId Integer No No The build package number of EDAS Container.

To obtain the build package number of EDAS container, you can call the ListBuildPack operation. Alternatively, read the Release notes for EDAS Container topic. In this topic, you can obtain the required build package number from the Build package number column in the first table.

This property is required to create a High-Speed Service Framework (HSF) application.
EcuInfo String No No The ID of the elastic compute unit (ECU) that you want to scale out. The ID of an ECU indicates the unique identifier of an ECS instance that has been imported to EDAS. If you specify multiple IDs, separate them with commas (,).

You can call the ListScaleOutEcu operation to query the IDs of ECUs.

ComponentIds String No No The ID of the application component.
Note If you use EDAS SDK for Java or EDAS SDK for Python, make sure that the SDK version is V2.57.3 or later. If you do not use an SDK provided by EDAS, you can set this property without extra operations. For example, you can directly set this property to aliyun-python-sdk-core, aliyun-java-sdk-core, or aliyun cli if you are using the corresponding component.
This property is required if you want to use the Apache Tomcat runtime to create a Dubbo application based on a WAR package or use the standard Java runtime to create a Spring Boot or Spring Cloud application based on a JAR package. Valid values that are commonly used:
  • 4: Apache Tomcat 7.0.91
  • 7: Apache Tomcat 8.5.42
  • 5: OpenJDK 1.8.x
  • 6: OpenJDK 1.7.x
LogicalRegionId String No No The ID of the namespace. Example: cn-beijing:prod.
  • This property is required if the cluster that you specify does not belong to the default namespace. If you do not set this property in this case, the error message application regionId is different with cluster regionId! is returned.
  • You can leave this property empty if the cluster that you specify belongs to the default namespace.
Set this property to the ID of the namespace to which the cluster that you specify belongs. To obtain the ID of the namespace, perform the following operations: Log on to the EDAS console and choose Resource Management > Microservice Namespaces. On the page that appears, view the ID of the namespace.

Response parameters

Fn::GetAtt

  • Port: the port number of the application. Default value: 8080.
  • AppId: the ID of the application. The ID uniquely identifies the EDAS application.

Examples

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Resources": {
    "Application": {
      "Type": "ALIYUN::EDAS::Application",
      "Properties": {
        "ApplicationName": {
          "Ref": "ApplicationName"
        },
        "HealthCheckURL": {
          "Ref": "HealthCheckURL"
        },
        "Description": {
          "Ref": "Description"
        },
        "ClusterId": {
          "Ref": "ClusterId"
        },
        "PackageType": {
          "Ref": "PackageType"
        },
        "BuildPackId": {
          "Ref": "BuildPackId"
        },
        "EcuInfo": {
          "Ref": "EcuInfo"
        },
        "ComponentIds": {
          "Ref": "ComponentIds"
        },
        "LogicalRegionId": {
          "Ref": "LogicalRegionId"
        }
      }
    }
  },
  "Parameters": {
    "ApplicationName": {
      "MinLength": 1,
      "Type": "String",
      "Description": "The application name (only allow the use of numbers, letters, -, _, up to 36 characters)",
      "MaxLength": 36
    },
    "HealthCheckURL": {
      "Type": "String",
      "Description": "Application Health Check URL"
    },
    "Description": {
      "Type": "String",
      "Description": "Descriptive information"
    },
    "ClusterId": {
      "Type": "String",
      "Description": "Cluster ID of ECS application"
    },
    "PackageType": {
      "Default": "war",
      "Type": "String",
      "Description": "Application packet format, possible values: war or jar",
      "AllowedValues": [
        "war",
        "jar"
      ]
    },
    "BuildPackId": {
      "Type": "Number",
      "Description": "EDAS-Container construct a packet number (available version list acquired through the ListBuildPack API (ConfigId of response) or \"container version\" table \"Building packet number\" column acquisition). When creating HSF application, this parameter must be specified"
    },
    "EcuInfo": {
      "Type": "String",
      "Description": "Machine capacity is needed ecu_id (ECS Examples introducing another unique identity EDAS EDAS), the plurality of \",\" separated (by querying ListScaleOutEcu wherein ecu_id\nInterface to obtain)."
    },
    "ComponentIds": {
      "Type": "String",
      "Description": "Application component ID (available through the query interface to obtain a list of components to the interface ListComponents), when creating the application runtime environment using Apache Tomcat (war packet format Dubbo\nApplication required) or standard Java application (jar package format Spring Boot / Spring Cloud applications require) you need to specify when the operating environment. Commonly used application component ID and meaning:\n4 represents Apache Tomcat 7.0.91,7 represented Apache Tomcat 8.5.42,5 represented OpenJDK 1.8.x, 6 represents OpenJDK\n1.7.x"
    },
    "LogicalRegionId": {
      "Type": "String",
      "Description": "Namespace ID"
    }
  },
  "Outputs": {
    "Port": {
      "Description": "Application port",
      "Value": {
        "Fn::GetAtt": [
          "Application",
          "Port"
        ]
      }
    },
    "AppId": {
      "Description": "Application Id, a unique identifier EDAS application",
      "Value": {
        "Fn::GetAtt": [
          "Application",
          "AppId"
        ]
      }
    }
  }
}

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Resources:
  Application:
    Type: 'ALIYUN::EDAS::Application'
    Properties:
      ApplicationName:
        Ref: ApplicationName
      HealthCheckURL:
        Ref: HealthCheckURL
      Description:
        Ref: Description
      ClusterId:
        Ref: ClusterId
      PackageType:
        Ref: PackageType
      BuildPackId:
        Ref: BuildPackId
      EcuInfo:
        Ref: EcuInfo
      ComponentIds:
        Ref: ComponentIds
      LogicalRegionId:
        Ref: LogicalRegionId
Parameters:
  ApplicationName:
    MinLength: 1
    Type: String
    Description: >-
      The application name (only allow the use of numbers, letters, -, _, up to
      36 characters)
    MaxLength: 36
  HealthCheckURL:
    Type: String
    Description: Application Health Check URL
  Description:
    Type: String
    Description: Descriptive information
  ClusterId:
    Type: String
    Description: Cluster ID of ECS application
  PackageType:
    Default: war
    Type: String
    Description: 'Application packet format, possible values: war or jar'
    AllowedValues:
      - war
      - jar
  BuildPackId:
    Type: Number
    Description: >-
      EDAS-Container construct a packet number (available version list acquired
      through the ListBuildPack API (ConfigId of response) or "container
      version" table "Building packet number" column acquisition). When creating
      HSF application, this parameter must be specified
  EcuInfo:
    Type: String
    Description: >-
      Machine capacity is needed ecu_id (ECS Examples introducing another unique
      identity EDAS EDAS), the plurality of "," separated (by querying
      ListScaleOutEcu wherein ecu_id

      Interface to obtain).
  ComponentIds:
    Type: String
    Description: >-
      Application component ID (available through the query interface to obtain
      a list of components to the interface ListComponents), when creating the
      application runtime environment using Apache Tomcat (war packet format
      Dubbo

      Application required) or standard Java application (jar package format
      Spring Boot / Spring Cloud applications require) you need to specify when
      the operating environment. Commonly used application component ID and
      meaning:

      4 represents Apache Tomcat 7.0.91,7 represented Apache Tomcat 8.5.42,5
      represented OpenJDK 1.8.x, 6 represents OpenJDK

      1.7.x
  LogicalRegionId:
    Type: String
    Description: Namespace ID
Outputs:
  Port:
    Description: Application port
    Value:
      'Fn::GetAtt':
        - Application
        - Port
  AppId:
    Description: 'Application Id, a unique identifier EDAS application'
    Value:
      'Fn::GetAtt':
        - Application
        - AppId