全部產品
Search
文件中心

:ALIYUN::EDAS::K8sApplication

更新時間:Mar 07, 2025

ALIYUN::EDAS::K8sApplication類型用於在Kubernetes叢集中建立應用。

文法

{
  "Type": "ALIYUN::EDAS::K8sApplication",
  "Properties": {
    "LogicalRegionId": String,
    "NasId": String,
    "Liveness": Map,
    "IntranetSlbId": String,
    "WebContainer": String,
    "LimitCpu": Integer,
    "SlsConfigs": List,
    "IntranetSlbProtocol": String,
    "PackageVersion": String,
    "WebContainerConfig": Map,
    "AppName": String,
    "JDK": String,
    "InternetSlbId": String,
    "PreStop": Map,
    "Readiness": Map,
    "InternetSlbPort": Integer,
    "DeployAcrossNodes": Boolean,
    "RequestsMem": Integer,
    "PackageType": String,
    "UseBodyEncoding": Boolean,
    "JavaStartUpConfig": Map,
    "IsMultilingualApp": Boolean,
    "RequestsCpu": Integer,
    "CommandArgs": List,
    "StorageType": String,
    "ClusterId": String,
    "Timeout": Integer,
    "Envs": List,
    "ImageUrl": String,
    "DeployAcrossZones": Boolean,
    "PostStart": Map,
    "InternetTargetPort": Integer,
    "Replicas": Integer,
    "Namespace": String,
    "ApplicationDescription": String,
    "UriEncoding": String,
    "IntranetTargetPort": Integer,
    "MountDescs": List,
    "LocalVolume": List,
    "RuntimeClassName": String,
    "Command": String,
    "InternetSlbProtocol": String,
    "EdasContainerVersion": String,
    "PackageUrl": String,
    "IntranetSlbPort": Integer,
    "RepoId": String,
    "EnableAhas": Boolean,
    "LimitMem": Integer
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

LogicalRegionId

String

EDAS命名空間對應的ID。

非預設命名空間須指定該參數。

NasId

String

掛載的NAS ID,必須與叢集在同一個地區。

NAS ID必須有可用的掛載點建立額度,或者掛載點已經在VPC內的交換器上。

如果不指定NasId,但指定了mountDescs參數,預設將自動購買一個NAS並掛載到VPC內的交換器上。

Liveness

Map

容器存活狀態監測。

格式:{"failureThreshold": 3,"initialDelaySeconds": 5,"successThreshold": 1,"timeoutSeconds": 1,"tcpSocket":{"host":"", "port":8080}}

設定為""或者{}表示刪除該參數,設定為空白表示忽略該參數。

更多資訊,請參見Liveness屬性

IntranetSlbId

String

私網SLB ID。

如果不指定該參數,EDAS會自動為使用者新購SLB。

WebContainer

String

部署套件依賴的Tomcat版本。

適用於通過WAR包部署的Spring Cloud和Dubbo應用,鏡像不支援該參數。

LimitCpu

Integer

應用運行過程中,應用執行個體的CPU限額。

單位:核心數。

SlsConfigs

List

Logstore配置。

設定為""或者"{}"表示刪除配置。

更多資訊,請參見SlsConfigs屬性

IntranetSlbProtocol

String

私網SLB協議。

取值:

  • TCP

  • HTTP

  • HTTPS

PackageVersion

String

部署套件的版本號碼。

PackageType取值為WAR或FatJar時必須指定該參數。

EDAS POP API的Java或者Python SDK需要2.44.0或以上版本。

WebContainerConfig

Map

Tomcat容器配置。

設定為""或者"{}"表示刪除配置。

更多資訊,請參見WebContainerConfig屬性

AppName

String

應用程式名稱。

最多支援36個字元。必須以英文字母開頭,可包含數字、英文字母和短劃線(-)。

JDK

String

部署的包依賴的JDK版本。

取值:

  • Open JDK 7

  • Open JDK 8

鏡像不支援該參數。

InternetSlbId

String

公網SLB ID。

如果不指定該參數,EDAS會自動為使用者新購SLB。

PreStop

Map

應用停止前的執行指令碼。

格式:{"tcpSocket":{"host":"", "port":8080}}

設定為""或者{}表示刪除該參數,設定為空白表示忽略該參數。

更多資訊,請參見PreStop屬性

Readiness

Map

容器業務狀態檢查。

更多資訊,請參見Readiness屬性

InternetSlbPort

Integer

公網SLB前端連接埠。

取值範圍:1~65,535。

DeployAcrossNodes

Boolean

是否將應用執行個體分布到多個節點。

取值:

  • true

  • false

RequestsMem

Integer

應用建立時,每個應用執行個體允許的最大記憶體限額。

單位:MB。

設定為0表示沒有限制。

PackageType

String

應用程式套件類型。

取值:

  • FatJar

  • WAR

  • Image

UseBodyEncoding

Boolean

是否啟用BodyEncoding for URL。

取值:

  • true

  • false(預設值)

JavaStartUpConfig

Map

用於在Java應用啟動時配置啟動參數。

置為""或者"{}"表示刪除配置。

更多資訊,請參見JavaStartUpConfig屬性

IsMultilingualApp

Boolean

是否為多語言應用。

取值:

  • true

  • false(預設值)

RequestsCpu

Integer

應用建立時,應用執行個體的CPU限額。

單位:核心數。

設定為0時表示不限額。

CommandArgs

List

命令集合。

取值樣本:[{“ argument”:“-c”},{“ argument”:“ test”}]],其中-ctest是可以設定的兩個參數。

更多資訊,請參見CommandArgs屬性

StorageType

String

儲存類型。

取值:SSD。

ClusterId

String

叢集ID。

您可以調用ListCluster - 擷取叢集列表介面查詢叢集ID。

Timeout

Integer

變更流程逾時時間。

單位:秒。

Envs

List

部署環境變數的集合。

格式:[{"Name":"x","Value":"y"},{"Name":"x2","Value":"y2"}]

更多資訊,請參見Envs屬性

ImageUrl

String

鏡像地址。

當PackageType取值為Image時,必須指定該參數。

DeployAcrossZones

Boolean

是否將應用執行個體分布到多可用性區域。

取值:

  • true

  • false

PostStart

Map

應用啟動後的指令碼。

格式:{"Exec": {"Command": ["ls", "/"]}}

設定為""或者{}表示刪除該參數,設定為空白表示忽略該參數。

更多資訊,請參見PostStart屬性

InternetTargetPort

Integer

公網SLB後端連接埠,也是應用的服務連接埠。

取值範圍:1~65,535。

Replicas

Integer

應用執行個體個數。

預設值:1。

單位:個。

Namespace

String

應用程式部署的Kubernetes叢集的命名空間。

預設值:default。

ApplicationDescription

String

應用程式的描述。

UriEncoding

String

統一資源識別項(URI)編碼方案。

取值:

  • ISO-8859-1

  • GBK

  • GB2312

  • UTF-8

說明

如果在應用程式配置中未指定該參數,則使用Tomcat容器中的預設URI編碼方案。

IntranetTargetPort

Integer

私網SLB後端連接埠,也是應用的服務連接埠。

取值範圍:1~65,535。

MountDescs

List

掛載配置描述。

格式:[{"NasPath": "/k8s","MountPath": "/mnt"}, {"NasPath": "/files", "MountPath": "/app/files"}]。其中,NasPath為檔案儲存體路徑,MountPath為掛載到容器內的路徑。

更多資訊,請參見MountDescs屬性

LocalVolume

List

宿主機檔案掛載到容器內的配置。

格式:[{"type":"", "nodePath":"/localfiles", "mountPath":"/app/files"}, {"type":"Directory", "nodePath":"/mnt", "mountPath":"/app/storage"}]。其中,nodePath為宿主機路徑,mountPath為容器內的路徑,type為掛載類型。

更多資訊,請參見LocalVolume屬性

RuntimeClassName

String

容器運行時的類型。

該參數僅適用於使用安全沙箱容器的叢集。

Command

String

命令。

如果指定該參數,將在鏡像啟動時替代鏡像中的啟動命令。

InternetSlbProtocol

String

公網SLB協議。

取值:

  • TCP

  • HTTP

  • HTTPS

EdasContainerVersion

String

應用程式的部署套件所依賴的EDAS容器的版本。

使用鏡像部署時不支援該參數。

PackageUrl

String

部署套件地址。

通過FatJar或WAR包部署的應用需要配置部署套件地址。

說明

Java或Python的SDK版本必須為2.44.0或更高版本。

IntranetSlbPort

Integer

私網SLB前端連接埠。

取值範圍:1~65,535。

RepoId

String

鏡像的倉庫ID。

EnableAhas

Boolean

是否接入應用高可用服務AHAS。

取值:

  • true

  • false(預設值)

LimitMem

Integer

應用運行過程中,應用執行個體的記憶體限額。

單位:MB。

Liveness文法

"Liveness": {
  "TimeoutSeconds": Integer,
  "Exec": Map,
  "InitialDelaySeconds": Integer,
  "HttpGet": Map,
  "PeriodSeconds": Integer,
  "TcpSocket": Map,
  "FailureThreshold": Integer,
  "SuccessThreshold": Integer
}

Liveness屬性

屬性名稱

類型

必須

允許更新

描述

約束

TimeoutSeconds

Integer

探測逾時時間。

最小值:1。

單位:秒。

Exec

Map

執行命令。

更多資訊,請參見Exec屬性

InitialDelaySeconds

Integer

容器啟動後第一次執行探測時需要等待時間。

最小值:1。

單位:秒。

HttpGet

Map

HTTP Get方法。

更多資訊,請參見HttpGet屬性

PeriodSeconds

Integer

探測的時間間隔。

最小值:1。

單位:秒。

TcpSocket

Map

TCP Socket連接埠。

更多資訊,請參見TcpSocket屬性

FailureThreshold

Integer

不健康閾值。

最小值:1。

SuccessThreshold

Integer

健康閾值。

最小值:1。

Exec文法

"Exec": {
  "Command": List
}

Exec屬性

屬性名稱

類型

必須

允許更新

描述

約束

Command

List

執行命令。

HttpGet文法

"HttpGet": {
  "Path": String,
  "HttpHeaders": List,
  "Scheme": String,
  "Port": String,
  "Host": String
}

HttpGet屬性

屬性名稱

類型

必須

允許更新

描述

約束

Path

String

路徑。

HttpHeaders

List

HTTP要求標頭。

格式:[{"name": "test","value": "testvalue"}]

更多資訊,請參見HttpHeaders屬性

Scheme

String

方式。

格式:{'AllowedValues': ['HTTP', 'HTTPS']}

Port

String

連接埠。

Host

String

主機。

HttpHeaders文法

"HttpHeaders": [
  {
    "Value": String,
    "Name": String
  }
]

HttpHeaders屬性

屬性名稱

類型

必須

允許更新

描述

約束

Value

String

取值。

Name

String

名稱。

TcpSocket文法

"TcpSocket": {
  "Port": String,
  "Host": String
}

TcpSocket屬性

屬性名稱

類型

必須

允許更新

描述

約束

Port

String

連接埠。

Host

String

主機。

SlsConfigs文法

"SlsConfigs": [
  {
    "Type": String,
    "LogDir": String,
    "Logstore": String
  }
]

SlsConfigs屬性

屬性名稱

類型

必須

允許更新

描述

約束

Type

String

採集類型。

取值:

  • file:檔案類型。

  • stdout:標準輸出類型。

LogDir

String

採集路徑。

採集路徑可包含:^/(.+)/(.*)^/$。當Type取值為stdout時,採集路徑為stdout.log。當Type取值為file時,採集路徑為採集到的檔案路徑。

Logstore

String

日誌庫名稱。

請確保Logstore名稱在同一個叢集中不重複。

長度為3~63個字元。必須以小寫英文字母或數字開頭和結尾。可包含小寫英文字母、數字、短劃線(-)和底線(_)。

說明

如果不指定該參數,則由系統自動組建記錄檔庫名稱。

WebContainerConfig文法

"WebContainerConfig": {
  "HttpPort": Integer,
  "UriEncoding": String,
  "ContextPath": String,
  "ContextInputType": String,
  "UseBodyEncoding": Boolean,
  "ServerXml": String,
  "MaxThreads": Integer,
  "UseAdvancedServerXml": Boolean,
  "UseDefaultConfig": Boolean
}

WebContainerConfig屬性

屬性名稱

類型

必須

允許更新

描述

約束

HttpPort

Integer

HTTP連接埠。

取值範圍:1024~65,535。

預設值:8080。

說明

小於1024的連接埠需要具備Root許可權。

UriEncoding

String

Tomcat的編碼格式。

取值:

  • UTF-8

  • ISO-8859-1(預設值)

  • GBK

  • GB2312

ContextPath

String

自訂路徑。

當ContextInputType取值為custom時,必須指定該參數。

ContextInputType

String

應用的訪問路徑。

取值:

  • war:無需填寫自訂路徑,應用的訪問路徑是WAR包名稱。

  • root:無需填寫自訂路徑,應用的訪問路徑是/

  • custom:需要指定自訂路徑(ContextPath)。

UseBodyEncoding

Boolean

是否啟用BodyEncoding for URL。

取值:

  • true

  • false(預設值)

ServerXml

String

進階配置中自訂設定的server.xml文字檔內容。

當UseAdvancedServerXml取值為true時該參數生效。

MaxThreads

Integer

配置串連池的串連數大小。

預設值:400。

說明

此項配置對應用效能有很大影響,請由專業人士配置。

UseAdvancedServerXml

Boolean

是否使用進階配置自訂設定server.xml檔案。

取值:

  • true

  • false(預設值)

UseAdvancedServerXml取值為true時,您可以直接對Tomcat的server.xml檔案進行編輯。

UseDefaultConfig

Boolean

是否使用自訂配置。

取值:

  • true(預設值):不使用自訂配置,即使用預設配置。

  • false:使用自訂配置。

PreStop文法

"PreStop": {
  "Exec": Map,
  "HttpGet": Map
}

PreStop屬性

屬性名稱

類型

必須

允許更新

描述

約束

Exec

Map

執行命令。

HttpGet

Map

HTTP Get方法。

Readiness文法

"Readiness": {
  "TimeoutSeconds": Integer,
  "Exec": Map,
  "InitialDelaySeconds": Integer,
  "HttpGet": Map,
  "PeriodSeconds": Integer,
  "TcpSocket": Map,
  "FailureThreshold": Integer,
  "SuccessThreshold": Integer
}

Readiness屬性

屬性名稱

類型

必須

允許更新

描述

約束

TimeoutSeconds

Integer

逾時時間。

單位:秒。

最小值:1。

Exec

Map

執行命令。

InitialDelaySeconds

Integer

初始延遲。

單位:秒。

最小值:1。

HttpGet

Map

HTTP GET請求。

PeriodSeconds

Integer

周期。

單位:秒。

最小值:1。

TcpSocket

Map

TCP Socket連接埠。

FailureThreshold

Integer

失敗閾值。

最小值:1。

SuccessThreshold

Integer

成功閾值。

最小值:1。

JavaStartUpConfig文法

"JavaStartUpConfig": {
  "MaxHeapSize": Map,
  "UseGCLogFileRotation": Map,
  "CustomParams": Map,
  "ParallelGCThreads": Map,
  "InitialHeapSize": Map,
  "NacosUseEndpointParsingRule": Map,
  "ThreadStackSize": Map,
  "SurvivorRatio": Map,
  "PermSize": Map,
  "NewSize": Map,
  "ConcGCThreads": Map,
  "NewRatio": Map,
  "GCLogFileSize": Map,
  "MaxNewSize": Map,
  "G1HeapRegionSize": Map,
  "PrintGC": Map,
  "MaxDirectMemorySize": Map,
  "MaxPermSize": Map,
  "HeapDumpOnOutOfMemoryError": Map,
  "NacosUseCloudNamespaceParsing": Map,
  "HeapDumpPath": Map,
  "GCLogFilePath": Map,
  "PrintGCDateStamps": Map,
  "YoungGarbageCollector": Map,
  "OldGarbageCollector": Map
}

JavaStartUpConfig屬性

屬性名稱

類型

必須

允許更新

描述

約束

MaxHeapSize

Map

最大堆記憶體大小。

單位:MB。

取值範圍:0~(0.85×應用程式的ECS執行個體的可用記憶體)。

更多資訊,請參見MaxHeapSize屬性

UseGCLogFileRotation

Map

使用GCLog檔案輪換。

更多資訊,請參見UseGCLogFileRotation屬性

CustomParams

Map

使用自訂參數。

多個參數之間用空格( )分隔。

更多資訊,請參見CustomParams屬性

ParallelGCThreads

Map

記憶體回收(GC)將使用的並行線程數。

更多資訊,請參見ParallelGCThreads屬性

InitialHeapSize

Map

初始堆的記憶體大小。

單位:MB。

取值為0表示大小不受限制。

更多資訊,請參見InitialHeapSize屬性

NacosUseEndpointParsingRule

Map

是否啟用規則解析。

更多資訊,請參見NacosUseEndpointParsingRule屬性

ThreadStackSize

Map

線程堆的記憶體大小。

單位:KB。

更多資訊,請參見ThreadStackSize屬性

SurvivorRatio

Map

Eden/Survivor記憶體大小比。

更多資訊,請參見SurvivorRatio屬性

PermSize

Map

初始化持久堆記憶體大小。

單位:MB。

更多資訊,請參見PermSize屬性

NewSize

Map

新一代初始堆的記憶體大小。

單位:MB。

更多資訊,請參見NewSize屬性

ConcGCThreads

Map

並發GC將使用的線程數。

更多資訊,請參見ConcGCThreads屬性

NewRatio

Map

Old/Young記憶體大小比。

更多資訊,請參見NewRatio屬性

GCLogFileSize

Map

GC記錄檔大小。

更多資訊,請參見GCLogFileSize屬性

MaxNewSize

Map

新一代堆的最大規模。

單位:MB。

取值為max_uintx表示沒有為記憶體使用量指定上限。

更多資訊,請參見MaxNewSize屬性

G1HeapRegionSize

Map

G1地區的大小。

更多資訊,請參見G1HeapRegionSize屬性

PrintGC

Map

列印GC。

更多資訊,請參見PrintGC屬性

MaxDirectMemorySize

Map

NIO直接記憶體的最大記憶體。

單位:MB。

更多資訊,請參見MaxDirectMemorySize屬性

MaxPermSize

Map

持久堆的最大記憶體。

單位:MB。

更多資訊,請參見MaxPermSize屬性

HeapDumpOnOutOfMemoryError

Map

是否在記憶體溢出報錯時,將記憶體清零。

更多資訊,請參見HeapDumpOnOutOfMemoryError屬性

NacosUseCloudNamespaceParsing

Map

是否啟用自動名稱空間解析。

更多資訊,請參見NacosUseCloudNamespaceParsing屬性

HeapDumpPath

Map

轉儲檔案路徑。

更多資訊,請參見HeapDumpPath屬性

GCLogFilePath

Map

GC日誌目錄。

更多資訊,請參見GCLogFilePath屬性

PrintGCDateStamps

Map

列印GC時間戳記。

更多資訊,請參見PrintGCDateStamps屬性

YoungGarbageCollector

Map

配置新一代垃圾收集器。

更多資訊,請參見YoungGarbageCollector屬性

OldGarbageCollector

Map

配置舊式垃圾收集器。

您必須先配置新一代垃圾收集器(YoungGarbageCollector)。

更多資訊,請參見OldGarbageCollector屬性

MaxHeapSize文法

"MaxHeapSize": {
  "Original": Integer,
  "Startup": String
}

MaxHeapSize屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

UseGCLogFileRotation文法

"UseGCLogFileRotation": {
  "Original": Boolean,
  "Startup": String
}

UseGCLogFileRotation屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Boolean

配置值。

Startup

String

啟動參數。

CustomParams文法

"CustomParams": {
  "Original": String,
  "Startup": String
}

CustomParams屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

String

配置值。

Startup

String

啟動參數。

ParallelGCThreads文法

"ParallelGCThreads": {
  "Original": Integer,
  "Startup": String
}

ParallelGCThreads屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

InitialHeapSize文法

"InitialHeapSize": {
  "Original": Integer,
  "Startup": String
}

InitialHeapSize屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

NacosUseEndpointParsingRule文法

"NacosUseEndpointParsingRule": {
  "Original": Boolean,
  "Startup": String
}

NacosUseEndpointParsingRule屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Boolean

配置值。

Startup

String

啟動參數。

ThreadStackSize文法

"ThreadStackSize": {
  "Original": Integer,
  "Startup": String
}

ThreadStackSize屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

SurvivorRatio文法

"SurvivorRatio": {
  "Original": Integer,
  "Startup": String
}

SurvivorRatio屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

PermSize文法

"PermSize": {
  "Original": Integer,
  "Startup": String
}

PermSize屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

NewSize文法

"NewSize": {
  "Original": Integer,
  "Startup": String
}

NewSize屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

ConcGCThreads文法

"ConcGCThreads": {
  "Original": Integer,
  "Startup": String
}

ConcGCThreads屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

NewRatio文法

"NewRatio": {
  "Original": Integer,
  "Startup": String
}

NewRatio屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

GCLogFileSize文法

"GCLogFileSize": {
  "Original": Integer,
  "Startup": String
}

GCLogFileSize屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

MaxNewSize文法

"MaxNewSize": {
  "Original": Integer,
  "Startup": String
}

MaxNewSize屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

G1HeapRegionSize文法

"G1HeapRegionSize": {
  "Original": Integer,
  "Startup": String
}

G1HeapRegionSize屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

PrintGC文法

"PrintGC": {
  "Original": Boolean,
  "Startup": String
}

PrintGC屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Boolean

參數值。

Startup

String

啟動參數。

MaxDirectMemorySize文法

"MaxDirectMemorySize": {
  "Original": Integer,
  "Startup": String
}

MaxDirectMemorySize屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

MaxPermSize文法

"MaxPermSize": {
  "Original": Integer,
  "Startup": String
}

MaxPermSize屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Integer

配置值。

Startup

String

啟動參數。

HeapDumpOnOutOfMemoryError文法

"HeapDumpOnOutOfMemoryError": {
  "Original": Boolean,
  "Startup": String
}

HeapDumpOnOutOfMemoryError屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Boolean

配置值。

Startup

String

啟動參數。

NacosUseCloudNamespaceParsing文法

"NacosUseCloudNamespaceParsing": {
  "Original": Boolean,
  "Startup": String
}

NacosUseCloudNamespaceParsing屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Boolean

配置值。

Startup

String

啟動參數。

HeapDumpPath文法

"HeapDumpPath": {
  "Original": String,
  "Startup": String
}

HeapDumpPath屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

String

配置值。

Startup

String

啟動參數。

GCLogFilePath文法

"GCLogFilePath": {
  "Original": String,
  "Startup": String
}

GCLogFilePath屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

String

配置值。

Startup

String

啟動參數。

PrintGCDateStamps文法

"PrintGCDateStamps": {
  "Original": Boolean,
  "Startup": String
}

PrintGCDateStamps屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

Boolean

配置值。

Startup

String

啟動參數。

YoungGarbageCollector文法

"YoungGarbageCollector": {
  "Original": String,
  "Startup": String
}

YoungGarbageCollector屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

String

配置值。

Startup

String

啟動參數。

OldGarbageCollector文法

"OldGarbageCollector": {
  "Original": String,
  "Startup": String
}

OldGarbageCollector屬性

屬性名稱

類型

必須

允許更新

描述

約束

Original

String

配置值。

Startup

String

啟動參數。

CommandArgs文法

"CommandArgs": [
  {
    "Argument": String
  }
]

CommandArgs屬性

屬性名稱

類型

必須

允許更新

描述

約束

Argument

String

命令的參數。

與命令組合使用,命令的參數是JsonArray字串,格式為:[{"argument":"-c"},{"argument":"test"}]。其中-ctest為需要設定的兩個參數。

Envs文法

"Envs": [
  {
    "Value": String,
    "Name": String
  }
]

Envs屬性

屬性名稱

類型

必須

允許更新

描述

約束

Value

String

取值。

Name

String

名稱。

PostStart文法

"PostStart": {
  "Exec": Map,
  "HttpGet": Map
}

PostStart屬性

屬性名稱

類型

必須

允許更新

描述

約束

Exec

Map

執行命令。

HttpGet

Map

HTTP GET請求。

MountDescs文法

"MountDescs": [
  {
    "MountPath": String,
    "NasPath": String
  }
]

MountDescs屬性

屬性名稱

類型

必須

允許更新

描述

約束

MountPath

String

掛載到容器內的路徑。

NasPath

String

檔案儲存路徑。

LocalVolume文法

"LocalVolume": [
  {
    "MountPath": String,
    "Type": String,
    "NodePath": String
  }
]

LocalVolume屬性

屬性名稱

類型

必須

允許更新

描述

約束

MountPath

String

容器內的路徑。

Type

String

掛載類型。

NodePath

String

宿主機路徑。

傳回值

Fn::GetAtt

  • AppId:應用程式的ID。

  • ClusterId:應用程式的叢集ID。

  • ChangeOrderId:更改過程的ID。

  • CsClusterId:應用程式的Kubernetes叢集ID。

  • AppName:應用程式的名稱。

樣本

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "LogicalRegionId": {
      "Type": "String",
      "Description": "The ID of the EDAS namespace. This parameter is required for a non-default namespace."
    },
    "NasId": {
      "Type": "String",
      "Description": "The ID of the Network Attached Storage (NAS) file system mounted to the container where the application is running. The NAS file system must be in the same region as the cluster. The NAS file system must have an available mount target, or have a mount\ntarget on the vSwitch in the virtual private cloud (VPC) where the application is located. If this parameter is not specified and the mountDescs field exists, a NAS file system is automatically purchased and mounted to the vSwitch in the VPC by default."
    },
    "Liveness": {
      "Type": "Json",
      "Description": "The liveness check on the container."
    },
    "IntranetSlbId": {
      "Type": "String",
      "Description": "The ID of the internal-facing SLB instance. If this parameter is not specified, Enterprise Distributed Application Service (EDAS) automatically purchases a new SLB instance for you."
    },
    "WebContainer": {
      "Type": "String",
      "Description": "The version of the Tomcat container on which the deployment package of the application depends. This parameter is applicable to Spring Cloud and Apache Dubbo applications that are deployed by using WAR packages. This parameter is not supported when you deploy an application by using images."
    },
    "LimitCpu": {
      "Type": "Number",
      "Description": "The maximum number of CPUs allowed for each application instance when the application\nis running. Unit: cores."
    },
    "SlsConfigs": {
      "Type": "Json",
      "Description": "The Logstore configurations."
    },
    "IntranetSlbProtocol": {
      "Type": "String",
      "Description": "The protocol of the internal-facing SLB instance. Valid values: TCP, HTTP, and HTTPS.",
      "AllowedValues": [
        "TCP",
        "HTTP",
        "HTTPS"
      ]
    },
    "PackageVersion": {
      "Type": "String",
      "Description": "The version of the deployment package. This parameter is required when the PackageType parameter is set to WAR or FatJar. You must specify a version.\nNote The version of SDK for Java or Python must be 2.44.0 or later."
    },
    "WebContainerConfig": {
      "Type": "Json",
      "Description": "The Tomcat container configuration."
    },
    "AppName": {
      "Type": "String",
      "Description": "The name of the application. The name must start with a letter and can contain digits,\nletters, and hyphens (-). It can be up to 36 characters in length."
    },
    "JDK": {
      "Type": "String",
      "Description": "The version of Java Development Kit (JDK) on which the deployment package of the application depends. \nValid values: Open JDK 7 and Open JDK 8. This parameter is not supported when you deploy an application by using images."
    },
    "InternetSlbId": {
      "Type": "String",
      "Description": "The ID of the Internet-facing SLB instance. If this parameter is not specified, EDAS automatically purchases a new SLB instance for you."
    },
    "PreStop": {
      "Type": "Json",
      "Description": "The pre-stop script. For example, {\"Exec\": {\"Command\": [\"ls\", \"/\"]}}."
    },
    "InternetSlbPort": {
      "Type": "Number",
      "Description": "The frontend port of the Internet-facing SLB instance. Valid values: 1 to 65535.",
      "MinValue": 1,
      "MaxValue": 65535
    },
    "Readiness": {
      "Type": "Json",
      "Description": "The readiness check on the container."
    },
    "DeployAcrossNodes": {
      "Type": "Boolean",
      "Description": "Specifies whether to distribute application instances to multiple nodes. The value true indicates yes, whereas other values indicate no.",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "RequestsMem": {
      "Type": "Number",
      "Description": "The maximum amount of memory allowed for each application instance when the application\nis created. Unit: MB. The value 0 indicates no limit.",
      "MinValue": 0
    },
    "PackageType": {
      "Type": "String",
      "Description": "The type of the deployment package. Valid values: FatJar, WAR, and Image."
    },
    "UseBodyEncoding": {
      "Type": "Boolean",
      "Description": "Specifies whether useBodyEncodingForURI is enabled.\nNote If this parameter is not specified in application configuration, the default value\nfalse is applied.",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "JavaStartUpConfig": {
      "Type": "Json",
      "Description": "The configuration of Java startup parameters for a Java application. These startup parameters involve the memory, application, garbage collection (GC) policy, tools, service registration and discovery, and custom configurations. Proper parameter settings help reduce the GC overhead, shorten the server response time, and improve the throughput.\nThe system automatically concatenates all startup values as the configuration of Java startup parameters for the application."
    },
    "IsMultilingualApp": {
      "Type": "Boolean",
      "Description": "Specifies whether the application is a multi-language application.",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "RequestsCpu": {
      "Type": "Number",
      "Description": "The maximum number of CPUs allowed for each application instance when the application is created. Unit: cores. The value 0 indicates no limit.",
      "MinValue": 0
    },
    "CommandArgs": {
      "Type": "Json",
      "Description": "The collection of commands. For example, [{\"argument\":\"-c\"},{\"argument\":\"test\"}], where -c and test are two parameters that can be set."
    },
    "StorageType": {
      "Type": "String",
      "Description": "Only SSD is supported."
    },
    "ClusterId": {
      "Type": "String",
      "Description": "The cluster ID. You can query the cluster ID by calling the ListCluster operation.\nFor more information, see ListCluster."
    },
    "Timeout": {
      "Type": "Number",
      "Description": "The timeout interval of the change process. Unit: seconds.",
      "MinValue": 1
    },
    "Envs": {
      "Type": "Json",
      "Description": "The collection of deployment environment variables. For example, [{\"Name\":\"x\",\"Value\":\"y\"},{\"Name\":\"x2\",\"Value\":\"y2\"}]."
    },
    "ImageUrl": {
      "Type": "String",
      "Description": "The image URL. When PackageType is set to Image, this parameter is required."
    },
    "DeployAcrossZones": {
      "Type": "Boolean",
      "Description": "Specifies whether to distribute application instances to multiple zones. The value true indicates yes, whereas other values indicate no.",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "PostStart": {
      "Type": "Json",
      "Description": "The post-start script. For example, {\"Exec\": {\"Command\": [\"ls\", \"/\"]}}."
    },
    "InternetTargetPort": {
      "Type": "Number",
      "Description": "The backend port of the internal-facing SLB instance, which is also the service port of the application.\nValid values: 1 to 65535.",
      "MinValue": 1,
      "MaxValue": 65535
    },
    "Replicas": {
      "Type": "Number",
      "Description": "The number of instances for the application that you want to create. Default: 1",
      "MinValue": 1,
      "Default": 1
    },
    "Namespace": {
      "Type": "String",
      "Description": "The namespace of the Kubernetes cluster. This parameter determines the Kubernetes namespace where your application is deployed. By default, this parameter is set to default."
    },
    "ApplicationDescription": {
      "Type": "String",
      "Description": "The description of the application."
    },
    "UriEncoding": {
      "Type": "String",
      "Description": "The uniform resource identifier (URI) encoding scheme. Valid values: ISO-8859-1, GBK, GB2312, and UTF-8.\nNote If this parameter is not specified in application configuration, the default URI encoding\nscheme in the Tomcat container is applied."
    },
    "IntranetTargetPort": {
      "Type": "Number",
      "Description": "The backend port of the internal-facing Server Load Balancer (SLB) instance, which is also the service port of the application. Valid values: 1 to 65535."
    },
    "MountDescs": {
      "Type": "Json",
      "Description": "The description of the NAS mounting configuration. For example, the value can be [{\"NasPath\": \"/k8s\",\"MountPath\": \"/mnt\"}, {\"NasPath\": \"/files\", \"MountPath\": \"/app/files\"}]."
    },
    "LocalVolume": {
      "Type": "Json",
      "Description": "The configuration for mounting host files to the container where the application is running. For example, the value can be [{\"type\":\"\", \"nodePath\":\"/localfiles\", \"mountPath\":\"/app/files\"}, {\"type\":\"Directory\", \"nodePath\":\"/mnt\", \"mountPath\":\"/app/storage\"}]."
    },
    "RuntimeClassName": {
      "Type": "String",
      "Description": "The type of the container runtime. This parameter is applicable only to clusters that use sandboxed containers."
    },
    "Command": {
      "Type": "String",
      "Description": "The command that is specified. If it is specified, it replaces the startup command in the image when the image is started."
    },
    "InternetSlbProtocol": {
      "Type": "String",
      "Description": "The protocol of the Internet-facing SLB instance. Valid values: TCP, HTTP, and HTTPS.",
      "AllowedValues": [
        "TCP",
        "HTTP",
        "HTTPS"
      ]
    },
    "EdasContainerVersion": {
      "Type": "String",
      "Description": "The version of EDAS Container on which the deployment package of the application depends.\nNote This parameter is not supported when you deploy an application by using images."
    },
    "PackageUrl": {
      "Type": "String",
      "Description": "The URL of the deployment package. This parameter must be set for the applications\nthat are deployed by using FatJar or WAR packages.\nNote The version of SDK for Java or Python must be 2.44.0 or later."
    },
    "IntranetSlbPort": {
      "Type": "Number",
      "Description": "The frontend port of the internal-facing SLB instance. Valid values: 1 to 65535.",
      "MinValue": 1,
      "MaxValue": 65535
    },
    "RepoId": {
      "Type": "String",
      "Description": "The ID of the image repository."
    },
    "EnableAhas": {
      "Type": "Boolean",
      "Description": "Specifies whether to enable access to Application High Availability Service (AHAS).",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "LimitMem": {
      "Type": "Number",
      "Description": "The maximum amount of memory allowed for each application instance when the application is running. Unit: MB.",
      "MinValue": 1
    }
  },
  "Resources": {
    "K8sApplication": {
      "Type": "ALIYUN::EDAS::K8sApplication",
      "Properties": {
        "LogicalRegionId": {
          "Ref": "LogicalRegionId"
        },
        "NasId": {
          "Ref": "NasId"
        },
        "Liveness": {
          "Ref": "Liveness"
        },
        "IntranetSlbId": {
          "Ref": "IntranetSlbId"
        },
        "WebContainer": {
          "Ref": "WebContainer"
        },
        "LimitCpu": {
          "Ref": "LimitCpu"
        },
        "SlsConfigs": {
          "Ref": "SlsConfigs"
        },
        "IntranetSlbProtocol": {
          "Ref": "IntranetSlbProtocol"
        },
        "PackageVersion": {
          "Ref": "PackageVersion"
        },
        "WebContainerConfig": {
          "Ref": "WebContainerConfig"
        },
        "AppName": {
          "Ref": "AppName"
        },
        "JDK": {
          "Ref": "JDK"
        },
        "InternetSlbId": {
          "Ref": "InternetSlbId"
        },
        "PreStop": {
          "Ref": "PreStop"
        },
        "InternetSlbPort": {
          "Ref": "InternetSlbPort"
        },
        "Readiness": {
          "Ref": "Readiness"
        },
        "DeployAcrossNodes": {
          "Ref": "DeployAcrossNodes"
        },
        "RequestsMem": {
          "Ref": "RequestsMem"
        },
        "PackageType": {
          "Ref": "PackageType"
        },
        "UseBodyEncoding": {
          "Ref": "UseBodyEncoding"
        },
        "JavaStartUpConfig": {
          "Ref": "JavaStartUpConfig"
        },
        "IsMultilingualApp": {
          "Ref": "IsMultilingualApp"
        },
        "RequestsCpu": {
          "Ref": "RequestsCpu"
        },
        "CommandArgs": {
          "Ref": "CommandArgs"
        },
        "StorageType": {
          "Ref": "StorageType"
        },
        "ClusterId": {
          "Ref": "ClusterId"
        },
        "Timeout": {
          "Ref": "Timeout"
        },
        "Envs": {
          "Ref": "Envs"
        },
        "ImageUrl": {
          "Ref": "ImageUrl"
        },
        "DeployAcrossZones": {
          "Ref": "DeployAcrossZones"
        },
        "PostStart": {
          "Ref": "PostStart"
        },
        "InternetTargetPort": {
          "Ref": "InternetTargetPort"
        },
        "Replicas": {
          "Ref": "Replicas"
        },
        "Namespace": {
          "Ref": "Namespace"
        },
        "ApplicationDescription": {
          "Ref": "ApplicationDescription"
        },
        "UriEncoding": {
          "Ref": "UriEncoding"
        },
        "IntranetTargetPort": {
          "Ref": "IntranetTargetPort"
        },
        "MountDescs": {
          "Ref": "MountDescs"
        },
        "LocalVolume": {
          "Ref": "LocalVolume"
        },
        "RuntimeClassName": {
          "Ref": "RuntimeClassName"
        },
        "Command": {
          "Ref": "Command"
        },
        "InternetSlbProtocol": {
          "Ref": "InternetSlbProtocol"
        },
        "EdasContainerVersion": {
          "Ref": "EdasContainerVersion"
        },
        "PackageUrl": {
          "Ref": "PackageUrl"
        },
        "IntranetSlbPort": {
          "Ref": "IntranetSlbPort"
        },
        "RepoId": {
          "Ref": "RepoId"
        },
        "EnableAhas": {
          "Ref": "EnableAhas"
        },
        "LimitMem": {
          "Ref": "LimitMem"
        }
      }
    }
  },
  "Outputs": {
    "AppId": {
      "Description": "The ID of the application.",
      "Value": {
        "Fn::GetAtt": [
          "K8sApplication",
          "AppId"
        ]
      }
    },
    "ClusterId": {
      "Description": "The cluster ID of the application.",
      "Value": {
        "Fn::GetAtt": [
          "K8sApplication",
          "ClusterId"
        ]
      }
    },
    "ChangeOrderId": {
      "Description": "The ID of the change process.",
      "Value": {
        "Fn::GetAtt": [
          "K8sApplication",
          "ChangeOrderId"
        ]
      }
    },
    "CsClusterId": {
      "Description": "The K8s cluster ID of the application.",
      "Value": {
        "Fn::GetAtt": [
          "K8sApplication",
          "CsClusterId"
        ]
      }
    },
    "AppName": {
      "Description": "The name of the application.",
      "Value": {
        "Fn::GetAtt": [
          "K8sApplication",
          "AppName"
        ]
      }
    }
  }
}
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  AppName:
    Description: 'The name of the application. The name must start with a letter and
      can contain digits,

      letters, and hyphens (-). It can be up to 36 characters in length.'
    Type: String
  ApplicationDescription:
    Description: The description of the application.
    Type: String
  ClusterId:
    Description: 'The cluster ID. You can query the cluster ID by calling the ListCluster
      operation.

      For more information, see ListCluster.'
    Type: String
  Command:
    Description: The command that is specified. If it is specified, it replaces the
      startup command in the image when the image is started.
    Type: String
  CommandArgs:
    Description: The collection of commands. For example, [{"argument":"-c"},{"argument":"test"}],
      where -c and test are two parameters that can be set.
    Type: Json
  DeployAcrossNodes:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: Specifies whether to distribute application instances to multiple
      nodes. The value true indicates yes, whereas other values indicate no.
    Type: Boolean
  DeployAcrossZones:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: Specifies whether to distribute application instances to multiple
      zones. The value true indicates yes, whereas other values indicate no.
    Type: Boolean
  EdasContainerVersion:
    Description: 'The version of EDAS Container on which the deployment package of
      the application depends.

      Note This parameter is not supported when you deploy an application by using
      images.'
    Type: String
  EnableAhas:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: Specifies whether to enable access to Application High Availability
      Service (AHAS).
    Type: Boolean
  Envs:
    Description: The collection of deployment environment variables. For example,
      [{"Name":"x","Value":"y"},{"Name":"x2","Value":"y2"}].
    Type: Json
  ImageUrl:
    Description: The image URL. When PackageType is set to Image, this parameter is
      required.
    Type: String
  InternetSlbId:
    Description: The ID of the Internet-facing SLB instance. If this parameter is
      not specified, EDAS automatically purchases a new SLB instance for you.
    Type: String
  InternetSlbPort:
    Description: 'The frontend port of the Internet-facing SLB instance. Valid values:
      1 to 65535.'
    MaxValue: 65535
    MinValue: 1
    Type: Number
  InternetSlbProtocol:
    AllowedValues:
    - TCP
    - HTTP
    - HTTPS
    Description: 'The protocol of the Internet-facing SLB instance. Valid values:
      TCP, HTTP, and HTTPS.'
    Type: String
  InternetTargetPort:
    Description: 'The backend port of the internal-facing SLB instance, which is also
      the service port of the application.

      Valid values: 1 to 65535.'
    MaxValue: 65535
    MinValue: 1
    Type: Number
  IntranetSlbId:
    Description: The ID of the internal-facing SLB instance. If this parameter is
      not specified, Enterprise Distributed Application Service (EDAS) automatically
      purchases a new SLB instance for you.
    Type: String
  IntranetSlbPort:
    Description: 'The frontend port of the internal-facing SLB instance. Valid values:
      1 to 65535.'
    MaxValue: 65535
    MinValue: 1
    Type: Number
  IntranetSlbProtocol:
    AllowedValues:
    - TCP
    - HTTP
    - HTTPS
    Description: 'The protocol of the internal-facing SLB instance. Valid values:
      TCP, HTTP, and HTTPS.'
    Type: String
  IntranetTargetPort:
    Description: 'The backend port of the internal-facing Server Load Balancer (SLB)
      instance, which is also the service port of the application. Valid values: 1
      to 65535.'
    Type: Number
  IsMultilingualApp:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: Specifies whether the application is a multi-language application.
    Type: Boolean
  JDK:
    Description: "The version of Java Development Kit (JDK) on which the deployment\
      \ package of the application depends. \nValid values: Open JDK 7 and Open JDK\
      \ 8. This parameter is not supported when you deploy an application by using\
      \ images."
    Type: String
  JavaStartUpConfig:
    Description: 'The configuration of Java startup parameters for a Java application.
      These startup parameters involve the memory, application, garbage collection
      (GC) policy, tools, service registration and discovery, and custom configurations.
      Proper parameter settings help reduce the GC overhead, shorten the server response
      time, and improve the throughput.

      The system automatically concatenates all startup values as the configuration
      of Java startup parameters for the application.'
    Type: Json
  LimitCpu:
    Description: 'The maximum number of CPUs allowed for each application instance
      when the application

      is running. Unit: cores.'
    Type: Number
  LimitMem:
    Description: 'The maximum amount of memory allowed for each application instance
      when the application is running. Unit: MB.'
    MinValue: 1
    Type: Number
  Liveness:
    Description: The liveness check on the container.
    Type: Json
  LocalVolume:
    Description: The configuration for mounting host files to the container where
      the application is running. For example, the value can be [{"type":"", "nodePath":"/localfiles",
      "mountPath":"/app/files"}, {"type":"Directory", "nodePath":"/mnt", "mountPath":"/app/storage"}].
    Type: Json
  LogicalRegionId:
    Description: The ID of the EDAS namespace. This parameter is required for a non-default
      namespace.
    Type: String
  MountDescs:
    Description: 'The description of the NAS mounting configuration. For example,
      the value can be [{"NasPath": "/k8s","MountPath": "/mnt"}, {"NasPath": "/files",
      "MountPath": "/app/files"}].'
    Type: Json
  Namespace:
    Description: The namespace of the Kubernetes cluster. This parameter determines
      the Kubernetes namespace where your application is deployed. By default, this
      parameter is set to default.
    Type: String
  NasId:
    Description: 'The ID of the Network Attached Storage (NAS) file system mounted
      to the container where the application is running. The NAS file system must
      be in the same region as the cluster. The NAS file system must have an available
      mount target, or have a mount

      target on the vSwitch in the virtual private cloud (VPC) where the application
      is located. If this parameter is not specified and the mountDescs field exists,
      a NAS file system is automatically purchased and mounted to the vSwitch in the
      VPC by default.'
    Type: String
  PackageType:
    Description: 'The type of the deployment package. Valid values: FatJar, WAR, and
      Image.'
    Type: String
  PackageUrl:
    Description: 'The URL of the deployment package. This parameter must be set for
      the applications

      that are deployed by using FatJar or WAR packages.

      Note The version of SDK for Java or Python must be 2.44.0 or later.'
    Type: String
  PackageVersion:
    Description: 'The version of the deployment package. This parameter is required
      when the PackageType parameter is set to WAR or FatJar. You must specify a version.

      Note The version of SDK for Java or Python must be 2.44.0 or later.'
    Type: String
  PostStart:
    Description: 'The post-start script. For example, {"Exec": {"Command": ["ls",
      "/"]}}.'
    Type: Json
  PreStop:
    Description: 'The pre-stop script. For example, {"Exec": {"Command": ["ls", "/"]}}.'
    Type: Json
  Readiness:
    Description: The readiness check on the container.
    Type: Json
  Replicas:
    Default: 1
    Description: 'The number of instances for the application that you want to create.
      Default: 1'
    MinValue: 1
    Type: Number
  RepoId:
    Description: The ID of the image repository.
    Type: String
  RequestsCpu:
    Description: 'The maximum number of CPUs allowed for each application instance
      when the application is created. Unit: cores. The value 0 indicates no limit.'
    MinValue: 0
    Type: Number
  RequestsMem:
    Description: 'The maximum amount of memory allowed for each application instance
      when the application

      is created. Unit: MB. The value 0 indicates no limit.'
    MinValue: 0
    Type: Number
  RuntimeClassName:
    Description: The type of the container runtime. This parameter is applicable only
      to clusters that use sandboxed containers.
    Type: String
  SlsConfigs:
    Description: The Logstore configurations.
    Type: Json
  StorageType:
    Description: Only SSD is supported.
    Type: String
  Timeout:
    Description: 'The timeout interval of the change process. Unit: seconds.'
    MinValue: 1
    Type: Number
  UriEncoding:
    Description: 'The uniform resource identifier (URI) encoding scheme. Valid values:
      ISO-8859-1, GBK, GB2312, and UTF-8.

      Note If this parameter is not specified in application configuration, the default
      URI encoding

      scheme in the Tomcat container is applied.'
    Type: String
  UseBodyEncoding:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: 'Specifies whether useBodyEncodingForURI is enabled.

      Note If this parameter is not specified in application configuration, the default
      value

      false is applied.'
    Type: Boolean
  WebContainer:
    Description: The version of the Tomcat container on which the deployment package
      of the application depends. This parameter is applicable to Spring Cloud and
      Apache Dubbo applications that are deployed by using WAR packages. This parameter
      is not supported when you deploy an application by using images.
    Type: String
  WebContainerConfig:
    Description: The Tomcat container configuration.
    Type: Json
Resources:
  K8sApplication:
    Properties:
      AppName:
        Ref: AppName
      ApplicationDescription:
        Ref: ApplicationDescription
      ClusterId:
        Ref: ClusterId
      Command:
        Ref: Command
      CommandArgs:
        Ref: CommandArgs
      DeployAcrossNodes:
        Ref: DeployAcrossNodes
      DeployAcrossZones:
        Ref: DeployAcrossZones
      EdasContainerVersion:
        Ref: EdasContainerVersion
      EnableAhas:
        Ref: EnableAhas
      Envs:
        Ref: Envs
      ImageUrl:
        Ref: ImageUrl
      InternetSlbId:
        Ref: InternetSlbId
      InternetSlbPort:
        Ref: InternetSlbPort
      InternetSlbProtocol:
        Ref: InternetSlbProtocol
      InternetTargetPort:
        Ref: InternetTargetPort
      IntranetSlbId:
        Ref: IntranetSlbId
      IntranetSlbPort:
        Ref: IntranetSlbPort
      IntranetSlbProtocol:
        Ref: IntranetSlbProtocol
      IntranetTargetPort:
        Ref: IntranetTargetPort
      IsMultilingualApp:
        Ref: IsMultilingualApp
      JDK:
        Ref: JDK
      JavaStartUpConfig:
        Ref: JavaStartUpConfig
      LimitCpu:
        Ref: LimitCpu
      LimitMem:
        Ref: LimitMem
      Liveness:
        Ref: Liveness
      LocalVolume:
        Ref: LocalVolume
      LogicalRegionId:
        Ref: LogicalRegionId
      MountDescs:
        Ref: MountDescs
      Namespace:
        Ref: Namespace
      NasId:
        Ref: NasId
      PackageType:
        Ref: PackageType
      PackageUrl:
        Ref: PackageUrl
      PackageVersion:
        Ref: PackageVersion
      PostStart:
        Ref: PostStart
      PreStop:
        Ref: PreStop
      Readiness:
        Ref: Readiness
      Replicas:
        Ref: Replicas
      RepoId:
        Ref: RepoId
      RequestsCpu:
        Ref: RequestsCpu
      RequestsMem:
        Ref: RequestsMem
      RuntimeClassName:
        Ref: RuntimeClassName
      SlsConfigs:
        Ref: SlsConfigs
      StorageType:
        Ref: StorageType
      Timeout:
        Ref: Timeout
      UriEncoding:
        Ref: UriEncoding
      UseBodyEncoding:
        Ref: UseBodyEncoding
      WebContainer:
        Ref: WebContainer
      WebContainerConfig:
        Ref: WebContainerConfig
    Type: ALIYUN::EDAS::K8sApplication
Outputs:
  AppId:
    Description: The ID of the application.
    Value:
      Fn::GetAtt:
      - K8sApplication
      - AppId
  AppName:
    Description: The name of the application.
    Value:
      Fn::GetAtt:
      - K8sApplication
      - AppName
  ChangeOrderId:
    Description: The ID of the change process.
    Value:
      Fn::GetAtt:
      - K8sApplication
      - ChangeOrderId
  ClusterId:
    Description: The cluster ID of the application.
    Value:
      Fn::GetAtt:
      - K8sApplication
      - ClusterId
  CsClusterId:
    Description: The K8s cluster ID of the application.
    Value:
      Fn::GetAtt:
      - K8sApplication
      - CsClusterId