Todos os produtos
Search
Central de documentação

Resource Orchestration Service:ALIYUN::EHPC::ClusterV2

Última atualização: Jun 30, 2026

O recurso ALIYUN::EHPC::ClusterV2 cria um cluster Elastic High Performance Computing (E-HPC) da nova versão.

Sintaxe

{
  "Type": "ALIYUN::EHPC::ClusterV2",
  "Properties": {
    "ClusterName": String,
    "SharedStorages": List,
    "VSwitchId": String,
    "VpcId": String,
    "AdditionalPackages": List,
    "Addons": List,
    "ClusterCredentials": Map,
    "ClusterMode": String,
    "ClusterCategory": String,
    "ClientVersion": String,
    "ClusterCustomConfiguration": Map,
    "ClusterDescription": String,
    "DeletionProtection": Boolean,
    "IsEnterpriseSecurityGroup": Boolean,
    "MaxCount": Integer,
    "Manager": Map,
    "MaxCoreCount": Integer,
    "Queues": List,
    "ResourceGroupId": String,
    "SecurityGroupId": String,
    "Tags": List
  }
}

Propriedades

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

ClusterName

String

Sim

Sim

Nome do cluster.

O nome deve ter de 2 a 128 caracteres e pode conter letras, dígitos, hifens (-) e sublinhados (_).

SharedStorages

List

Sim

Não

Configurações de armazenamento compartilhado do cluster.

Para mais informações, consulte Propriedades de SharedStorages.

VSwitchId

String

Sim

Não

ID do vSwitch do cluster.

Nenhuma.

VpcId

String

Sim

Não

ID da Virtual Private Cloud (VPC) onde o cluster está localizado.

Nenhuma.

AdditionalPackages

List

Não

Não

Configurações adicionais de software para o cluster.

É possível especificar até 10 conjuntos de configurações de software. Para mais informações, consulte Propriedades de AdditionalPackages.

Addons

List

Não

Não

Configurações personalizadas de addons do cluster.

Há suporte apenas para um addon. Para mais informações, consulte Propriedades de Addons.

ClusterCredentials

Map

Não

Não

Credenciais de segurança do cluster.

Para mais informações, consulte Propriedades de ClusterCredentials.

ClusterMode

String

Não

Não

Modo de implantação do cluster.

Valores válidos:

  • Integrated: cluster de nuvem pública.

  • Hybrid: cluster de nuvem híbrida.

  • Custom: cluster personalizado.

ClusterCategory

String

Não

Não

Edição do cluster.

Valores válidos:

  • Standard: Edição Standard.

  • Serverless: Edição Gerenciada.

ClientVersion

String

Não

Sim

Versão do cliente do cluster.

Por padrão, a versão mais recente é utilizada.

ClusterCustomConfiguration

Map

Não

Sim

Script de pós-processamento do cluster.

Para mais informações, consulte Propriedades de ClusterCustomConfiguration.

ClusterDescription

String

Não

Sim

Descrição do cluster.

A descrição deve ter de 2 a 128 caracteres e pode conter letras, dígitos, hifens (-) e sublinhados (_).

DeletionProtection

Boolean

Não

Sim

Indica se a proteção contra exclusão está ativada para o cluster.

Valores válidos:

  • true

  • false

IsEnterpriseSecurityGroup

Boolean

Não

Não

Indica se um grupo de segurança avançado deve ser utilizado.

Valores válidos:

  • true: cria e utiliza automaticamente um grupo de segurança avançado.

  • false: cria e utiliza automaticamente um grupo de segurança básico.

MaxCount

Integer

Não

Sim

Número máximo de nós de computação que o cluster pode gerenciar.

Valores válidos: 0 a 5000.

Manager

Map

Não

Não

Configurações do nó de gerenciamento do cluster.

Para mais informações, consulte Propriedades de Manager.

MaxCoreCount

Integer

Não

Sim

Número máximo de vCPUs disponíveis para os nós de computação no cluster.

Valores válidos: 0 a 100000.

Queues

List

Não

Não

Filas do cluster.

