All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::EMR::StarRocksInstance

更新时间:Oct 17, 2025

The ALIYUN::EMR::StarRocksInstance type is used to create a serverless StarRocks instance.

Syntax

{
  "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
  }
}

Properties

Property name

Type

Required

Update allowed

Description

Constraints

AdminPassword

String

Yes

No

The password of the administrator.

None

ClusterZoneId

String

Yes

No

The ID of the primary zone.

None

InstanceName

String

Yes

Yes

The instance name.

None

PayType

String

Yes

No

The billing method.

Valid values:

  • PrePaid: subscription

  • PostPaid: pay-as-you-go

PackageType

String

Yes

No

The instance edition.

Valid values:

  • trial: Basic Edition

  • official: Standard Edition

RunMode

String

Yes

No

The run mode of the cluster.

Valid values:

  • shared_nothing: All-in-one mode

  • shared_data: Separation of storage and compute

  • lakehouse: Data lake analytics mode

VpcId

String

Yes

No

The VPC ID.

None

Version

String

Yes

No

The major version of the instance.

None

AutoRenew

Boolean

No

No

Specifies whether to enable auto-renewal.

This property is valid only when PayType is set to PrePaid. The default value is false.

BackendNodeGroups

List

No

No

The information about the BE or CN compute groups.

For more information, see BackendNodeGroups properties.

Duration

Integer

No

No

The subscription duration.

This property is valid only when PayType is set to PrePaid.

Valid values:

1, 2, 3, 6, 12, 24, 36, 48, and 60.

Encrypted

Boolean

No

No

Specifies whether to encrypt the instance.

None

FrontendNodeGroups

List

No

No

The information about the FE node groups.

For more information, see FrontendNodeGroups properties.

KmsKeyId

String

No

No

The ID of the KMS key.

None

OrderId

Integer

No

No

The order ID.

None

ObserverNodeGroups

List

No

No

The information about the Observer compute groups.

Specify this property only when you need to enable multi-zone disaster recovery. The configuration of the Observer compute groups must be the same as the configuration of the FE node groups. For more information, see ObserverNodeGroups properties.

OssAccessingRoleName

String

No

No

The name of the role used for password-free access to OSS.

None

PromotionOptionNo

String

No

No

The coupon ID.

None

PricingCycle

String

No

No

The unit of the subscription duration.

Valid values:

  • Month

  • Year

ResourceGroupId

String

No

Yes

The resource group ID.

None

ResourceType

String

No

No

The resource type.

None

Tags

List

No

Yes

The tags.

You can add up to 20 tags.

For more information, see Tags properties.

Vswitches

List

No

No

A list of vSwitch and zone information.

For more information, see Vswitches properties.

FrontendNodeGroups syntax

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

FrontendNodeGroups properties

Property name

Type

Required

Update allowed

Description

Constraints

Cu

Integer

No

No

The number of CUs.

A Compute Unit (CU) is the basic unit of measurement for the service. 1 CU is equal to 1 CPU core and 4 GiB of memory.

DiskNumber

Integer

No

No

The number of disks.

None

LocalStorageInstanceType

String

No

No

The instance type of the local SSD.

You do not need to set this property for FE compute groups.

ResidentNodeNumber

Integer

No

No

The number of nodes.

None

SpecType

String

No

No

The instance type of the compute group.

Valid values:

  • standard

  • ramEnhanced: memory-enhanced

StoragePerformanceLevel

String

No

No

The performance level of the cloud disk.

Valid values:

  • pl0

  • pl1

  • pl2

  • pl3

StorageSize

Integer

No

No

The storage size.

Unit: GiB.

ZoneId

String

No

No

The zone ID.

None

Vswitches syntax

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

Vswitches properties

Property name

Type

Required

Update allowed

Description

Constraints

VSwitchId

String

Yes

No

The vSwitch ID.

None

ZoneId

String

No

No

The zone ID.

None

ObserverNodeGroups syntax

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

