ALIYUN::EMR::StarRocksInstance

更新时间:
复制 MD 格式

ALIYUN::EMR::StarRocksInstance类型用于创建 Serverless StarRocks 实例。

语法

{
  "Type": "ALIYUN::EMR::StarRocksInstance",
  "Properties": {
    "AdminPassword": String,
    "ClusterZoneId": String,
    "InstanceName": String,
    "PayType": String,
    "PackageType": String,
    "RunMode": String,
    "VpcId": String,
    "Version": String,
    "AutoRenew": Boolean,
    "BackendNodeGroups": List,
    "Duration": Integer,
    "Encrypted": Boolean,
    "FrontendNodeGroups": List,
    "KmsKeyId": String,
    "OrderId": Integer,
    "ObserverNodeGroups": List,
    "OssAccessingRoleName": String,
    "PromotionOptionNo": String,
    "PricingCycle": String,
    "ResourceGroupId": String,
    "ResourceType": String,
    "Tags": List,
    "Vswitches": List
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

AdminPassword

String

是

否

实例管理员密码。

无

ClusterZoneId

String

是

否

主可用区 ID。

无

InstanceName

String

是

是

实例名称。

无

PayType

String

是

否

付费类型

取值:

  • PrePaid:包年包月

  • PostPaid:按量付费

PackageType

String

是

否

实例系列

取值:

  • trial:入门版

  • official:标准版

RunMode

String

是

否

集群的运行模式。

取值:

  • shared_nothing:存算一体模式

  • shared_data:存算分离模式

  • lakehouse:数据湖分析模式

VpcId

String

是

否

VPC ID。

无

Version

String

是

否

实例主版本。

无

AutoRenew

Boolean

否

否

是否开启自动续费。

仅在 PayType 为 PrePaid 时有意义。默认不开启。

BackendNodeGroups

List

否

否

BE 或者 CN 计算组信息。

更多信息,请参见BackendNodeGroups属性。

Duration

Integer

否

否

购买时长。

仅在 PayType 为 PrePaid 时有意义。

取值:

1、2、3、6、12、和 24,36,48,60。

Encrypted

Boolean

否

否

是否加密。

无

FrontendNodeGroups

List

否

否

FE 节点组信息。

更多信息,请参见FrontendNodeGroups属性。

KmsKeyId

String

否

否

KMS 密钥 ID。

无

OrderId

Integer

否

否

订单 ID。

无

ObserverNodeGroups

List

否

否

Observer 计算组信息。

仅在需要开启多可用区容灾时填写该字段,且 Observer 的配置必须和 FE 节点组的规格保持一致。更多信息,请参见ObserverNodeGroups属性。

OssAccessingRoleName

String

否

否

用于免密访问 OSS 的角色名称。

无

PromotionOptionNo

String

否

否

优惠券 ID。

无

PricingCycle

String

否

否

购买时长单位。

取值:

  • Month:月

  • Year:年

ResourceGroupId

String

否

是

资源组 ID。

无

ResourceType

String

否

否

资源类型。

无

Tags

List

否

是

标签。

最多支持添加20个标签。

更多信息,请参见Tags属性。

Vswitches

List

否

否

VSwitch 信息和可用区信息列表。

更多信息,请参见Vswitches属性。

FrontendNodeGroups语法

"FrontendNodeGroups": [
  {
    "Cu": Integer,
    "ZoneId": String,
    "DiskNumber": Integer,
    "SpecType": String,
    "StoragePerformanceLevel": String,
    "ResidentNodeNumber": Integer,
    "StorageSize": Integer,
    "LocalStorageInstanceType": String
  }
]

FrontendNodeGroups属性

属性名称

类型

必须

允许更新

描述

约束

Cu

Integer

否

否

CU 数量。

CU (Compute Unit) 是服务的基本计量单元,1 CU=1 核 CPU+4GiB 内存。

DiskNumber

Integer

否

否

磁盘数量。

无

LocalStorageInstanceType

String

否

否

本地 SSD 实例规格。

FE 计算组无需设置该字段。

ResidentNodeNumber

Integer

否

否

节点数量。

无

SpecType

String

否

否

计算组规格类型。

取值:

  • standard:标准版

  • ramEnhanced:内存增强型。

StoragePerformanceLevel

String

否

否

云盘的性能级别。

取值:

  • pl0

  • pl1

  • pl2

  • pl3

StorageSize

Integer

否

否

存储大小。

单位为 GiB。

ZoneId

String

否

否

可用区 ID。

无

Vswitches语法

"Vswitches": [
  {
    "ZoneId": String,
    "VSwitchId": String
  }
]

Vswitches属性

属性名称

类型

必须

允许更新

描述

约束

VSwitchId

String

是

否

交换机 ID。

无

ZoneId

String

否

否

可用区 ID。

无

ObserverNodeGroups语法

"ObserverNodeGroups": [
  {
    "Cu": Integer,
    "ZoneId": String,
    "DiskNumber": Integer,
    "SpecType": String,
    "StoragePerformanceLevel": String,
    "ResidentNodeNumber": Integer,
    "StorageSize": Integer,
    "LocalStorageInstanceType": String
  }
]

ObserverNodeGroups属性

属性名称

类型

必须

允许更新

描述

约束

Cu

Integer

否

否

CU 数量。

CU (Compute Unit) 是服务的基本计量单元,1 CU=1 核 CPU+4GiB 内存。

DiskNumber

Integer

否

否

磁盘数量。

无

LocalStorageInstanceType

String

否

否

本地 SSD 实例规格。

Observer 计算组无需设置该字段。

ResidentNodeNumber

Integer

否

否

节点数量。

无

SpecType

String

否

否

计算组规格类型。

取值:

  • standard:标准版

StoragePerformanceLevel

String

否

否

云盘的性能级别。

取值:

  • pl0

  • pl1

  • pl2

  • pl3

StorageSize

Integer

否

否

存储大小。

单位为 GiB。

ZoneId

String

否

否

可用区 ID。

无

Tags语法

"Tags": [
  {
    "Value": String,
    "Key": String
  }
]

Tags属性

属性名称

类型

必须

允许更新

描述

约束

Key

String

是

否

标签键。

无

Value

String

否

否

标签值。

无

BackendNodeGroups语法

"BackendNodeGroups": [
  {
    "Cu": Integer,
    "ZoneId": String,
    "DiskNumber": Integer,
    "SpecType": String,
    "StoragePerformanceLevel": String,
    "ResidentNodeNumber": Integer,
    "StorageSize": Integer,
    "LocalStorageInstanceType": String
  }
]

BackendNodeGroups属性

属性名称

类型

必须

允许更新

描述

约束

Cu

Integer

否

否

CU 数量。

CU (Compute Unit) 是服务的基本计量单元,1 CU=1 核 CPU+4GiB 内存,仅在 SpecType 为内存增强型时 1 CU=1 核 CPU+8GiB 内存。

DiskNumber

Integer

否

否

磁盘数量。

无

LocalStorageInstanceType

String

否

否

节点组本地 SSD 实例规格。

仅在基于 Ecs 实例且 SpecType 为本地 SSD/大规格存储时该值才有意义。

ResidentNodeNumber

Integer

否

否

节点数量。

无

SpecType

String

否

否

计算组规格类型。

包括以下类型:

  • standard,标准版。

  • localSSD ,本地 SSD。

  • bigData,大规格存储。

  • ramEnhanced,内存增强型。

  • networkEnhanced,网络增强型。

StoragePerformanceLevel

String

否

否

云盘的性能级别。

包含以下取值:

  • pl0:单盘最高随机读写 IOPS 1 万。

  • pl1:单盘最高随机读写 IOPS 5 万。

  • pl2:单盘最高随机读写 IOPS 10 万。

  • pl3:单盘最高随机读写 IOPS 100 万。

StorageSize

Integer

否

否

存储大小。

单位为 GiB。

ZoneId

String

否

否

可用区 ID。

无

返回值

Fn::GetAtt

  • ResourceGroupId:资源组 ID。

  • MonitorType:监控服务类型。

  • Encrypted:是否加密。

  • SgId:安全组 ID。

  • Vswitches:交换机列表。

  • Version:集群版本。

  • PackageType:实例系列。

  • Tags:实例所绑定的标签。

  • EnableSsl:是否开启 SSL。

  • Architecture:实例架构。

  • KmsKeyId:KMS 密钥 ID。

  • EnableAutoMinorVersionUpgrade:是否允许自动小版本升级。

  • MaintainablePeriod:实例可维护时间段。

  • InstanceId:实例 ID。

  • AclId:网络 ACL(Network Access Control List)ID。

  • CreateTime:实例的创建时间。

  • MinorVersion:小版本版本号。

  • PayType:付费类型。

  • EnabledAuditLoader:是否开启审计插件。

  • InstanceName:实例名称。

  • VpcId:VPC ID。

  • RunMode:集群的运行模式。

  • OssLocation:OSS 地址。

  • IsolateLeader:是否开启读写分离。

  • ExpireTime:集群到期时间。

  • RunningTime:集群当前已经运行的时间。

  • SecurityGroupManaged:是否托管安全组。

示例

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ClusterZoneId:
    Type: String
    Description:
      en: Primary ZoneId of StarRocks instance.
    Required: true
    AssociationProperty: ZoneId
  PayType:
    Type: String
    Description:
      en: |
        The pay type of the StarRocks instance:
        - **prePaid
        - **postPaid
    AllowedValues:
      - PayAsYouGo
      - PostPaid
      - PayOnDemand
      - Postpaid
      - PostPay
      - POSTPAY
      - postPaid
      - Subscription
      - PrePaid
      - PrePay
      - Prepaid
      - PREPAY
      - prePaid
    Required: true
    Default: Postpaid
  FrontendNodeGroups:
    AssociationPropertyMetadata:
      Parameters:
        Cu:
          Type: Number
          Description:
            en: Number of CUs. CU (Compute Unit) is the basic measurement unit of the service, where 1 CU = 1 CPU core + 4 GiB memory.
          Required: false
        ZoneId:
          AssociationProperty: ZoneId
          Type: String
          Description:
            en: Zone ID.
          Required: false
        DiskNumber:
          Type: Number
          Description:
            en: The number of disks.
          Required: false
          MinValue: 0
          MaxValue: 1
        SpecType:
          Type: String
          Description:
            en: |-
              Compute group specification types include the following:
              - **standard
              - **ramEnhanced.
          AllowedValues:
            - standard
            - ramEnhanced
          Required: false
        StoragePerformanceLevel:
          Type: String
          Description:
            en: |-
              Performance levels of cloud disks include the following values:
              - **pl0: Maximum random read/write IOPS per disk is 10,000.
              - **pl1: Maximum random read/write IOPS per disk is 50,000.
              - **pl2: Maximum random read/write IOPS per disk is 100,000.
              - **pl3: Maximum random read/write IOPS per disk is 1,000,000.
          Required: false
        ResidentNodeNumber:
          Type: Number
          Description:
            en: Resident node number of node group.
          Required: false
          MinValue: 1
          MaxValue: 11
        StorageSize:
          Type: Number
          Description:
            en: Storage size, measured in GiB.
          Required: false
          MinValue: 100
          MaxValue: 65000
        LocalStorageInstanceType:
          Type: String
          Description:
            en: Local SSD instance specifications.
          Required: false
    AssociationProperty: List[Parameters]
    Type: Json
    Description:
      en: List of FE Node Group Information.
    Required: false
    MinLength: 0
    MaxLength: 50
    Default:
      - StoragePerformanceLevel: pl1
        SpecType: standard
        StorageSize: 100
        ResidentNodeNumber: 3
        Cu: 8
  Vswitches:
    AssociationPropertyMetadata:
      Parameters:
        ZoneId:
          AssociationProperty: ZoneId
          Type: String
          Description:
            en: Zone ID of VSwitch.
          Required: false
        VSwitchId:
          AssociationPropertyMetadata:
            VpcId: ${VpcId}
            ZoneId: ${ZoneId}
          AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
          Type: String
          Description:
            en: ID of VSwitch.
          Required: true
    AssociationProperty: List[Parameters]
    Type: Json
    Description:
      en: The VSwitches info of the StarRocks instance.
    Required: false
    MinLength: 0
    MaxLength: 3
  InstanceName:
    Type: String
    Description:
      en: The name of the StarRocks instance.
    Required: true
  VpcId:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
    Description:
      en: The VPC ID of the StarRocks instance.
    Required: true
  Version:
    Type: String
    Description:
      en: The version of the StarRocks instance.
    Required: true
  RunMode:
    Type: String
    Description:
      en: |-
        The run mode of the instance:
        - **shared_nothing: Storage and calculation.
        - **shared_data: Storage and calculation separation.
        - **lakehouse: Data lake analysis.
    AllowedValues:
      - shared_nothing
      - shared_data
      - lakehouse
    Required: true
  PackageType:
    Type: String
    Description:
      en: |-
        The package type of the instance:
        - **trial: Starter Edition
        - **official: Standard
    AllowedValues:
      - trial
      - official
    Required: true
  OssAccessingRoleName:
    Type: String
    Description:
      en: Role name used for password-free access to OSS.
    Required: false
    Default: AliyunEMRStarRocksAccessingOSSRole
  BackendNodeGroups:
    AssociationPropertyMetadata:
      Parameters:
        Cu:
          Type: Number
          Description:
            en: Number of CUs. CU (Compute Unit) is the basic measurement unit of the service, where 1 CU = 1 CPU core + 4 GiB memory.
          Required: false
        ZoneId:
          AssociationProperty: ZoneId
          Type: String
          Description:
            en: Zone ID.
          Required: false
        DiskNumber:
          Type: Number
          Description:
            en: The number of disks.
          Required: false
          MinValue: 1
          MaxValue: 8
        SpecType:
          Type: String
          Description:
            en: |-
              Compute group specification types include the following:
              - **standard
              - **localSSD
              - **bigData
              - **ramEnhanced
              - **networkEnhanced.
          AllowedValues:
            - standard
            - localSSD
            - bigData
            - ramEnhanced
            - networkEnhanced
          Required: false
        StoragePerformanceLevel:
          Type: String
          Description:
            en: |-
              Performance levels of cloud disks include the following values:
              - **pl0: Maximum random read/write IOPS per disk is 10,000.
              - **pl1: Maximum random read/write IOPS per disk is 50,000.
              - **pl2: Maximum random read/write IOPS per disk is 100,000.
              - **pl3: Maximum random read/write IOPS per disk is 1,000,000.
          AllowedValues:
            - pl0
            - pl1
            - pl2
            - pl3
          Required: false
        ResidentNodeNumber:
          Type: Number
          Description:
            en: Resident node number of node group.
          Required: false
          MinValue: 1
          MaxValue: 100
        StorageSize:
          Type: Number
          Description:
            en: Storage size, measured in GiB.
          Required: false
          MinValue: 100
          MaxValue: 65000
        LocalStorageInstanceType:
          Type: String
          Description:
            en: Local SSD instance specifications.
          Required: false
    AssociationProperty: List[Parameters]
    Type: Json
    Description:
      en: List of BE or CN compute group information.
    Required: false
    MinLength: 0
    MaxLength: 50
    Default:
      - StoragePerformanceLevel: pl1
        DiskNumber: 1
        SpecType: standard
        StorageSize: 100
        ResidentNodeNumber: 3
        Cu: 8
  AdminPassword:
    Type: String
    Description:
      en: Password of admin user.
    Required: true
Resources:
  ExtensionResource:
    Type: ALIYUN::EMR::StarRocksInstance
    Properties:
      ClusterZoneId:
        Ref: ClusterZoneId
      PayType:
        Ref: PayType
      FrontendNodeGroups:
        Ref: FrontendNodeGroups
      Vswitches:
        Ref: Vswitches
      InstanceName:
        Ref: InstanceName
      VpcId:
        Ref: VpcId
      Version:
        Ref: Version
      RunMode:
        Ref: RunMode
      PackageType:
        Ref: PackageType
      OssAccessingRoleName:
        Ref: OssAccessingRoleName
      BackendNodeGroups:
        Ref: BackendNodeGroups
      AdminPassword:
        Ref: AdminPassword
Outputs:
  ResourceGroupId:
    Description: The ID of the resource group to which the StarRocks instance belongs..
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - ResourceGroupId
  MonitorType:
    Description: Monitor Type.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - MonitorType
  Encrypted:
    Description: Whether encrypted.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Encrypted
  SgId:
    Description: Security Group ID of StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - SgId
  Vswitches:
    Description: The VSwitches info of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Vswitches
  Version:
    Description: The version of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Version
  PackageType:
    Description: The package type of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - PackageType
  Tags:
    Description: Tag list of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Tags
  EnableSsl:
    Description: Enable SSL.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - EnableSsl
  Architecture:
    Description: Architecture of StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Architecture
  KmsKeyId:
    Description: The ID of the Key Management Service (KMS) key.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - KmsKeyId
  EnableAutoMinorVersionUpgrade:
    Description: Whether minor version automatic upgrades are supported.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - EnableAutoMinorVersionUpgrade
  MaintainablePeriod:
    Description: StarRocks Instance maintainable period.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - MaintainablePeriod
  InstanceId:
    Description: The ID of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - InstanceId
  AclId:
    Description: Access control ID.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - AclId
  CreateTime:
    Description: The creation time of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - CreateTime
  MinorVersion:
    Description: StarRocks Instance minor version.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - MinorVersion
  PayType:
    Description: The pay type of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - PayType
  EnabledAuditLoader:
    Description: Whether enable audit loader.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - EnabledAuditLoader
  InstanceName:
    Description: The name of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - InstanceName
  VpcId:
    Description: The VPC ID of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - VpcId
  RunMode:
    Description: The run mode of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - RunMode
  OssLocation:
    Description: OSS Location.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - OssLocation
  IsolateLeader:
    Description: Whether leader FE is isolated.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - IsolateLeader
  ExpireTime:
    Description: StarRocks Instance expire time.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - ExpireTime
  RunningTime:
    Description: StarRocks Instance running time.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - RunningTime
  SecurityGroupManaged:
    Description: Whether security group is managed.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - SecurityGroupManaged
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ClusterZoneId": {
      "Type": "String",
      "Description": {
        "en": "Primary ZoneId of StarRocks instance."
      },
      "Required": true,
      "AssociationProperty": "ZoneId"
    },
    "PayType": {
      "Type": "String",
      "Description": {
        "en": "The pay type of the StarRocks instance:\n- **prePaid\n- **postPaid\n"
      },
      "AllowedValues": [
        "PayAsYouGo",
        "PostPaid",
        "PayOnDemand",
        "Postpaid",
        "PostPay",
        "POSTPAY",
        "postPaid",
        "Subscription",
        "PrePaid",
        "PrePay",
        "Prepaid",
        "PREPAY",
        "prePaid"
      ],
      "Required": true,
      "Default": "Postpaid"
    },
    "FrontendNodeGroups": {
      "AssociationPropertyMetadata": {
        "Parameters": {
          "Cu": {
            "Type": "Number",
            "Description": {
              "en": "Number of CUs. CU (Compute Unit) is the basic measurement unit of the service, where 1 CU = 1 CPU core + 4 GiB memory."
            },
            "Required": false
          },
          "ZoneId": {
            "AssociationProperty": "ZoneId",
            "Type": "String",
            "Description": {
              "en": "Zone ID."
            },
            "Required": false
          },
          "DiskNumber": {
            "Type": "Number",
            "Description": {
              "en": "The number of disks."
            },
            "Required": false,
            "MinValue": 0,
            "MaxValue": 1
          },
          "SpecType": {
            "Type": "String",
            "Description": {
              "en": "Compute group specification types include the following:\n- **standard\n- **ramEnhanced."
            },
            "AllowedValues": [
              "standard",
              "ramEnhanced"
            ],
            "Required": false
          },
          "StoragePerformanceLevel": {
            "Type": "String",
            "Description": {
              "en": "Performance levels of cloud disks include the following values:\n- **pl0: Maximum random read/write IOPS per disk is 10,000.\n- **pl1: Maximum random read/write IOPS per disk is 50,000.\n- **pl2: Maximum random read/write IOPS per disk is 100,000.\n- **pl3: Maximum random read/write IOPS per disk is 1,000,000."
            },
            "Required": false
          },
          "ResidentNodeNumber": {
            "Type": "Number",
            "Description": {
              "en": "Resident node number of node group."
            },
            "Required": false,
            "MinValue": 1,
            "MaxValue": 11
          },
          "StorageSize": {
            "Type": "Number",
            "Description": {
              "en": "Storage size, measured in GiB."
            },
            "Required": false,
            "MinValue": 100,
            "MaxValue": 65000
          },
          "LocalStorageInstanceType": {
            "Type": "String",
            "Description": {
              "en": "Local SSD instance specifications."
            },
            "Required": false
          }
        }
      },
      "AssociationProperty": "List[Parameters]",
      "Type": "Json",
      "Description": {
        "en": "List of FE Node Group Information."
      },
      "Required": false,
      "MinLength": 0,
      "MaxLength": 50,
      "Default": [
        {
          "StoragePerformanceLevel": "pl1",
          "SpecType": "standard",
          "StorageSize": 100,
          "ResidentNodeNumber": 3,
          "Cu": 8
        }
      ]
    },
    "Vswitches": {
      "AssociationPropertyMetadata": {
        "Parameters": {
          "ZoneId": {
            "AssociationProperty": "ZoneId",
            "Type": "String",
            "Description": {
              "en": "Zone ID of VSwitch."
            },
            "Required": false
          },
          "VSwitchId": {
            "AssociationPropertyMetadata": {
              "VpcId": "${VpcId}",
              "ZoneId": "${ZoneId}"
            },
            "AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
            "Type": "String",
            "Description": {
              "en": "ID of VSwitch."
            },
            "Required": true
          }
        }
      },
      "AssociationProperty": "List[Parameters]",
      "Type": "Json",
      "Description": {
        "en": "The VSwitches info of the StarRocks instance."
      },
      "Required": false,
      "MinLength": 0,
      "MaxLength": 3
    },
    "InstanceName": {
      "Type": "String",
      "Description": {
        "en": "The name of the StarRocks instance."
      },
      "Required": true
    },
    "VpcId": {
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
      "Type": "String",
      "Description": {
        "en": "The VPC ID of the StarRocks instance."
      },
      "Required": true
    },
    "Version": {
      "Type": "String",
      "Description": {
        "en": "The version of the StarRocks instance."
      },
      "Required": true
    },
    "RunMode": {
      "Type": "String",
      "Description": {
        "en": "The run mode of the instance:\n- **shared_nothing: Storage and calculation.\n- **shared_data: Storage and calculation separation.\n- **lakehouse: Data lake analysis."
      },
      "AllowedValues": [
        "shared_nothing",
        "shared_data",
        "lakehouse"
      ],
      "Required": true
    },
    "PackageType": {
      "Type": "String",
      "Description": {
        "en": "The package type of the instance:\n- **trial: Starter Edition\n- **official: Standard"
      },
      "AllowedValues": [
        "trial",
        "official"
      ],
      "Required": true
    },
    "OssAccessingRoleName": {
      "Type": "String",
      "Description": {
        "en": "Role name used for password-free access to OSS."
      },
      "Required": false,
      "Default": "AliyunEMRStarRocksAccessingOSSRole"
    },
    "BackendNodeGroups": {
      "AssociationPropertyMetadata": {
        "Parameters": {
          "Cu": {
            "Type": "Number",
            "Description": {
              "en": "Number of CUs. CU (Compute Unit) is the basic measurement unit of the service, where 1 CU = 1 CPU core + 4 GiB memory."
            },
            "Required": false
          },
          "ZoneId": {
            "AssociationProperty": "ZoneId",
            "Type": "String",
            "Description": {
              "en": "Zone ID."
            },
            "Required": false
          },
          "DiskNumber": {
            "Type": "Number",
            "Description": {
              "en": "The number of disks."
            },
            "Required": false,
            "MinValue": 1,
            "MaxValue": 8
          },
          "SpecType": {
            "Type": "String",
            "Description": {
              "en": "Compute group specification types include the following:\n- **standard\n- **localSSD\n- **bigData\n- **ramEnhanced\n- **networkEnhanced."
            },
            "AllowedValues": [
              "standard",
              "localSSD",
              "bigData",
              "ramEnhanced",
              "networkEnhanced"
            ],
            "Required": false
          },
          "StoragePerformanceLevel": {
            "Type": "String",
            "Description": {
              "en": "Performance levels of cloud disks include the following values:\n- **pl0: Maximum random read/write IOPS per disk is 10,000.\n- **pl1: Maximum random read/write IOPS per disk is 50,000.\n- **pl2: Maximum random read/write IOPS per disk is 100,000.\n- **pl3: Maximum random read/write IOPS per disk is 1,000,000."
            },
            "AllowedValues": [
              "pl0",
              "pl1",
              "pl2",
              "pl3"
            ],
            "Required": false
          },
          "ResidentNodeNumber": {
            "Type": "Number",
            "Description": {
              "en": "Resident node number of node group."
            },
            "Required": false,
            "MinValue": 1,
            "MaxValue": 100
          },
          "StorageSize": {
            "Type": "Number",
            "Description": {
              "en": "Storage size, measured in GiB."
            },
            "Required": false,
            "MinValue": 100,
            "MaxValue": 65000
          },
          "LocalStorageInstanceType": {
            "Type": "String",
            "Description": {
              "en": "Local SSD instance specifications."
            },
            "Required": false
          }
        }
      },
      "AssociationProperty": "List[Parameters]",
      "Type": "Json",
      "Description": {
        "en": "List of BE or CN compute group information."
      },
      "Required": false,
      "MinLength": 0,
      "MaxLength": 50,
      "Default": [
        {
          "StoragePerformanceLevel": "pl1",
          "DiskNumber": 1,
          "SpecType": "standard",
          "StorageSize": 100,
          "ResidentNodeNumber": 3,
          "Cu": 8
        }
      ]
    },
    "AdminPassword": {
      "Type": "String",
      "Description": {
        "en": "Password of admin user."
      },
      "Required": true
    }
  },
  "Resources": {
    "ExtensionResource": {
      "Type": "ALIYUN::EMR::StarRocksInstance",
      "Properties": {
        "ClusterZoneId": {
          "Ref": "ClusterZoneId"
        },
        "PayType": {
          "Ref": "PayType"
        },
        "FrontendNodeGroups": {
          "Ref": "FrontendNodeGroups"
        },
        "Vswitches": {
          "Ref": "Vswitches"
        },
        "InstanceName": {
          "Ref": "InstanceName"
        },
        "VpcId": {
          "Ref": "VpcId"
        },
        "Version": {
          "Ref": "Version"
        },
        "RunMode": {
          "Ref": "RunMode"
        },
        "PackageType": {
          "Ref": "PackageType"
        },
        "OssAccessingRoleName": {
          "Ref": "OssAccessingRoleName"
        },
        "BackendNodeGroups": {
          "Ref": "BackendNodeGroups"
        },
        "AdminPassword": {
          "Ref": "AdminPassword"
        }
      }
    }
  },
  "Outputs": {
    "ResourceGroupId": {
      "Description": "The ID of the resource group to which the StarRocks instance belongs..",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "ResourceGroupId"
        ]
      }
    },
    "MonitorType": {
      "Description": "Monitor Type.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "MonitorType"
        ]
      }
    },
    "Encrypted": {
      "Description": "Whether encrypted.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Encrypted"
        ]
      }
    },
    "SgId": {
      "Description": "Security Group ID of StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "SgId"
        ]
      }
    },
    "Vswitches": {
      "Description": "The VSwitches info of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Vswitches"
        ]
      }
    },
    "Version": {
      "Description": "The version of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Version"
        ]
      }
    },
    "PackageType": {
      "Description": "The package type of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "PackageType"
        ]
      }
    },
    "Tags": {
      "Description": "Tag list of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Tags"
        ]
      }
    },
    "EnableSsl": {
      "Description": "Enable SSL.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "EnableSsl"
        ]
      }
    },
    "Architecture": {
      "Description": "Architecture of StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Architecture"
        ]
      }
    },
    "KmsKeyId": {
      "Description": "The ID of the Key Management Service (KMS) key.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "KmsKeyId"
        ]
      }
    },
    "EnableAutoMinorVersionUpgrade": {
      "Description": "Whether minor version automatic upgrades are supported.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "EnableAutoMinorVersionUpgrade"
        ]
      }
    },
    "MaintainablePeriod": {
      "Description": "StarRocks Instance maintainable period.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "MaintainablePeriod"
        ]
      }
    },
    "InstanceId": {
      "Description": "The ID of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "InstanceId"
        ]
      }
    },
    "AclId": {
      "Description": "Access control ID.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "AclId"
        ]
      }
    },
    "CreateTime": {
      "Description": "The creation time of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "CreateTime"
        ]
      }
    },
    "MinorVersion": {
      "Description": "StarRocks Instance minor version.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "MinorVersion"
        ]
      }
    },
    "PayType": {
      "Description": "The pay type of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "PayType"
        ]
      }
    },
    "EnabledAuditLoader": {
      "Description": "Whether enable audit loader.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "EnabledAuditLoader"
        ]
      }
    },
    "InstanceName": {
      "Description": "The name of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "InstanceName"
        ]
      }
    },
    "VpcId": {
      "Description": "The VPC ID of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "VpcId"
        ]
      }
    },
    "RunMode": {
      "Description": "The run mode of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "RunMode"
        ]
      }
    },
    "OssLocation": {
      "Description": "OSS Location.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "OssLocation"
        ]
      }
    },
    "IsolateLeader": {
      "Description": "Whether leader FE is isolated.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "IsolateLeader"
        ]
      }
    },
    "ExpireTime": {
      "Description": "StarRocks Instance expire time.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "ExpireTime"
        ]
      }
    },
    "RunningTime": {
      "Description": "StarRocks Instance running time.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "RunningTime"
        ]
      }
    },
    "SecurityGroupManaged": {
      "Description": "Whether security group is managed.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "SecurityGroupManaged"
        ]
      }
    }
  }
}