É possível configurar até oito filas. Para mais informações, consulte Propriedades de Queues.

ResourceGroupId

String

Não

Não

ID do grupo de recursos.

Nenhuma.

SecurityGroupId

String

Não

Não

ID do grupo de segurança ao qual o cluster pertence.

Nenhuma.

Tags

List

Não

Sim

Tags do cluster.

Para mais informações, consulte Propriedades de Tags.

Sintaxe de ClusterCredentials

"ClusterCredentials": {
  "KeyPairName": String,
  "Password": String
}

Propriedades de ClusterCredentials

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

KeyPairName

String

Não

Não

Nome do par de chaves.

O nome deve ter de 2 a 128 caracteres. Deve começar com uma letra e não pode iniciar com http:// ou https://. Pode conter letras, dígitos, dois pontos (:), sublinhados (_) e hifens (-).

Password

String

Não

Não

Senha do usuário root para fazer login no nó.

A senha deve ter de 8 a 20 caracteres e conter pelo menos três dos seguintes tipos de caracteres: letras maiúsculas, letras minúsculas, dígitos e caracteres especiais. Os caracteres especiais incluem ( ) ~ ! @ # $ % ^ & * - = + { } [ ] : ; ' < > , . ? /

Sintaxe de AdditionalPackages

"AdditionalPackages": [
  {
    "Version": String,
    "Name": String
  }
]

Propriedades de AdditionalPackages

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

Version

String

Sim

Não

Versão do software a ser instalado.

Nenhuma.

Name

String

Sim

Não

Nome do software a ser instalado.

Nenhuma.

Sintaxe de Addons

"Addons": [
  {
    "Version": String,
    "ServicesSpec": String,
    "ResourcesSpec": String,
    "Name": String
  }
]

Propriedades de Addons

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

Version

String

Sim

Não

Versão do addon.

Nenhuma.

ServicesSpec

String

Não

Não

Configurações de serviço do addon.

Exemplo:

"[{\\"ServiceName\\": \\"SSH\\", \\"ServiceAccessType\\": null, \\"ServiceAccessUrl\\": null, \\"NetworkACL\\": [{\\"IpProtocol\\": \\"TCP\\", \\"Port\\": 22, \\"SourceCidrIp\\": \\"0.0.0.0/0\\"}]}, {\\"ServiceName\\": \\"VNC\\", \\"ServiceAccessType\\": null, \\"ServiceAccessUrl\\": null, \\"NetworkACL\\": [{\\"IpProtocol\\": \\"TCP\\", \\"Port\\": 12016, \\"SourceCidrIp\\": \\"0.0.0.0/0\\"}]}, {\\"ServiceName\\": \\"CLIENT\\", \\"ServiceAccessType\\": \\"URL\\", \\"ServiceAccessUrl\\": \\"\\", \\"NetworkACL\\": [{\\"IpProtocol\\": \\"TCP\\", \\"Port\\": 12011, \\"SourceCidrIp\\": \\"0.0.0.0/0\\"}]}]"

ResourcesSpec

String

Não

Não

Configurações de recursos do addon.

Exemplo:

"{\\"EipResource\\": {\\"AutoCreate\\": true}, \\"EcsResources\\": [{\\"InstanceType\\": \\"ecs.c7.xlarge\\", \\"ImageId\\": \\"centos_7_6_x64_20G_alibase_20211130.vhd\\", \\"SystemDisk\\": {\\"Category\\": \\"cloud_essd\\", \\"Size\\": 40, \\"Level\\": \\"PL0\\"}, \\"EnableHT\\": true, \\"InstanceChargeType\\": \\"PostPaid\\", \\"SpotStrategy\\": \\"NoSpot\\"}]}"

Name

String

Sim

Não

Nome do addon.

Nenhuma.

Sintaxe de Manager

"Manager": {
  "ManagerNode": Map,
  "Scheduler": Map,
  "DNS": Map,
  "DirectoryService": Map
}

Propriedades de Manager

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

ManagerNode

Map

Não

Não

Configurações de hardware do nó de gerenciamento.