ObserverNodeGroups properties

Property name

Type

Required

Update allowed

Description

Constraints

Cu

Integer

No

No

The number of CUs.

A CU is the basic unit of measurement for the service. 1 CU is equal to 1 CPU core and 4 GiB of memory.

DiskNumber

Integer

No

No

The number of disks.

None

LocalStorageInstanceType

String

No

No

The instance type of the local SSD.

You do not need to set this property for Observer compute groups.

ResidentNodeNumber

Integer

No

No

The number of nodes.

None

SpecType

String

No

No

The instance type of the compute group.

Valid values:

  • Edition: Standard Edition

StoragePerformanceLevel

String

No

No

The performance level of the cloud disk.

Valid values:

  • pl0

  • pl1

  • pl2

  • pl3

StorageSize

Integer

No

No

The storage size.

Unit: GiB.

ZoneId

String

No

No

The zone ID.

None

Tags syntax

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

Tags properties

Property name

Type

Required

Update allowed

Description

Constraints

Key

String

Yes

No

The tag key.

None

Value

String

No

No

The tag value.

None

BackendNodeGroups syntax

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

BackendNodeGroups properties

Property name

Type

Required

Update allowed

Description

Constraints

Cu

Integer

No

No

The number of CUs.

A CU is the basic unit of measurement for the service. 1 CU is equal to 1 CPU core and 4 GiB of memory. If SpecType is set to ramEnhanced, 1 CU is equal to 1 CPU core and 8 GiB of memory.

DiskNumber

Integer

No

No

The number of disks.

None

LocalStorageInstanceType

String

No

No

The instance type of the local SSD for the node group.

This property is valid only for ECS-based instances when SpecType is set to localSSD or bigData.

ResidentNodeNumber

Integer

No

No

The number of nodes.

None

SpecType

String

No

No

The instance type of the compute group.

Includes the following types:

  • standard: Standard Edition.

  • localSSD: Local SSD.

  • bigData: Large-capacity storage.

  • ramEnhanced: Memory-enhanced.

  • networkEnhanced: Network-enhanced.

StoragePerformanceLevel

String

No

No

The performance level of the cloud disk.

Valid values:

  • pl0: A maximum of 10,000 random read/write IOPS per disk.

  • pl1: A maximum of 50,000 random read/write IOPS per disk.

  • pl2: A maximum of 100,000 random read/write IOPS per disk.

  • pl3: A maximum of 1,000,000 random read/write IOPS per disk.

StorageSize

Integer

No

No

The storage size.

Unit: GiB.

ZoneId

String

No

No

The zone ID.

None

Return values

Fn::GetAtt

  • ResourceGroupId: The resource group ID.

  • MonitorType: The monitoring service type.

  • Encrypted: Indicates whether the instance is encrypted.

  • SgId: The security group ID.

  • Vswitches: The list of vSwitches.

  • Version: The cluster version.

  • PackageType: The instance edition.

  • Tags: The tags attached to the instance.

  • EnableSsl: Indicates whether SSL is enabled.

  • Architecture: The instance architecture.

  • KmsKeyId: The ID of the KMS key.

  • EnableAutoMinorVersionUpgrade: Indicates whether automatic minor version upgrades are enabled.

  • MaintainablePeriod: The maintenance window of the instance.

  • InstanceId: The instance ID.

  • AclId: The ID of the network access control list (ACL).

  • CreateTime: The time when the instance was created.

  • MinorVersion: The minor version number.

  • PayType: The billing method.

  • EnabledAuditLoader: Indicates whether the audit plugin is enabled.

  • InstanceName: The instance name.

  • VpcId: The VPC ID.

  • RunMode: The run mode of the cluster.

  • OssLocation: The OSS address.

  • IsolateLeader: Indicates whether read/write splitting is enabled.

  • ExpireTime: The expiration time of the cluster.

  • RunningTime: The current runtime of the cluster.

  • SecurityGroupManaged: Indicates whether the security group is a managed security group.

