All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::EMR::Cluster2

Last Updated:Jun 26, 2025

ALIYUN::EMR::Cluster2 digunakan untuk membuat kluster E-MapReduce (EMR).

Catatan

ALIYUN::EMR::Cluster mendukung API EMR versi sebelumnya dan tersedia untuk kluster tipe HADOOP, KAFKA, DRUID, ZOOKEEPER, DATA_SCIENCE, dan GATEWAY. ALIYUN::EMR::Cluster2 mendukung API EMR versi baru (2021-03-20) dan tersedia untuk kluster tipe DATALAKE, OLAP, DATAFLOW, dan DATASERVING. Kami merekomendasikan penggunaan ALIYUN::EMR::Cluster2 untuk membuat kluster dari tipe-tipe ini.

Sintaksis

{
  "Type": "ALIYUN::EMR::Cluster2",
  "Properties": {
    "Applications": List,
    "ResourceGroupId": String,
    "ApplicationConfigs": List,
    "ClusterType": String,
    "NodeGroups": List,
    "ReleaseVersion": String,
    "BootstrapScripts": List,
    "SubscriptionConfig": Map,
    "DeployMode": String,
    "SecurityMode": String,
    "NodeAttributes": Map,
    "ClusterName": String,
    "PaymentType": String,
    "Tags": List
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Applications

List

Ya

Tidak

Aplikasi yang ingin Anda tambahkan ke kluster.

Anda dapat menambahkan hingga 100 aplikasi ke kluster.

Untuk informasi lebih lanjut, lihat Properti Applications.

ResourceGroupId

String

Tidak

Tidak

ID grup sumber daya.

Tidak ada.

ApplicationConfigs

List

Tidak

Tidak

Konfigurasi aplikasi.

Anda dapat menambahkan hingga 1.000 konfigurasi aplikasi.

Untuk informasi lebih lanjut, lihat Properti ApplicationConfigs.

ClusterType

String

Ya

Tidak

Jenis kluster.

Nilai valid:

  • DATALAKE: danau data

  • OLAP: pemrosesan analitik online (OLAP)

  • DATAFLOW: Dataflow

  • DATASERVING: DataServing

NodeGroups

List

Ya

Tidak

Array konfigurasi grup node.

Anda dapat menambahkan hingga 100 konfigurasi grup node.

Untuk informasi lebih lanjut, lihat Properti NodeGroups.

ReleaseVersion

String

Ya

Tidak

Versi EMR.

Tidak ada.

BootstrapScripts

List

Tidak

Tidak

Array skrip tindakan bootstrap.

Anda dapat menambahkan hingga 10 skrip tindakan bootstrap.

Untuk informasi lebih lanjut, lihat Properti BootstrapScripts.

SubscriptionConfig

Map

Tidak

Tidak

Konfigurasi langganan.

Properti ini harus ditentukan ketika PaymentType diatur ke Subscription.

DeployMode

String

Tidak

Tidak

Mode penyebaran aplikasi dalam kluster.

Nilai valid:

  • NORMAL: mode reguler. Sebuah node master ditempatkan di kluster.

  • HA: mode ketersediaan tinggi. Setidaknya tiga node master ditempatkan di kluster.

SecurityMode

String

Tidak

Tidak

Mode keamanan kluster.

Nilai valid:

  • NORMAL: mode reguler. Kerberos tidak diaktifkan.

  • KERBEROS: mode Kerberos. Kerberos diaktifkan.

NodeAttributes

Map

Ya

Tidak

Atribut dasar semua node Elastic Compute Service (ECS) dalam kluster.

ClusterName

String

Ya

Tidak

Nama kluster.

Nama harus memiliki panjang 1 hingga 128 karakter, dan tidak boleh dimulai dengan http:// atau https://. Bisa mengandung huruf, angka, titik dua (:), garis bawah (_), titik (.), dan tanda hubung (-).

PaymentType

String

Tidak

Tidak

Metode penagihan.

Nilai valid:

  • PayAsYouGo: bayar sesuai penggunaan

  • Subscription: langganan

Tags

List

Tidak

Tidak

Tag kluster.

Anda dapat menambahkan hingga 20 tag kustom.

Untuk informasi lebih lanjut, lihat Properti Tags.

Sintaksis Applications

"Applications": [
  {
    "ApplicationName": String
  }
]

Properti Applications

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

ApplicationName

String

Ya

Tidak

Nama aplikasi.

Tidak ada.

Sintaksis ApplicationConfigs

"ApplicationConfigs": [
  {
    "ConfigFileName": String,
    "ApplicationName": String,
    "ConfigItemKey": String,
    "NodeGroupName": String,
    "NodeGroupId": String,
    "ConfigScope": String,
    "ConfigItemValue": String
  }
]

Properti ApplicationConfigs

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

ConfigFileName

String

Tidak

Tidak

Nama file konfigurasi.

Tidak ada.

ApplicationName

String

Ya

Tidak

Nama aplikasi.

Tidak ada.

ConfigItemKey

String

Tidak

Tidak

Nama item konfigurasi.

Tidak ada.

NodeGroupName

String

Tidak

Tidak

Nama grup node.

Properti ini berlaku ketika ConfigScope diatur ke NODE_GROUP dan NodeGroupId dibiarkan kosong.

NodeGroupId

String

Tidak

Tidak

ID grup node.

Properti ini berlaku ketika ConfigScope diatur ke NODE_GROUP.

Catatan

NodeGroupId memiliki prioritas lebih tinggi daripada NodeGroupName.

ConfigScope

String

Tidak

Tidak

Tingkat di mana Anda ingin menerapkan konfigurasi.

Nilai valid:

  • CLUSTER (default): tingkat kluster

  • NODE_GROUP: tingkat grup node

ConfigItemValue

String

Tidak

Tidak

Nilai item konfigurasi.

Tidak ada.

Sintaksis NodeGroups

"NodeGroups": [
  {
    "WithPublicIp": Boolean,
    "SpotInstanceRemedy": Boolean,
    "NodeCount": Number,
    "NodeGroupName": String,
    "DataDisks": List,
    "VSwitchIds": List,
    "SpotBidPrices": List,
    "NodeResizeStrategy": String,
    "SystemDisk": Map,
    "NodeGroupType": String,
    "InstanceTypes": List,
    "AdditionalSecurityGroupIds": List,
    "CostOptimizedConfig": Map,
    "GracefulShutdown": Boolean,
    "DeploymentSetStrategy": String,
    "SpotStrategy": String
  }
]

Properti NodeGroups

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

WithPublicIp

Boolean

Tidak

Tidak

Menentukan apakah akan menetapkan alamat IP publik.

Nilai valid:

  • true

  • false (default)

SpotInstanceRemedy

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan instance preemptible. Ketika sistem menerima pesan yang menunjukkan bahwa instance preemptible yang ada akan segera ditarik kembali, sistem mencoba membuat instance dalam grup penskalaan untuk menggantikan instance preemptible yang ada.

Nilai valid:

  • true

  • false (default)

NodeCount

Number

Tidak

Tidak

Jumlah node.

Nilai valid: 1 hingga 1000.

NodeGroupName

String

Tidak

Tidak

Nama grup node.

Nama dapat memiliki panjang hingga 128 karakter. Nama grup node harus unik dalam kluster.

DataDisks

List

Tidak

Tidak

Konfigurasi disk data.

Untuk informasi lebih lanjut, lihat Properti DataDisks.

VSwitchIds

List

Tidak

Tidak

ID vSwitches.

Tidak ada.

SpotBidPrices

List

Tidak

Tidak

Harga penawaran untuk instance preemptible.

Properti ini berlaku ketika SpotStrategy diatur ke SpotWithPriceLimit.

Catatan

Anda dapat menentukan hingga 100 harga penawaran.

Untuk informasi lebih lanjut, lihat Properti SpotBidPrices.

NodeResizeStrategy

String

Tidak

Tidak

Kebijakan penskalaan untuk node.

Nilai valid:

  • COST_OPTIMIZED: kebijakan optimasi biaya

  • PRIORITY (default): kebijakan berbasis prioritas

SystemDisk

Map

Tidak

Tidak

Konfigurasi disk sistem.

Untuk informasi lebih lanjut, lihat Properti SystemDisk.

NodeGroupType

String

Ya

Tidak

Jenis grup node.

Nilai valid:

  • MASTER

  • CORE

  • TASK

InstanceTypes

List

Ya

Tidak

Tipe instance dari node.

Anda dapat menambahkan hingga 100 tipe instance.

AdditionalSecurityGroupIds

List

Tidak

Tidak

Grup keamanan tambahan.

Grup keamanan tambahan adalah grup keamanan yang ditambahkan ke grup node alih-alih kluster. Anda dapat menambahkan hingga dua grup keamanan tambahan ke grup node.

CostOptimizedConfig

Map

Tidak

Tidak

Konfigurasi kebijakan optimasi biaya.

Tidak ada.

GracefulShutdown

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan shutdown elegan untuk komponen dalam grup node.

Nilai valid:

  • true

  • false (default)

DeploymentSetStrategy

String

Tidak

Tidak

Kebijakan set penyebaran.

Nilai valid:

  • NONE (default): tidak menggunakan set penyebaran.

  • CLUSTER: menggunakan set penyebaran pada tingkat kluster.

  • NODE_GROUP: menggunakan set penyebaran pada tingkat grup node.

SpotStrategy

String

Tidak

Tidak

Kebijakan penawaran untuk instance pay-as-you-go.

Nilai valid:

  • NoSpot (default): Instance dibuat sebagai instance pay-as-you-go reguler.

  • SpotWithPriceLimit: Instance dibuat sebagai instance preemptible dengan batas harga maksimum per jam yang ditentukan pengguna.

  • SpotAsPriceGo: Instance dibuat sebagai instance preemptible yang harga penawarannya didasarkan pada harga pasar saat pembelian. Harga pasar bisa mencapai harga pay-as-you-go.

Sintaksis DataDisks

"DataDisks": [
  {
    "Category": String,
    "PerformanceLevel": String,
    "Size": Number,
    "Count": Number
  }
]

Properti DataDisks

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Category

String

Ya

Tidak

Kategori disk.

Tidak ada.

PerformanceLevel

String

Tidak

Tidak

Tingkat kinerja (PL) dari ESSD yang ingin Anda gunakan sebagai disk data.

Nilai valid:

  • PL0: ESSD memberikan hingga 10.000 IOPS baca/tulis acak.

  • PL1 (default): ESSD memberikan hingga 50.000 IOPS baca/tulis acak.

  • PL2: ESSD memberikan hingga 100.000 IOPS baca/tulis acak.

  • PL3: ESSD memberikan hingga 1.000.000 IOPS baca/tulis acak.

Size

Number

Ya

Tidak

Ukuran disk.

Tidak ada.

Count

Number

Tidak

Tidak

Jumlah disk data pada sebuah node.

Tidak ada.

Sintaksis SpotBidPrices

"SpotBidPrices": [
  {
    "BidPrice": Number,
    "InstanceType": String
  }
]

Properti SpotBidPrices

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

BidPrice

Number

Tidak

Tidak

Harga penawaran maksimum per jam dari instance.

Nilai properti ini dapat berisi hingga tiga tempat desimal. Properti ini berlaku ketika SpotStrategy diatur ke SpotWithPriceLimit.

InstanceType

String

Tidak

Tidak

Tipe instance ECS.

Tidak ada.

Sintaksis SystemDisk

"SystemDisk": {
  "Category": String,
  "PerformanceLevel": String,
  "Size": Number,
  "Count": Number
}

Properti SystemDisk

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Category

String

Ya

Tidak

Kategori disk.

Tidak ada.

PerformanceLevel

String

Tidak

Tidak

Tingkat kinerja (PL) dari ESSD yang ingin Anda gunakan sebagai disk sistem.

Nilai valid:

  • PL0: ESSD memberikan hingga 10.000 IOPS baca/tulis acak.

  • PL1 (default): ESSD memberikan hingga 50.000 IOPS baca/tulis acak.

  • PL2: ESSD memberikan hingga 100.000 IOPS baca/tulis acak.

  • PL3: ESSD memberikan hingga 1.000.000 IOPS baca/tulis acak.

Size

Number

Ya

Tidak

Ukuran disk.

Nilai valid: 20 hingga 500.

Count

Number

Tidak

Tidak

Jumlah disk sistem pada sebuah node.

Nilai default: 1.

Sintaksis CostOptimizedConfig

"CostOptimizedConfig": {
  "OnDemandBaseCapacity": Number,
  "OnDemandPercentageAboveBaseCapacity": Number,
  "SpotInstancePools": Number
}

Properti CostOptimizedConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

OnDemandBaseCapacity

Number

Ya

Tidak

Jumlah minimum instance pay-as-you-go yang diperlukan dalam grup node.

Tidak ada.

OnDemandPercentageAboveBaseCapacity

Number

Ya

Tidak

Persentase instance pay-as-you-go dalam instance tambahan ketika batas yang ditentukan oleh OnDemandBaseCapacity tercapai.

Nilai valid: 0 hingga 100.

SpotInstancePools

Number

Ya

Tidak

Jumlah tipe instance yang tersedia.

Tidak ada.

Sintaksis BootstrapScripts

"BootstrapScripts": [
  {
    "ScriptPath": String,
    "ScriptArgs": String,
    "ExecutionFailStrategy": String,
    "Priority": Number,
    "ScriptName": String,
    "ExecutionMoment": String,
    "NodeSelector": Map
  }
]

Properti BootstrapScripts

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

ScriptPath

String

Ya

Tidak

Path Object Storage Service (OSS) tempat skrip disimpan.

Path harus dimulai dengan oss://.

ScriptArgs

String

Tidak

Tidak

Parameter runtime dari skrip.

Tidak ada.

ExecutionFailStrategy

String

Tidak

Tidak

Kebijakan yang ingin Anda gunakan untuk menangani kegagalan eksekusi skrip.

Nilai valid:

  • FAILED_CONTINUE: Setelah skrip gagal dieksekusi, sistem melanjutkan operasi pembuatan atau penskalaan pada kluster.

  • FAILED_BLOCK: Setelah skrip gagal dieksekusi, sistem menghentikan operasi pembuatan atau penskalaan pada kluster.

Priority

Number

Tidak

Tidak

Prioritas skrip.

Nilai valid: 1 hingga 100.

ScriptName

String

Ya

Tidak

Nama skrip.

Nama harus memiliki panjang 1 hingga 64 karakter, dan dapat berisi huruf, angka, garis bawah (_), dan tanda hubung (-). Harus dimulai dengan huruf dan tidak boleh dimulai dengan http:// atau https://.

ExecutionMoment

String

Tidak

Tidak

Urutan waktu berdasarkan mana sistem mengeksekusi skrip.

Nilai valid:

  • BEFORE_INSTALL: Sistem mengeksekusi skrip sebelum aplikasi diinstal.

  • AFTER_STARTED: Sistem mengeksekusi skrip setelah aplikasi dimulai.

NodeSelector

Map

Ya

Tidak

Konfigurasi pemilih node.

Tidak ada.

Sintaksis NodeSelector

"NodeSelector": {
  "NodeGroupTypes": List,
  "NodeGroupName": String,
  "NodeGroupId": String,
  "NodeSelectType": String,
  "NodeNames": List
}

Properti NodeSelector

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

NodeGroupTypes

List

Tidak

Tidak

Jenis grup node.

Nilai valid:

  • MASTER

  • CORE

  • TASK

NodeGroupName

String

Tidak

Tidak

Nama grup node.

Properti ini berlaku ketika NodeSelectType diatur ke NodeGroup dan NodeGroupId dibiarkan kosong.

NodeGroupId

String

Tidak

Tidak

ID grup node.

Properti ini berlaku ketika NodeSelectType diatur ke NodeGroup.

NodeSelectType

String

Ya

Tidak

Tingkat di mana Anda ingin memilih node.

Nilai valid:

  • CLUSTER: tingkat kluster

  • NODE_GROUP: tingkat grup node

  • NODE: tingkat node

NodeNames

List

Tidak

Tidak

Nama-nama node.

Properti ini berlaku ketika NodeSelectType diatur ke Node.

Sintaksis SubscriptionConfig

"SubscriptionConfig": {
  "AutoRenewDurationUnit": String,
  "AutoRenew": Boolean,
  "PaymentDurationUnit": String,
  "PaymentDuration": Number,
  "AutoRenewDuration": Number
}

Properti SubscriptionConfig

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

AutoRenewDurationUnit

String

Tidak

Tidak

Unit durasi perpanjangan otomatis.

Tetapkan nilai ke Month.

AutoRenew

Boolean

Tidak

Tidak

Menentukan apakah akan mengaktifkan perpanjangan otomatis.

Nilai valid:

  • true

  • false (default)

PaymentDurationUnit

String

Tidak

Tidak

Unit durasi langganan.

Tetapkan nilai ke Month.

PaymentDuration

Number

Tidak

Tidak

Durasi langganan.

Nilai valid ketika PaymentDurationUnit diatur ke Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, dan 60.

AutoRenewDuration

Number

Tidak

Tidak

Durasi perpanjangan otomatis.

Properti ini berlaku ketika AutoRenew diatur ke true. Nilai valid ketika AutoRenewDurationUnit diatur ke Month: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, 36, 48, dan 60.

Sintaksis NodeAttributes

"NodeAttributes": {
  "KeyPairName": String,
  "VpcId": String,
  "ZoneId": String,
  "SecurityGroupId": String,
  "RamRole": String,
  "MasterRootPassword": String
}

Properti NodeAttributes

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

KeyPairName

String

Tidak

Tidak

SSH key pair yang ingin Anda gunakan untuk masuk ke instance ECS.

Tidak ada.

VpcId

String

Ya

Tidak

ID virtual private cloud (VPC).

Tidak ada.

ZoneId

String

Ya

Tidak

ID zona.

Tidak ada.

SecurityGroupId

String

Ya

Tidak

ID grup keamanan.

EMR hanya mendukung kelompok keamanan dasar. EMR tidak mendukung kelompok keamanan tingkat lanjut.

RamRole

String

Tidak

Tidak

Peran Resource Access Management (RAM) yang ingin Anda lampirkan ke EMR untuk mengakses sumber daya Alibaba Cloud lainnya dari ECS.

Nilai default: AliyunECSInstanceForEMRRole.

MasterRootPassword

String

Tidak

Tidak

Password root node master.

Tidak ada.

Sintaksis Tags

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

Properti Tags

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Value

String

Tidak

Tidak

Nilai tag.

Properti ini opsional dan bisa berupa string kosong. Nilai tag dapat memiliki panjang hingga 128 karakter, dan tidak boleh mengandung http:// atau https://. Tidak boleh dimulai dengan acs:.

Key

String

Ya

Tidak

Kunci tag.

Properti ini wajib dan tidak boleh berupa string kosong. Kunci tag dapat memiliki panjang hingga 128 karakter, dan tidak boleh mengandung http:// atau https://. Tidak boleh dimulai dengan aliyun atau acs:.

Nilai Pengembalian

Fn::GetAtt

  • ClusterId: ID kluster.

  • ApplicationLinks: Tautan aplikasi dalam kluster.

Contoh

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Applications:
    Type: Json
    Description: 'Daftar Aplikasi. Rentang nilai jumlah n dari grup N: 1 ~ 100.'
  ClusterType:
    Type: String
    Description: |-
      Jenis kluster.Rentang:
      Datalake: Versi baru dari danau data.
      OLAP: Analisis data.
      DataFlow: Aliran data real-time.
      DataServing: Layanan data.
      Hadoop: Versi lama dari danau data (tidak direkomendasikan, disarankan menggunakan versi baru dari danau data).
    AllowedValues:
      - DATAFLOW
      - DATALAKE
      - DATASERVING
      - HADOOP
      - OLAP
  NodeGroups:
    Type: Json
    Description: 'Array konfigurasi grup node. Rentang nilai jumlah n dari grup N: 1 ~ 100.'
    MinLength: 1
    MaxLength: 100
  ReleaseVersion:
    Type: String
    Description: Versi EMR. Lihat versi distribusi EMR melalui kluster EMR.
  NodeAttributes:
    Type: Json
    Description: Atribut node. Semua atribut dasar node ECS dalam kluster.
  ClusterName:
    Type: String
    Description: 'Nama kluster. Panjangnya adalah 1 ~ 128 karakter, dan harus dimulai dengan alfabet atau karakter Cina. Tidak boleh dimulai dengan http:// dan https://. Bisa mencakup huruf Cina, Inggris, angka, titik dua setengah lebar (:), garis bawah (_), titik setengah lebar (.), atau tanda hubung (-).'
Resources:
  Cluster:
    Type: ALIYUN::EMR::Cluster2
    Properties:
      Applications:
        Ref: Applications
      ClusterType:
        Ref: ClusterType
      NodeGroups:
        Ref: NodeGroups
      ReleaseVersion:
        Ref: ReleaseVersion
      NodeAttributes:
        Ref: NodeAttributes
      ClusterName:
        Ref: ClusterName
Outputs:
  ClusterId:
    Description: ID Kluster.
    Value:
      Fn::GetAtt:
        - Cluster
        - ClusterId

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "Applications": {
      "Type": "Json",
      "Description": "Daftar Aplikasi. Rentang nilai jumlah n dari grup N: 1 ~ 100."
    },
    "ClusterType": {
      "Type": "String",
      "Description": "Jenis kluster.Rentang:\nDatalake: Versi baru dari danau data.\nOLAP: Analisis data.\nDataFlow: Aliran data real-time.\nDataServing: Layanan data.\nHadoop: Versi lama dari danau data (tidak direkomendasikan, disarankan menggunakan versi baru dari danau data).",
      "AllowedValues": [
        "DATAFLOW",
        "DATALAKE",
        "DATASERVING",
        "HADOOP",
        "OLAP"
      ]
    },
    "NodeGroups": {
      "Type": "Json",
      "Description": "Array konfigurasi grup node. Rentang nilai jumlah n dari grup N: 1 ~ 100.",
      "MinLength": 1,
      "MaxLength": 100
    },
    "ReleaseVersion": {
      "Type": "String",
      "Description": "Versi EMR. Lihat versi distribusi EMR melalui kluster EMR."
    },
    "NodeAttributes": {
      "Type": "Json",
      "Description": "Atribut node. Semua atribut dasar node ECS dalam kluster."
    },
    "ClusterName": {
      "Type": "String",
      "Description": "Nama kluster. Panjangnya adalah 1 ~ 128 karakter, dan harus dimulai dengan alfabet atau karakter Cina. Tidak boleh dimulai dengan http:// dan https://. Bisa mencakup huruf Cina, Inggris, angka, titik dua setengah lebar (:), garis bawah (_), titik setengah lebar (.) atau tanda hubung (-)"
    }
  },
  "Resources": {
    "Cluster": {
      "Type": "ALIYUN::EMR::Cluster2",
      "Properties": {
        "Applications": {
          "Ref": "Applications"
        },
        "ClusterType": {
          "Ref": "ClusterType"
        },
        "NodeGroups": {
          "Ref": "NodeGroups"
        },
        "ReleaseVersion": {
          "Ref": "ReleaseVersion"
        },
        "NodeAttributes": {
          "Ref": "NodeAttributes"
        },
        "ClusterName": {
          "Ref": "ClusterName"
        }
      }
    }
  },
  "Outputs": {
    "ClusterId": {
      "Description": "ID Kluster.",
      "Value": {
        "Fn::GetAtt": [
          "Cluster",
          "ClusterId"
        ]
      }
    }
  }
}