Para mais informações, consulte Propriedades de ManagerNode.

Scheduler

Map

Não

Não

Configurações do serviço de agendador.

Para mais informações, consulte Propriedades de Scheduler.

DNS

Map

Não

Não

Configurações do serviço de resolução de nomes de domínio (DNS).

Para mais informações, consulte Propriedades de DNS.

DirectoryService

Map

Não

Não

Configurações do serviço de conta de domínio.

Para mais informações, consulte Propriedades de DirectoryService.

Sintaxe de ManagerNode

"ManagerNode": {
  "SystemDisk": Map,
  "AutoRenewPeriod": Integer,
  "EnableHT": Boolean,
  "DataDisks": List,
  "InstanceChargeType": String,
  "AutoRenew": Boolean,
  "ImageId": String,
  "Period": Integer,
  "InstanceType": String,
  "PeriodUnit": String
}

Propriedades de ManagerNode

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

SystemDisk

Map

Sim

Não

Configurações do disco de sistema do nó.

Para mais informações, consulte Propriedades de SystemDisk.

AutoRenewPeriod

Integer

Não

Não

Período de renovação automática.

Valores válidos:

  • Quando PeriodUnit é definido como Week: 1, 2 e 3.

  • Quando PeriodUnit é definido como Month: 1, 2, 3, 6, 12, 24, 36, 48 e 60.

Valor padrão: 1.

EnableHT

Boolean

Não

Não

Indica se o hyper-threading está ativado para o nó.

Valores válidos:

  • true

  • false

DataDisks

List

Não

Não

Discos de dados.

Para mais informações, consulte Propriedades de DataDisks. É possível configurar até 16 discos de dados, indicados por N.

InstanceChargeType

String

Não

Não

Método de faturamento do nó.

Valores válidos:

  • PrePaid: assinatura.

  • PostPaid: pagamento conforme o uso.

Valor padrão: PostPaid.

AutoRenew

Boolean

Não

Não

Indica se a renovação automática está ativada.

Esta propriedade só tem efeito quando InstanceChargeType é definido como PrePaid. Valores válidos:

  • true

  • false

ImageId

String

Sim

Não

ID da imagem.

Nenhuma.

Period

Integer

Não

Não

Duração da assinatura do nó.

A unidade da duração da assinatura do nó é especificada por PeriodUnit. Period deve ser especificado apenas quando InstanceChargeType é definido como PrePaid. Se DedicatedHostId for especificado, a duração da assinatura do nó não deve exceder a duração da assinatura do host dedicado. Valores válidos de Period:

  • Quando PeriodUnit é definido como Week: 1, 2, 3 e 4.

  • Quando PeriodUnit é definido como Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48 e 60.

InstanceType

String

Sim

Não

Tipo da instância Elastic Compute Service (ECS).

Nenhuma.

PeriodUnit

String

Não

Não

Unidade da duração da assinatura.

Valores válidos:

  • Week

  • Month (Padrão)

Sintaxe de SystemDisk

"SystemDisk": {
  "Category": String,
  "Size": Integer,
  "Level": String
}

Propriedades de SystemDisk

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

Category

String

Sim

Não

Categoria do disco de sistema.

Valores válidos:

  • cloud_efficiency: ultra disk.

  • cloud_ssd: SSD padrão.

  • cloud_essd: Enhanced SSD (ESSD).

  • cloud: disco básico.

Size

Integer

Sim

Não

Tamanho do disco de sistema.

Unidade: GiB. Valores válidos:

  • Quando SystemDisk.Category é definido como cloud_efficiency: 40 a 32768.

  • Quando SystemDisk.Category é definido como cloud_ssd: 40 a 32768.

  • Quando SystemDisk.Category é definido como cloud_essd: Os valores válidos variam conforme o valor de SystemDisk.Level:

    • Quando SystemDisk.Level é definido como PL0: 40 a 65536.

    • Quando SystemDisk.Level é definido como PL1: 40 a 65536.

    • Quando SystemDisk.Level é definido como PL2: 461 a 65536.

    • Quando SystemDisk.Level é definido como PL3: 1261 a 65536.

  • Quando SystemDisk.Category é definido como cloud: 40 a 500.