Examples

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  ClusterZoneId:
    Type: String
    Description: The ID of the primary zone for the StarRocks instance.
    Required: true
    AssociationProperty: ZoneId
  PayType:
    Type: String
    Description: The billing method of the instance.
    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: The number of CUs. A Compute Unit (CU) is the basic unit of measurement for the service. 1 CU is equal to 1 CPU core and 4 GiB of memory.
          Required: false
        ZoneId:
          AssociationProperty: ZoneId
          Type: String
          Description: The zone ID.
          Required: false
        DiskNumber:
          Type: Number
          Description: The number of disks.
          Required: false
          MinValue: 0
          MaxValue: 1
        SpecType:
          Type: String
          Description: |-
            The instance type of the compute group. Valid values:
            - standard
            - ramEnhanced
          AllowedValues:
            - standard
            - ramEnhanced
          Required: false
        StoragePerformanceLevel:
          Type: String
          Description: |-
            The performance level of the cloud disk. Valid values:
            - pl0: A maximum of 10,000 random read/write IOPS per disk.
            - pl1: A maximum of 50,000 random read/write IOPS per disk.
            - pl2: A maximum of 100,000 random read/write IOPS per disk.
            - pl3: A maximum of 1,000,000 random read/write IOPS per disk.
          Required: false
        ResidentNodeNumber:
          Type: Number
          Description: The number of resident nodes in the node group.
          Required: false
          MinValue: 1
          MaxValue: 11
        StorageSize:
          Type: Number
          Description: The storage size in GiB.
          Required: false
          MinValue: 100
          MaxValue: 65000
        LocalStorageInstanceType:
          Type: String
          Description: The instance type of the local SSD.
          Required: false
    AssociationProperty: List[Parameters]
    Type: Json
    Description: The information about the FE node groups.
    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: The zone ID of the vSwitch.
          Required: false
        VSwitchId:
          AssociationPropertyMetadata:
            VpcId: ${VpcId}
            ZoneId: ${ZoneId}
          AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
          Type: String
          Description: The ID of the vSwitch.
          Required: true
    AssociationProperty: List[Parameters]
    Type: Json
    Description: The vSwitch information of the StarRocks instance.
    Required: false
    MinLength: 0
    MaxLength: 3
  InstanceName:
    Type: String
    Description: The name of the StarRocks instance.
    Required: true
  VpcId:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
    Description: The VPC ID of the StarRocks instance.
    Required: true
  Version:
    Type: String
    Description: The version of the StarRocks instance.
    Required: true
  RunMode:
    Type: String
    Description: |-
      The run mode of the instance. Valid values:
      - shared_nothing: All-in-one mode.
      - shared_data: Separation of storage and compute.
      - lakehouse: Data lake analytics mode.
    AllowedValues:
      - shared_nothing
      - shared_data
      - lakehouse
    Required: true
  PackageType:
    Type: String
    Description: |-
      The edition of the instance. Valid values:
      - trial: Starter Edition
      - official: Standard Edition
    AllowedValues:
      - trial
      - official
    Required: true
  OssAccessingRoleName:
    Type: String
    Description: The name of the role used for password-free access to OSS.
    Required: false
    Default: AliyunEMRStarRocksAccessingOSSRole
  BackendNodeGroups:
    AssociationPropertyMetadata:
      Parameters:
        Cu:
          Type: Number
          Description: The number of CUs. A Compute Unit (CU) is the basic unit of measurement for the service. 1 CU is equal to 1 CPU core and 4 GiB of memory.
          Required: false
        ZoneId:
          AssociationProperty: ZoneId
          Type: String
          Description: The zone ID.
          Required: false
        DiskNumber:
          Type: Number
          Description: The number of disks.
          Required: false
          MinValue: 1
          MaxValue: 8
        SpecType:
          Type: String
          Description: |-
            The instance type of the compute group. Valid values:
            - standard
            - localSSD
            - bigData
            - ramEnhanced
            - networkEnhanced
          AllowedValues:
            - standard
            - localSSD
            - bigData
            - ramEnhanced
            - networkEnhanced
          Required: false
        StoragePerformanceLevel:
          Type: String
          Description: |-
            The performance level of the cloud disk. Valid values:
            - pl0: A maximum of 10,000 random read/write IOPS per disk.
            - pl1: A maximum of 50,000 random read/write IOPS per disk.
            - pl2: A maximum of 100,000 random read/write IOPS per disk.
            - pl3: A maximum of 1,000,000 random read/write IOPS per disk.
          AllowedValues:
            - pl0
            - pl1
            - pl2
            - pl3
          Required: false
        ResidentNodeNumber:
          Type: Number
          Description: The number of resident nodes in the node group.
          Required: false
          MinValue: 1
          MaxValue: 100
        StorageSize:
          Type: Number
          Description: The storage size in GiB.
          Required: false
          MinValue: 100
          MaxValue: 65000
        LocalStorageInstanceType:
          Type: String
          Description: The instance type of the local SSD.
          Required: false
    AssociationProperty: List[Parameters]
    Type: Json
    Description: The information about the BE or CN compute groups.
    Required: false
    MinLength: 0
    MaxLength: 50
    Default:
      - StoragePerformanceLevel: pl1
        DiskNumber: 1
        SpecType: standard
        StorageSize: 100
        ResidentNodeNumber: 3
        Cu: 8
  AdminPassword:
    Type: String
    Description: The password of the administrator.
    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: The monitoring service type.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - MonitorType
  Encrypted:
    Description: Indicates whether the instance is encrypted.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Encrypted
  SgId:
    Description: The security group ID of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - SgId
  Vswitches:
    Description: The vSwitch information 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 edition of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - PackageType
  Tags:
    Description: The tags of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - Tags
  EnableSsl:
    Description: Indicates whether SSL is enabled.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - EnableSsl
  Architecture:
    Description: The architecture of the 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: Indicates whether automatic minor version upgrades are supported.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - EnableAutoMinorVersionUpgrade
  MaintainablePeriod:
    Description: The maintenance window of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - MaintainablePeriod
  InstanceId:
    Description: The ID of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - InstanceId
  AclId:
    Description: The ID of the access control list.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - AclId
  CreateTime:
    Description: The creation time of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - CreateTime
  MinorVersion:
    Description: The minor version of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - MinorVersion
  PayType:
    Description: The billing method of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - PayType
  EnabledAuditLoader:
    Description: Indicates whether the audit loader is enabled.
    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: The OSS location.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - OssLocation
  IsolateLeader:
    Description: Indicates whether the leader FE node is isolated.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - IsolateLeader
  ExpireTime:
    Description: The expiration time of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - ExpireTime
  RunningTime:
    Description: The runtime of the StarRocks instance.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - RunningTime
  SecurityGroupManaged:
    Description: Indicates whether the security group is a managed security group.
    Value:
      Fn::GetAtt:
        - ExtensionResource
        - SecurityGroupManaged
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "ClusterZoneId": {
      "Type": "String",
      "Description": {
        "en": "The ID of the primary zone for the StarRocks instance."
      },
      "Required": true,
      "AssociationProperty": "ZoneId"
    },
    "PayType": {
      "Type": "String",
      "Description": {
        "en": "The billing method of the instance."
      },
      "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": "The number of CUs. A Compute Unit (CU) is the basic unit of measurement for the service. 1 CU is equal to 1 CPU core and 4 GiB of memory."
            },
            "Required": false
          },
          "ZoneId": {
            "AssociationProperty": "ZoneId",
            "Type": "String",
            "Description": {
              "en": "The zone ID."
            },
            "Required": false
          },
          "DiskNumber": {
            "Type": "Number",
            "Description": {
              "en": "The number of disks."
            },
            "Required": false,
            "MinValue": 0,
            "MaxValue": 1
          },
          "SpecType": {
            "Type": "String",
            "Description": {
              "en": "The instance type of the compute group. Valid values:\n- standard\n- ramEnhanced"
            },
            "AllowedValues": [
              "standard",
              "ramEnhanced"
            ],
            "Required": false
          },
          "StoragePerformanceLevel": {
            "Type": "String",
            "Description": {
              "en": "The performance level of the cloud disk. Valid values:\n- pl0: A maximum of 10,000 random read/write IOPS per disk.\n- pl1: A maximum of 50,000 random read/write IOPS per disk.\n- pl2: A maximum of 100,000 random read/write IOPS per disk.\n- pl3: A maximum of 1,000,000 random read/write IOPS per disk."
            },
            "Required": false
          },
          "ResidentNodeNumber": {
            "Type": "Number",
            "Description": {
              "en": "The number of resident nodes in the node group."
            },
            "Required": false,
            "MinValue": 1,
            "MaxValue": 11
          },
          "StorageSize": {
            "Type": "Number",
            "Description": {
              "en": "The storage size in GiB."
            },
            "Required": false,
            "MinValue": 100,
            "MaxValue": 65000
          },
          "LocalStorageInstanceType": {
            "Type": "String",
            "Description": {
              "en": "The instance type of the local SSD."
            },
            "Required": false
          }
        }
      },
      "AssociationProperty": "List[Parameters]",
      "Type": "Json",
      "Description": {
        "en": "The information about the FE node groups."
      },
      "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": "The zone ID of the vSwitch."
            },
            "Required": false
          },
          "VSwitchId": {
            "AssociationPropertyMetadata": {
              "VpcId": "${VpcId}",
              "ZoneId": "${ZoneId}"
            },
            "AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
            "Type": "String",
            "Description": {
              "en": "The ID of the vSwitch."
            },
            "Required": true
          }
        }
      },
      "AssociationProperty": "List[Parameters]",
      "Type": "Json",
      "Description": {
        "en": "The vSwitch information 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. Valid values:\n- shared_nothing: All-in-one mode.\n- shared_data: Separation of storage and compute.\n- lakehouse: Data lake analytics mode."
      },
      "AllowedValues": [
        "shared_nothing",
        "shared_data",
        "lakehouse"
      ],
      "Required": true
    },
    "PackageType": {
      "Type": "String",
      "Description": {
        "en": "The edition of the instance. Valid values:\n- trial: Starter Edition\n- official: Standard Edition"
      },
      "AllowedValues": [
        "trial",
        "official"
      ],
      "Required": true
    },
    "OssAccessingRoleName": {
      "Type": "String",
      "Description": {
        "en": "The name of the role used for password-free access to OSS."
      },
      "Required": false,
      "Default": "AliyunEMRStarRocksAccessingOSSRole"
    },
    "BackendNodeGroups": {
      "AssociationPropertyMetadata": {
        "Parameters": {
          "Cu": {
            "Type": "Number",
            "Description": {
              "en": "The number of CUs. A Compute Unit (CU) is the basic unit of measurement for the service. 1 CU is equal to 1 CPU core and 4 GiB of memory."
            },
            "Required": false
          },
          "ZoneId": {
            "AssociationProperty": "ZoneId",
            "Type": "String",
            "Description": {
              "en": "The zone ID."
            },
            "Required": false
          },
          "DiskNumber": {
            "Type": "Number",
            "Description": {
              "en": "The number of disks."
            },
            "Required": false,
            "MinValue": 1,
            "MaxValue": 8
          },
          "SpecType": {
            "Type": "String",
            "Description": {
              "en": "The instance type of the compute group. Valid values:\n- standard\n- localSSD\n- bigData\n- ramEnhanced\n- networkEnhanced"
            },
            "AllowedValues": [
              "standard",
              "localSSD",
              "bigData",
              "ramEnhanced",
              "networkEnhanced"
            ],
            "Required": false
          },
          "StoragePerformanceLevel": {
            "Type": "String",
            "Description": {
              "en": "The performance level of the cloud disk. Valid values:\n- pl0: A maximum of 10,000 random read/write IOPS per disk.\n- pl1: A maximum of 50,000 random read/write IOPS per disk.\n- pl2: A maximum of 100,000 random read/write IOPS per disk.\n- pl3: A maximum of 1,000,000 random read/write IOPS per disk."
            },
            "AllowedValues": [
              "pl0",
              "pl1",
              "pl2",
              "pl3"
            ],
            "Required": false
          },
          "ResidentNodeNumber": {
            "Type": "Number",
            "Description": {
              "en": "The number of resident nodes in the node group."
            },
            "Required": false,
            "MinValue": 1,
            "MaxValue": 100
          },
          "StorageSize": {
            "Type": "Number",
            "Description": {
              "en": "The storage size in GiB."
            },
            "Required": false,
            "MinValue": 100,
            "MaxValue": 65000
          },
          "LocalStorageInstanceType": {
            "Type": "String",
            "Description": {
              "en": "The instance type of the local SSD."
            },
            "Required": false
          }
        }
      },
      "AssociationProperty": "List[Parameters]",
      "Type": "Json",
      "Description": {
        "en": "The information about the BE or CN compute groups."
      },
      "Required": false,
      "MinLength": 0,
      "MaxLength": 50,
      "Default": [
        {
          "StoragePerformanceLevel": "pl1",
          "DiskNumber": 1,
          "SpecType": "standard",
          "StorageSize": 100,
          "ResidentNodeNumber": 3,
          "Cu": 8
        }
      ]
    },
    "AdminPassword": {
      "Type": "String",
      "Description": {
        "en": "The password of the administrator."
      },
      "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": "The monitoring service type.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "MonitorType"
        ]
      }
    },
    "Encrypted": {
      "Description": "Indicates whether the instance is encrypted.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Encrypted"
        ]
      }
    },
    "SgId": {
      "Description": "The security group ID of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "SgId"
        ]
      }
    },
    "Vswitches": {
      "Description": "The vSwitch information 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 edition of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "PackageType"
        ]
      }
    },
    "Tags": {
      "Description": "The tags of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "Tags"
        ]
      }
    },
    "EnableSsl": {
      "Description": "Indicates whether SSL is enabled.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "EnableSsl"
        ]
      }
    },
    "Architecture": {
      "Description": "The architecture of the 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": "Indicates whether automatic minor version upgrades are supported.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "EnableAutoMinorVersionUpgrade"
        ]
      }
    },
    "MaintainablePeriod": {
      "Description": "The maintenance window of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "MaintainablePeriod"
        ]
      }
    },
    "InstanceId": {
      "Description": "The ID of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "InstanceId"
        ]
      }
    },
    "AclId": {
      "Description": "The ID of the access control list.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "AclId"
        ]
      }
    },
    "CreateTime": {
      "Description": "The creation time of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "CreateTime"
        ]
      }
    },
    "MinorVersion": {
      "Description": "The minor version of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "MinorVersion"
        ]
      }
    },
    "PayType": {
      "Description": "The billing method of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "PayType"
        ]
      }
    },
    "EnabledAuditLoader": {
      "Description": "Indicates whether the audit loader is enabled.",
      "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": "The OSS location.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "OssLocation"
        ]
      }
    },
    "IsolateLeader": {
      "Description": "Indicates whether the leader FE node is isolated.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "IsolateLeader"
        ]
      }
    },
    "ExpireTime": {
      "Description": "The expiration time of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "ExpireTime"
        ]
      }
    },
    "RunningTime": {
      "Description": "The runtime of the StarRocks instance.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "RunningTime"
        ]
      }
    },
    "SecurityGroupManaged": {
      "Description": "Indicates whether the security group is a managed security group.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionResource",
          "SecurityGroupManaged"
        ]
      }
    }
  }
}