Level

String

Não

Não

Nível de desempenho (PL) do ESSD.

Valores válidos:

  • PL0: Um ESSD pode oferecer até 10.000 IOPS de leitura/gravação aleatória.

  • PL1 (padrão): Um ESSD pode oferecer até 50.000 IOPS de leitura/gravação aleatória.

  • PL2: Um ESSD pode oferecer até 100.000 IOPS de leitura/gravação aleatória.

  • PL3: Um ESSD pode oferecer até 1.000.000 IOPS de leitura/gravação aleatória. Para mais informações sobre como selecionar o PL de um ESSD, consulte ESSDs.

Sintaxe de DataDisks

"DataDisks": [
  {
    "Category": String,
    "Size": Integer,
    "DeleteWithInstance": Boolean,
    "Level": String,
    "MountDir": String
  }
]

Propriedades de DataDisks

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

Category

String

Sim

Não

Categoria do disco de dados.

Valores válidos:

  • cloud_efficiency: ultra disk.

  • cloud_ssd: SSD padrão.

  • cloud_essd: ESSD.

Size

Integer

Sim

Não

Tamanho do disco de dados.

Unidade: GiB. Valores válidos:

  • Quando DataDisks.Category é definido como cloud_efficiency: 40 a 32768.

  • Quando DataDisks.Category é definido como cloud_ssd: 40 a 32768.

  • Quando DataDisks.Category é definido como cloud_essd: Os valores válidos variam conforme o valor de DataDisks.Level:

    • Quando DataDisks.Level é definido como PL0: 40 a 65536.

    • Quando DataDisks.Level é definido como PL1: 40 a 65536.

    • Quando DataDisks.Level é definido como PL2: 461 a 65536.

    • Quando DataDisks.Level é definido como PL3: 1261 a 65536.

DeleteWithInstance

Boolean

Não

Não

Indica se o disco de dados deve ser liberado quando a instância for liberada.

Valores válidos:

  • true

  • false

Valor padrão: true.

Level

String

Não

Não

PL do ESSD.

Valores válidos:

  • PL0: Um ESSD pode oferecer até 10.000 IOPS de leitura/gravação aleatória.

  • PL1 (padrão): Um ESSD pode oferecer até 50.000 IOPS de leitura/gravação aleatória.

  • PL2: Um ESSD pode oferecer até 100.000 IOPS de leitura/gravação aleatória.

  • PL3: Um ESSD pode oferecer até 1.000.000 IOPS de leitura/gravação aleatória. Para mais informações sobre como selecionar o PL de um ESSD, consulte ESSDs.

MountDir

String

Não

Não

Diretório de montagem do disco de dados.

O diretório de montagem deve começar com uma barra (/).

Sintaxe de Scheduler

"Scheduler": {
  "Type": String,
  "Version": String
}

Propriedades de Scheduler

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

Type

String

Não

Não

Tipo do serviço de agendador.

Valores válidos:

  • SLURM

  • PBS

  • OPENGRIDSCHEDULER

  • LSF_PLUGIN

  • PBS_PLUGIN

Version

String

Não

Não

Versão do serviço de agendador.

Nenhuma.

Sintaxe de DNS

"DNS": {
  "Type": String,
  "Version": String
}

Propriedades de DNS

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

Type

String

Não

Não

Tipo do serviço de DNS.

Defina o valor como NIS.

Version

String

Não

Não

Versão do serviço de DNS.

Nenhuma.

Sintaxe de DirectoryService

"DirectoryService": {
  "Type": String,
  "Version": String
}

Propriedades de DirectoryService

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

Type

String

Não

Não

Tipo do serviço de conta de domínio.

Defina o valor como NIS.

Version

String

Não

Não

Versão do serviço de conta de domínio.

Nenhuma.

Sintaxe de SharedStorages

"SharedStorages": [
  {
    "MountDirectory": String,
    "MountTargetDomain": String,
    "ProtocolType": String,
    "FileSystemId": String,
    "MountOptions": String,
    "NASDirectory": String
  }
]

Propriedades de SharedStorages

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

FileSystemId

String

Sim

Não

ID do sistema de arquivos a ser montado.

Nenhuma.

MountTargetDomain

String

Sim

Não

Endereço do ponto de montagem do sistema de arquivos a ser montado.

Nenhuma.

MountDirectory

String

Não

Não

Diretório de montagem local do sistema de arquivos a ser montado.

Nenhuma.

MountOptions

String

Não

Não

Opções de montagem de armazenamento do sistema de arquivos a ser montado.

Nenhuma.

NASDirectory

String

Não

Não

Diretório de montagem remota do sistema de arquivos a ser montado.

Nenhuma.

ProtocolType

String

Não

Não

Tipo de protocolo do sistema de arquivos a ser montado.

Valores válidos:

  • NFS

  • SMB

Sintaxe de ClusterCustomConfiguration

"ClusterCustomConfiguration": {
  "Script": String,
  "Args": String
}

Propriedades de ClusterCustomConfiguration

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

Args

String

Não

Sim

Parâmetros de execução do script de pós-processamento após a instalação do cluster.

Nenhuma.

Script

String

Não

Sim

Endereço de download do script de pós-processamento após a instalação do cluster.

Nenhuma.

Sintaxe de Queues

"Queues": [
  {
    "VSwitchIds": List,
    "ComputeNodes": List,
    "InterConnect": String,
    "MaxCount": Integer,
    "KeepAliveNodes": List,
    "HostnamePrefix": String,
    "AllocationStrategy": String,
    "EnableScaleIn": Boolean,
    "MaxCountPerCycle": Integer,
    "HostnameSuffix": String,
    "RamRole": String,
    "EnableScaleOut": Boolean,
    "QueueName": String,
    "InitialCount": Integer,
    "MinCount": Integer
  }
]

Propriedades de Queues

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

QueueName

String

Sim

Não

Nome da fila.

O nome deve ter de 1 a 15 caracteres e pode conter letras, dígitos e pontos (.).

AllocationStrategy

String

Não

Não

Política de dimensionamento automático para expansão da fila.

Nenhuma.

ComputeNodes

List

Não

Não

Configurações de hardware dos nós de computação na fila.

É possível especificar até 10 conjuntos de configurações de hardware. Para mais informações, consulte Propriedades de ComputeNodes.

EnableScaleIn

Boolean

Não

Não

Indica se o dimensionamento automático para redução da fila está ativado.

Valores válidos:

  • true

  • false

EnableScaleOut

Boolean

Não

Não

Indica se o dimensionamento automático para expansão da fila está ativado.

Valores válidos:

  • true

  • false

HostnamePrefix

String

Não

Não

Prefixo do nome de host dos nós de computação na fila.

Nenhuma.

HostnameSuffix

String

Não

Não

Sufixo do nome de host dos nós de computação na fila.

Nenhuma.

InterConnect

String

Não

Não

Tipo de rede entre os nós de computação na fila.

Valores válidos:

  • vpc

  • eRDMA

InitialCount

Integer

Não

Não

Número inicial de nós de computação na fila.

Valores válidos: 0 a 5000.

KeepAliveNodes

List

Não

Não

Nós na fila com o recurso de proteção contra exclusão ativado.

Valores válidos: 0 a 5000.

MaxCount

Integer

Não

Não

Número máximo de nós de computação que a fila pode conter.

Valores válidos: 0 a 5000.

MaxCountPerCycle

Integer

Não

Não

Número máximo de nós de computação que podem ser adicionados à fila em cada operação de expansão.

Valores válidos: 0 a 5000.

MinCount

Integer

Não

Não

Número mínimo de nós de computação que a fila deve conter.

Valores válidos: 0 a 5000.

RamRole

String

Não

Não

Função do Resource Access Management (RAM) anexada aos nós de computação na fila.

Nenhuma.

VSwitchIds

List

Não

Não

vSwitches disponíveis para os nós de computação na fila.

É possível configurar até cinco vSwitches.

Sintaxe de ComputeNodes

"ComputeNodes": [
  {
    "SystemDisk": Map,
    "EnableHT": Boolean,
    "DataDisks": List,
    "ImageId": String,
    "SpotPriceLimit": Number,
    "Duration": Integer,
    "InstanceType": String,
    "SpotStrategy": String
  }
]

Propriedades de ComputeNodes

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

ImageId

String

Sim

Não

ID da imagem.

Nenhuma.

InstanceType

String

Sim

Não

Tipo da instância ECS.

Nenhuma.

SystemDisk

Map

Sim

Não

Configurações do disco de sistema do nó.

Para mais informações, consulte Propriedades de SystemDisk.

DataDisks

List

Não

Não

Discos de dados.

É possível configurar até 16 discos de dados. Para mais informações, consulte Propriedades de DataDisks.

Duration

Integer

Não

Não

Período de proteção de uma instância preemptível.

Unidade: hora. Valor padrão: 1. Valores válidos:

  • 1: Após a criação de uma instância preemptível, o Alibaba Cloud garante que a instância seja executada e não seja liberada automaticamente dentro de 1 hora. Após o término do período de proteção de 1 hora, o sistema compara o preço do lance com o preço de mercado e verifica o inventário de recursos para determinar se deve manter ou liberar a instância.

  • 0: Após a criação de uma instância preemptível, o Alibaba Cloud não garante que a instância seja executada por 1 hora. O sistema compara o preço do lance com o preço de mercado e verifica o inventário de recursos para determinar se deve manter ou liberar a instância.

O Alibaba Cloud envia um evento de sistema ECS para notificá-lo 5 minutos antes da liberação da instância. A cobrança de instâncias preemptíveis é feita por segundo. Recomendamos que você especifique um período de proteção adequado com base nos requisitos do seu negócio.

EnableHT

Boolean

Não

Não

Indica se o hyper-threading está ativado para o nó.

Valores válidos:

  • true

  • false

SpotPriceLimit

Number

Não

Não

Preço horário máximo de uma instância.

O valor desta propriedade pode conter até três casas decimais. Esta propriedade tem efeito quando SpotStrategy é definido como SpotWithPriceLimit.

SpotStrategy

String

Não

Não

Política de lance para uma instância de pagamento conforme o uso.

Esta propriedade tem efeito quando InstanceChargeType é definido como PostPaid. Valores válidos:

  • NoSpot: A instância é criada como uma instância regular de pagamento conforme o uso.

  • SpotWithPriceLimit: A instância é criada como uma instância preemptível com um preço horário máximo definido pelo usuário.

  • SpotAsPriceGo: A instância é criada como uma instância preemptível cujo preço do lance é baseado no preço de mercado no momento da compra.

Valor padrão: NoSpot.

Sintaxe de Tags

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

Propriedades de Tags

Propriedade

Tipo

Obrigatório

Editável

Descrição

Restrição

Key

String

Sim

Não

Chave da tag.

Nenhuma.

Value

String

Não

Não

Valor da tag.

Nenhuma.

Valores de retorno

Fn::GetAtt

ClusterId: o ID do cluster.

Exemplos

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  VSwitchId:
    AssociationPropertyMetadata:
      VpcId: ${VpcId}
      ZoneId: ${ZoneId}
    AssociationProperty: ALIYUN::VPC::VSwitch::VSwitchId
    Type: String
    Description:
      en: The ID of the VSwitch used by the cluster
    Required: true
  SharedStorages:
    AssociationPropertyMetadata:
      Parameters:
        MountDirectory:
          Type: String
          Description:
            en: The local mount directory to mount the file system.
          Required: false
        MountTargetDomain:
          Type: String
          Description:
            en: The mount target domain of the file system.
          Required: true
        ProtocolType:
          Type: String
          Description:
            en: 'The protocol type of the file system. Valid values: NFS, SMB.'
          AllowedValues:
            - NFS
            - SMB
          Required: false
        FileSystemId:
          Type: String
          Description:
            en: The ID of the file system.
          Required: true
        MountOptions:
          Type: String
          Description:
            en: The mount options of the file system.
          Required: false
        NASDirectory:
          Type: String
          Description:
            en: Mounted filesystems require mounted remote directories.
          Required: false
    AssociationProperty: List[Parameters]
    Type: Json
    Description:
      en: The list of shared storage configurations.
    Required: true
  VpcId:
    AssociationProperty: ALIYUN::ECS::VPC::VPCId
    Type: String
    Description:
      en: The ID of the VPC used by the cluster.
    Required: true
  ClusterName:
    Type: String
    Description:
      en: Cluster name. The length is from 2 to 128 characters, and it supports English, Chinese and numbers. You can include a dash (-) and an underscore (_).
    Required: true
    MinLength: 2
    MaxLength: 128
Resources:
  ClusterV2:
    Type: ALIYUN::EHPC::ClusterV2
    Properties:
      VSwitchId:
        Ref: VSwitchId
      SharedStorages:
        Ref: SharedStorages
      VpcId:
        Ref: VpcId
      ClusterName:
        Ref: ClusterName
Outputs:
  ClusterId:
    Description: Cluster Id.
    Value:
      Fn::GetAtt:
        - ClusterV2
        - ClusterId

                        
{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "VSwitchId": {
      "AssociationPropertyMetadata": {
        "VpcId": "${VpcId}",
        "ZoneId": "${ZoneId}"
      },
      "AssociationProperty": "ALIYUN::VPC::VSwitch::VSwitchId",
      "Type": "String",
      "Description": {
        "en": "The ID of the VSwitch used by the cluster"
      },
      "Required": true
    },
    "SharedStorages": {
      "AssociationPropertyMetadata": {
        "Parameters": {
          "MountDirectory": {
            "Type": "String",
            "Description": {
              "en": "The local mount directory to mount the file system."
            },
            "Required": false
          },
          "MountTargetDomain": {
            "Type": "String",
            "Description": {
              "en": "The mount target domain of the file system."
            },
            "Required": true
          },
          "ProtocolType": {
            "Type": "String",
            "Description": {
              "en": "The protocol type of the file system. Valid values: NFS, SMB."
            },
            "AllowedValues": [
              "NFS",
              "SMB"
            ],
            "Required": false
          },
          "FileSystemId": {
            "Type": "String",
            "Description": {
              "en": "The ID of the file system."
            },
            "Required": true
          },
          "MountOptions": {
            "Type": "String",
            "Description": {
              "en": "The mount options of the file system."
            },
            "Required": false
          },
          "NASDirectory": {
            "Type": "String",
            "Description": {
              "en": "Mounted filesystems require mounted remote directories."
            },
            "Required": false
          }
        }
      },
      "AssociationProperty": "List[Parameters]",
      "Type": "Json",
      "Description": {
        "en": "The list of shared storage configurations."
      },
      "Required": true
    },
    "VpcId": {
      "AssociationProperty": "ALIYUN::ECS::VPC::VPCId",
      "Type": "String",
      "Description": {
        "en": "The ID of the VPC used by the cluster."
      },
      "Required": true
    },
    "ClusterName": {
      "Type": "String",
      "Description": {
        "en": "Cluster name. The length is from 2 to 128 characters, and it supports English, Chinese and numbers. You can include a dash (-) and an underscore (_)."
      },
      "Required": true,
      "MinLength": 2,
      "MaxLength": 128
    }
  },
  "Resources": {
    "ClusterV2": {
      "Type": "ALIYUN::EHPC::ClusterV2",
      "Properties": {
        "VSwitchId": {
          "Ref": "VSwitchId"
        },
        "SharedStorages": {
          "Ref": "SharedStorages"
        },
        "VpcId": {
          "Ref": "VpcId"
        },
        "ClusterName": {
          "Ref": "ClusterName"
        }
      }
    }
  },
  "Outputs": {
    "ClusterId": {
      "Description": "Cluster Id.",
      "Value": {
        "Fn::GetAtt": [
          "ClusterV2",
          "ClusterId"
        ]
      }
    }
  }
}