全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::RDS::DBInstanceClone

更新时间:Jun 26, 2025

ALIYUN::RDS::DBInstanceClone digunakan untuk memulihkan data historis suatu instans ke instans baru yang disebut sebagai instans klon.

Sintaks

{
  "Type": "ALIYUN::RDS::DBInstanceClone",
  "Properties": {
    "PeriodType": String,
    "Category": String,
    "PrivateIpAddress": String,
    "DedicatedHostGroupId": String,
    "BackupId": String,
    "RestoreTime": String,
    "InstanceNetworkType": String,
    "DbNames": String,
    "Port": Integer,
    "ConnectionStringPrefix": String,
    "ConnectionStringType": String,
    "TimeoutInMinutes": Integer,
    "PreferredBackupPeriod": List,
    "DBInstanceId": String,
    "SecurityIPList": String,
    "DBInstanceStorage": Integer,
    "BackupType": String,
    "DBMappings": List,
    "MaintainTime": String,
    "Tags": Map,
    "DBInstanceDescription": String,
    "ZoneId": String,
    "SlaveZoneIds": List,
    "DBInstanceClass": String,
    "AllocatePublicConnection": Boolean,
    "SecurityGroupId": String,
    "PreferredBackupTime": String,
    "VSwitchId": String,
    "Period": Integer,
    "PayType": String,
    "DBInstanceStorageType": String,
    "RestoreTable": String,
    "MasterUserPassword": String,
    "MasterUserType": String,
    "VpcId": String,
    "SSLSetting": String,
    "MasterUsername": String,
    "SQLCollectorStatus": String,
    "BackupRetentionPeriod": Number,
    "TableMeta": List
  }
}

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

PeriodType

String

Tidak

Tidak

Unit dari durasi langganan.

Nilai yang valid:

  • Bulan

  • Tahun

Anda harus menentukan properti ini ketika PayType diatur ke Prepaid.

Category

String

Tidak

Ya

Edisi dari instans baru.

Nilai yang valid:

  • Basic: Edisi Dasar RDS.

  • HighAvailability: Edisi Ketersediaan Tinggi RDS.

  • AlwaysOn: Edisi Kluster RDS.

PrivateIpAddress

String

Tidak

Tidak

Alamat IP pribadi dari instans baru.

Alamat IP pribadi harus berada dalam blok CIDR dari vSwitch. Secara default, sistem akan menetapkan alamat IP pribadi berdasarkan nilai VpcId dan VSwitchId.

ConnectionStringPrefix

String

Tidak

Ya

Prefiks dari titik akhir.

Prefiks harus memiliki panjang 8 hingga 64 karakter, dan dapat berisi huruf, angka, serta tanda hubung (-).

ConnectionStringType

String

Tidak

Ya

Jenis dari titik akhir.

Nilai yang valid:

  • Inner: titik akhir pribadi.

  • Public: titik akhir publik.

TimeoutInMinutes

Integer

Tidak

Tidak

Periode timeout.

Nilai yang valid:

  • 30

  • 60

  • 90

  • 120 (default)

  • 150

  • 180

  • 210

  • 240

  • 270

  • 300

  • 330

  • 360

Unit: menit.

Port

Integer

Tidak

Ya

Port dari instans baru.

Nilai yang valid: 1 hingga 65535.

DedicatedHostGroupId

String

Tidak

Tidak

ID grup host.

Tidak ada.

BackupId

String

Tidak

Tidak

ID set cadangan.

Anda harus menentukan setidaknya salah satu dari BackupId dan RestoreTime.

RestoreTime

String

Tidak

Tidak

Titik waktu ke mana Anda ingin memulihkan data. Titik waktu tersebut harus berada dalam periode retensi cadangan yang ditentukan.

Tentukan waktu dalam standar ISO 8601 dalam format yyyy-MM-ddTHH:mm:ssZ. Waktu harus dalam UTC.

Anda harus menentukan setidaknya salah satu dari BackupId dan RestoreTime.

InstanceNetworkType

String

Tidak

Tidak

Tipe jaringan dari instans baru.

Nilai yang valid:

  • VPC

  • Classic

Catatan

Secara default, nilai properti ini sama dengan tipe jaringan dari instans utama.

DbNames

String

Tidak

Tidak

Nama-nama database.

Tidak ada.

PreferredBackupPeriod

List

Tidak

Ya

Hari dalam seminggu saat sistem mencadangkan data.

Nilai yang valid:

  • Senin

  • Selasa

  • Rabu

  • Kamis

  • Jumat

  • Sabtu

  • Minggu

DBInstanceId

String

Ya

Tidak

ID instans sumber.

Tidak ada.

SecurityIPList

String

Tidak

Ya

Entri dalam daftar putih alamat IP yang mengizinkan akses ke semua database pada instans baru.

Pisahkan beberapa alamat IP dalam daftar putih dengan koma (,). Setiap alamat IP harus unik dalam daftar putih. Daftar putih dapat berisi hingga 1.000 alamat IP.

Anda dapat menentukan entri dalam daftar putih dalam format berikut:

  • Alamat IP. Contoh: 10.23.12.24.

  • Blok CIDR. Contoh: 10.23.12.24/24. Dalam contoh ini, 24 menentukan bahwa prefiks dari blok CIDR adalah 24 bit panjangnya. Anda dapat mengganti 24 dengan nilai yang berkisar antara 1 hingga 32.

DBInstanceStorage

Integer

Tidak

Ya

Kapasitas penyimpanan dari instans baru.

Unit: GB. Nilai tersebut harus dalam kelipatan 5 GB.

Untuk informasi lebih lanjut, lihat Tipe instans utama ApsaraDB RDS.

Catatan

Secara default, nilai properti ini sama dengan kapasitas penyimpanan dari instans utama.

BackupType

String

Tidak

Tidak

Tipe cadangan.

Nilai yang valid:

  • FullBackup

  • IncrementalBackup

DBMappings

List

Tidak

Tidak

Database pada instans baru.

Untuk informasi lebih lanjut, lihat Properti DBMappings.

MaintainTime

String

Tidak

Tidak

Jendela pemeliharaan dari instans baru.

Tentukan waktu dalam standar ISO 8601 dalam format HH:mmZ-HH:mmZ. Waktu harus dalam UTC.

Tags

Map

Tidak

Ya

Tag.

Tidak ada.

DBInstanceDescription

String

Tidak

Ya

Deskripsi dari instans baru.

Deskripsi harus memiliki panjang 2 hingga 256 karakter. Harus dimulai dengan huruf dan tidak boleh dimulai dengan http:// atau https://. Dapat berisi huruf, angka, garis bawah (_), dan tanda hubung (-).

ZoneId

String

Tidak

Tidak

ID zona dari instans baru.

Secara default, nilai properti ini sama dengan ID zona dari instans sumber.

SlaveZoneIds

List

Tidak

Tidak

ID zona sekunder dari instans baru yang menjalankan Edisi Ketersediaan Tinggi RDS atau Edisi Perusahaan RDS.

Anda dapat menentukan hingga dua ID zona sekunder. Sebagai contoh, Anda dapat menentukan ["zone-b"] atau ["zone-b", "zone-c"] sebagai nilai properti ini.

Anda harus menentukan vSwitch di setiap zona utama atau sekunder. Sebagai contoh, jika Anda mengatur ZoneId ke "zone-a" dan SlaveZoneIds ke ["zone-c", "zone-b"], Anda harus menentukan ID vSwitch dalam format berikut: "vsw-zone-a,vsw-zone-c,vsw-zone-b".

Jika Anda ingin sistem secara otomatis memilih zona sekunder, atur SlaveZoneIds ke ["Auto"] atau ["Auto", "Auto"]. Dalam hal ini, jika Anda menentukan ID vSwitch untuk zona utama, sistem secara otomatis membuat vSwitch di zona sekunder.

DBInstanceClass

String

Tidak

Ya

Tipe instans dari instans baru.

Untuk informasi lebih lanjut, lihat Tipe instans utama ApsaraDB RDS.

Catatan

Secara default, nilai properti ini sama dengan tipe instans dari instans utama.

AllocatePublicConnection

Boolean

Tidak

Tidak

Menentukan apakah akan mengajukan titik akhir publik untuk instans baru.

Nilai yang valid:

  • true

  • false

SecurityGroupId

String

Tidak

Ya

ID grup keamanan yang ingin Anda asosiasikan dengan instans baru.

Anda dapat mengaitkan instans dengan hingga tiga grup keamanan. Pisahkan beberapa grup keamanan dengan koma (,).

Jika Anda ingin melepaskan instans dari semua grup keamanan, biarkan properti ini kosong.

PreferredBackupTime

String

Tidak

Ya

Waktu cadangan.

Tentukan waktu dalam standar ISO 8601 dalam format HH:mmZ- HH:mmZ.

Nilai yang valid: 00:00Z-01:00Z, 01:00Z-02:00Z, 02:00Z-03:00Z, 03:00Z-04:00Z, 04:00Z-05:00Z, 05:00Z-06:00Z, 06:00Z-07:00Z, 07:00Z-08:00Z, 08:00Z-09:00Z, 09:00Z-10:00Z, 10:00Z-11:00Z, 11:00Z-12:00Z, 12:00Z-13:00Z, 13:00Z-14:00Z, 14:00Z-15:00Z, 15:00Z-16:00Z, 16:00Z-17:00Z, 17:00Z-18:00Z, 18:00Z-19:00Z, 19:00Z-20:00Z, 20:00Z-21:00Z, 21:00Z-22:00Z, 22:00Z-23:00Z, dan 23:00Z-24:00Z.

VSwitchId

String

Tidak

Tidak

ID vSwitch.

Tidak ada.

Period

Integer

Tidak

Tidak

Durasi langganan.

  • Nilai yang valid ketika PeriodType diatur ke Tahun: 1 hingga 5.

  • Nilai yang valid ketika PeriodType diatur ke Bulan: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 24, 36, 48, dan 60.

PayType

String

Ya

Tidak

Metode penagihan dari instans baru.

Nilai yang valid:

  • Postpaid: bayar sesuai pemakaian.

  • Prepaid: berlangganan.

DBInstanceStorageType

String

Tidak

Ya

Tipe penyimpanan dari instans baru.

Nilai yang valid:

  • local_ssd atau ephemeral_ssd: SSD lokal.

  • cloud_ssd: SSD standar.

  • cloud_essd: SSD Perusahaan (ESSD).

RestoreTable

String

Tidak

Tidak

Menentukan apakah akan memulihkan database dan tabel.

Nilai 1 menentukan bahwa database dan tabel dipulihkan. Nilai lainnya menentukan bahwa database dan tabel tidak dipulihkan.

MasterUserPassword

String

Tidak

Ya

Kata sandi akun manajemen database dari instans baru.

Kata sandi harus memiliki panjang 8 hingga 32 karakter, dan dapat berisi huruf, angka, serta garis bawah (_).

MasterUserType

String

Tidak

Tidak

Tipe akun manajemen database.

Nilai yang valid:

  • Normal (default): akun standar.

  • Super: akun istimewa.

  • Sysadmin: akun admin sistem.

    Catatan

    Akun admin sistem hanya mendukung database SQL Server.

VpcId

String

Tidak

Tidak

ID VPC.

Tidak ada.

SSLSetting

String

Tidak

Tidak

Pengaturan koneksi SSL dari instans baru.

Nilai yang valid:

  • Disabled (default): menonaktifkan pengaturan koneksi SSL dari instans baru.

  • EnabledForPublicConnection: mengaktifkan pengaturan koneksi SSL dari instans baru. Sertifikat SSL digunakan untuk melindungi titik akhir publik.

    Catatan

    Jika Anda mengatur properti ini ke EnabledForPublicConnection, atur AllocatePublicConnection ke true.

  • EnabledForInnerConnection: mengaktifkan pengaturan koneksi SSL dari instans baru. Sertifikat SSL digunakan untuk melindungi titik akhir pribadi.

MasterUsername

String

Tidak

Ya

Nama pengguna akun manajemen database dari instans baru.

Nama pengguna harus unik.

Panjangnya bisa hingga 16 karakter, dan dapat berisi huruf, angka, serta garis bawah (_). Harus dimulai dengan huruf.

SQLCollectorStatus

String

Tidak

Ya

Menentukan apakah akan mengaktifkan SQL Explorer dan Audit.

Nilai yang valid:

  • Enable

  • Disabled

BackupRetentionPeriod

Number

Tidak

Ya

Periode retensi data cadangan.

Nilai yang valid: 7 hingga 30.

Unit: hari.

Nilai default: 7.

TableMeta

List

Tidak

Tidak

Informasi tentang database dan tabel yang ingin Anda pulihkan.

Untuk informasi lebih lanjut, lihat Properti TableMeta.

Sintaks DBMappings

"DBMappings": [
  {
    "CharacterSetName": String,
    "DBDescription": String,
    "DBName": String
  }
]

Properti DBMappings

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

CharacterSetName

String

Ya

Tidak

Set karakter.

  • Nilai yang valid ketika MySQL digunakan:

    • utf8

    • gbk

    • latin1

    • utf8mb4 (berlaku untuk versi 5.5 dan 5.6)

  • Nilai yang valid ketika SQL Server digunakan:

    • Chinese_PRC_CI_AS

    • Chinese_PRC_CS_AS

    • SQL_Latin1_General_CP1_CI_AS

    • SQL_Latin1_General_CP1_CS_AS

    • Chinese_PRC_BIN

DBName

String

Ya

Tidak

Nama database.

Nama tersebut harus unik.

Panjangnya bisa hingga 64 karakter, dan dapat berisi huruf, angka, serta garis bawah (_). Harus dimulai dengan huruf.

DBDescription

String

Tidak

Tidak

Deskripsi database.

Deskripsi harus memiliki panjang 2 hingga 256 karakter. Harus dimulai dengan huruf dan tidak boleh dimulai dengan http:// atau https://. Dapat berisi huruf, angka, garis bawah (_), dan tanda hubung (-).

Sintaks TableMeta

"TableMeta": [
  {
    "Type": String,
    "Name": String,
    "NewName": String,
    "Tables": List
  }
]

Properti TableMeta

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Type

String

Tidak

Tidak

Tipe.

Atur nilainya menjadi db.

Name

String

Tidak

Tidak

Nama asli dari database.

Tidak ada.

NewName

String

Tidak

Tidak

Nama baru dari database.

Tidak ada.

Tables

List

Tidak

Tidak

Tabel yang ingin Anda pulihkan.

Untuk informasi lebih lanjut, lihat Properti Tables.

Sintaks Tables

"Tables": [
  {
    "Type": String,
    "Name": String,
    "NewName": String
  }
]

Properti Tables

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Type

String

Tidak

Tidak

Tipe.

Atur nilainya menjadi table.

Name

String

Tidak

Tidak

Nama asli dari tabel.

Tidak ada.

NewName

String

Tidak

Tidak

Nama baru dari tabel.

Tidak ada.

Nilai Kembali

Fn::GetAtt

  • InnerConnectionString: Titik akhir internal dari instans baru.

  • DBInstanceId: ID dari instans baru.

  • InnerIPAddress: Alamat IP pribadi dari instans baru.

  • PublicConnectionString: Titik akhir publik dari instans baru.

  • PublicIPAddress: Alamat IP publik dari instans baru.

  • PublicPort: Port publik dari instans baru.

  • InnerPort: Port internal dari instans baru.

Contoh

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
 PeriodType:
  Type: String
  Description: Periode pembayaran untuk instans yang dibuat.
  AllowedValues:
   - Month
   - Year
  Default: Month
 Category:
  Type: String
  Description: |-
   Edisi dari instans. Nilai yang valid:
   Basic: menentukan untuk menggunakan Edisi Dasar.
   HighAvailability: menentukan untuk menggunakan Edisi Ketersediaan Tinggi.
   AlwaysOn: menentukan untuk menggunakan Edisi Kluster.
   Finance: menentukan untuk menggunakan Edisi Perusahaan.
  AllowedValues:
   - Basic
   - HighAvailability
   - AlwaysOn
   - Finance
 PrivateIpAddress:
  Type: String
  Description: Alamat IP pribadi untuk instans yang dibuat.
 DedicatedHostGroupId:
  Type: String
  Description: >-
   ID grup host tempat instans milik jika Anda membuat instans dalam grup host.
 Port:
  Type: Number
  Description: Port layanan database.
  MinValue: 1
  MaxValue: 65535
 BackupId:
  Type: String
  Description: >-
   ID set cadangan yang ingin Anda gunakan.

   Anda dapat memanggil operasi DescribeBackups untuk menanyakan daftar set cadangan terbaru.

   Catatan Anda harus menentukan setidaknya salah satu parameter BackupId dan RestoreTime.
 InstanceNetworkType:
  Type: String
  Description: |-
   Jenis jaringan dari instans baru. Nilai yang valid:
   - VPC
   - Classic
   Nilai default adalah jenis jaringan dari instans asli.
 RestoreTime:
  Type: String
  Description: >-
   Titik waktu ke mana Anda ingin memulihkan data dari instans asli.

   Titik waktu tersebut harus berada dalam periode retensi cadangan log yang ditentukan.

   Waktu mengikuti standar ISO 8601 dalam format yyyy-MM-ddTHH:mm:ssZ.

   Waktu harus dalam UTC.
 PreferredBackupPeriod:
  Type: CommaDelimitedList
  Description: >-
   Periode cadangan. Pisahkan beberapa nilai dengan koma (,). Nilai default adalah nilai aslinya. Nilai yang valid: Senin Selasa Rabu Kamis Jumat Sabtu Minggu Catatan Ketika parameter BackupPolicyMode diatur ke DataBackupPolicy, parameter ini diperlukan.
 DbNames:
  Type: String
  Description: Nama-nama database yang ingin Anda buat pada instans baru.
 DBInstanceId:
  Type: String
  Description: ID instans
 SecurityIPList:
  Type: String
  Description: >-
   IP keamanan untuk mengakses instans database, gabungkan dengan koma, 0.0.0.0/0 berarti tidak ada batasan.
 DBInstanceStorage:
  Type: Number
  Description: >-
   Ukuran penyimpanan instans database. mysql adalah [5,1000]. sql server 2008r2 adalah
   [10,1000], sql server 2012/2012_web/2016-web adalah [20,1000]. PostgreSQL dan
   PPAS adalah [5,2000]. Bertambah setiap 5 GB, Unit dalam GB
 BackupType:
  Type: String
  Description: |-
   Jenis cadangan yang digunakan oleh instans baru. Nilai yang valid:
   - FullBackup: cadangan penuh
   - IncrementalBackup: cadangan tambahan
  AllowedValues:
   - FullBackup
   - IncrementalBackup
 DBMappings:
  Type: Json
  Description: Pemetaan database untuk dilampirkan ke instans db.
 ConnectionStringPrefix:
  Type: String
  Description: >-
   Awalan dari titik akhir.

   Hanya awalan dari nilai parameter CurrentConnectionString yang dapat dimodifikasi.

   Awalan harus memiliki panjang 8 hingga 64 karakter dan dapat berisi huruf,
   angka, serta tanda hubung (-).
  AllowedPattern: '[a-zA-Z0-9-]{8,64}'
 MaintainTime:
  Type: String
  Description: >-
   Periode selama pemeliharaan dilakukan. Formatnya adalah
   HH:mmZ-HH:mmZ.
 Tags:
  Type: Json
  Description: >-
   Tag dari sebuah instans.

   Anda harus memasukkan informasi tag dengan format Key-Value, seperti {"key1":"value1","key2":"value2", ... "key5":"value5"}.

   Maksimal 5 tag dapat ditentukan.

   Key

   Panjangnya bisa hingga 64 karakter.

   Tidak boleh dimulai dengan aliyun.

   Tidak boleh dimulai dengan http:// atau https://.

   Tidak boleh berupa string kosong.

   Value

   Panjangnya bisa hingga 128 karakter.

   Tidak boleh dimulai dengan aliyun.

   Tidak boleh dimulai dengan http:// atau https://.

   Bisa berupa string kosong.
 DBInstanceDescription:
  Type: String
  Description: Deskripsi instans database yang dibuat.
 ZoneId:
  Type: String
  Description: >-
   zona terpilih untuk membuat instans database. Anda tidak dapat menetapkan parameter ZoneId
   jika parameter MultiAZ disetel ke true.
 SlaveZoneIds:
  Type: Json
  Description: >-
   Daftar ID zona sekunder dapat menentukan ID zona sekunder saat membuat
   instans edisi ketersediaan tinggi atau edisi perusahaan. Sementara itu, VSwitchId
   perlu meneruskan ID vswitch yang sesuai ke zona sekunder secara berurutan.
   Sebagai contoh, ZoneId = "zone-a" dan SlaveZoneIds = ["zone-c", "zone-b"],
   maka VSwitchId harus "vsw-zone-a,vsw-zone-c,vsw-zone-b". Tentu saja,
   Anda juga dapat memilih alokasi otomatis, misalnya, ZoneId = "zone-a"
   dan SlaveZoneIds = ["Auto", "Auto"], maka VSwitchId harus
   "vsw-zone-a,Auto,Auto". Daftar tersebut berisi hingga 2 ID zona sekunder,
   dipisahkan dengan koma.
  MaxLength: 2
 DBInstanceClass:
  Type: String
  Description: >-
   Jenis instans database. Lihat referensi jenis instans database RDS,
   seperti 'rds.mys2.large', 'rds.mss1.large', 'rds.pg.s1.small' dll
 AllocatePublicConnection:
  Type: Boolean
  Description: 'Jika benar, alokasikan koneksi publik secara otomatis.'
  AllowedValues:
   - 'True'
   - 'true'
   - 'False'
   - 'false'
 PreferredBackupTime:
  Type: String
  Description: >-
   Waktu ketika tugas cadangan dilakukan. Format:
   yyyy-MM-ddZ-HH:mm:ssZ.Catatan Ketika parameter BackupPolicyMode diatur ke
   DataBackupPolicy, parameter ini diperlukan.
 VSwitchId:
  Type: String
  Description: >-
   ID vSwitch dari instans yang dibuat. Untuk jaringan VPC, properti ini
   diperlukan.
 SecurityGroupId:
  Type: String
  Description: |
   ID grup keamanan ECS.
   Setiap instans RDS dapat dikaitkan dengan hingga tiga grup keamanan ECS.
   Anda harus memisahkannya dengan koma (,).
   Untuk menghapus grup Keamanan ECS, biarkan parameter ini kosong.
 Period:
  Type: Number
  Description: >-
   Periode prabayar. Saat memilih pembayaran bulanan, bisa dari 1 hingga
   12, 24, 36, 48, 60. Saat memilih pembayaran tahunan, bisa dari 1 hingga 5.
  MinValue: 1
  MaxValue: 60
  Default: 1
 PayType:
  Type: String
  Description: Jenis pembayaran dari instans yang dibuat.
  AllowedValues:
   - Prepaid
   - Postpaid
  Default: Postpaid
 DBInstanceStorageType:
  Type: String
  Description: >-
   Jenis penyimpanan dari instans. Nilai yang valid:

   local_ssd: menentukan untuk menggunakan SSD lokal. Ini adalah jenis penyimpanan yang direkomendasikan.

   cloud_ssd: menentukan untuk menggunakan SSD standar.

   cloud_essd: menentukan untuk menggunakan SSD yang ditingkatkan (ESSD).
 ConnectionStringType:
  Type: String
  Description: 'Jenis titik akhir dari instans, nilai yang diizinkan: Inner, Public'
  AllowedValues:
   - Inner
   - Public
  Default: Inner
 RestoreTable:
  Type: String
  Description: >-
   Menentukan apakah akan memulihkan database dan tabel tertentu.

   Nilai 1 menentukan untuk memulihkan database dan tabel tertentu.

   Jika Anda tidak ingin memulihkan database atau tabel tertentu, Anda dapat memilih
   untuk tidak menentukan parameter ini.
 MasterUserPassword:
  Type: String
  Description: 'Kata sandi utama untuk instans database. '
  MinLength: 8
  MaxLength: 32
 MasterUserType:
  Type: String
  Description: |-
   Jenis hak istimewa akun.
   Normal: Hak istimewa umum.
   Super: Hak istimewa tinggi.
   Sysadmin: Hak istimewa super (SA) (hanya didukung oleh SQL Server)
   Nilai default adalah Normal.
  AllowedValues:
   - Normal
   - Super
   - Sysadmin
  Default: Normal
 VpcId:
  Type: String
  Description: >-
   ID VPC dari instans database yang dibuat. Untuk jaringan VPC, properti ini
   diperlukan.
 SSLSetting:
  Type: String
  Description: >-
   Pengaturan tautan Secure Sockets Layer (SSL) dari instans. Nilai yang valid:

   Disabled: Nonaktifkan SSL

   EnabledForPublicConnection: Alamat koneksi publik akan dilindungi oleh
   sertifikat SSL. Memerlukan AllocatePublicConnection diatur ke true.

   EnabledForInnerConnection: Alamat koneksi pribadi akan dilindungi oleh
   sertifikat SSL.

   Nilai default adalah Disabled.
  AllowedValues:
   - Disabled
   - EnabledForPublicConnection
   - EnabledForInnerConnection
  Default: Disabled
 MasterUsername:
  Type: String
  Description: 'Nama pengguna utama untuk instans database. '
 SQLCollectorStatus:
  Type: String
  Description: >-
   Menentukan apakah akan mengaktifkan atau menonaktifkan fitur SQL Explorer (audit SQL).

   Nilai yang valid: Enable | Disabled.
  AllowedValues:
   - Enable
   - Disabled
 BackupRetentionPeriod:
  Type: Number
  Description: >-
   Periode retensi data cadangan. Rentang nilai: 7 hingga 730. Nilai default adalah nilai aslinya. Catatan Ketika parameter BackupPolicyMode diatur ke LogBackupPolicy, parameter ini diperlukan.
  Default: 7
 TableMeta:
  Type: Json
  Description: Informasi tentang database dan tabel yang ingin Anda pulihkan.
 TimeoutInMinutes:
  Type: Number
  Description: >-
   Periode timeout untuk membuat sumber daya instans klon. Unit: Menit. Default: 120.
  AllowedValues:
   - 30
   - 60
   - 90
   - 120
   - 150
   - 180
   - 210
   - 240
   - 270
   - 300
   - 330
   - 360
  Default: 120
Resources:
 DbInstanceClone:
  Type: 'ALIYUN::RDS::DBInstanceClone'
  Properties:
   PeriodType:
    Ref: PeriodType
   Category:
    Ref: Category
   PrivateIpAddress:
    Ref: PrivateIpAddress
   DedicatedHostGroupId:
    Ref: DedicatedHostGroupId
   Port:
    Ref: Port
   BackupId:
    Ref: BackupId
   InstanceNetworkType:
    Ref: InstanceNetworkType
   RestoreTime:
    Ref: RestoreTime
   PreferredBackupPeriod:
    Ref: PreferredBackupPeriod
   DbNames:
    Ref: DbNames
   DBInstanceId:
    Ref: DBInstanceId
   SecurityIPList:
    Ref: SecurityIPList
   DBInstanceStorage:
    Ref: DBInstanceStorage
   BackupType:
    Ref: BackupType
   DBMappings:
    Ref: DBMappings
   ConnectionStringPrefix:
    Ref: ConnectionStringPrefix
   MaintainTime:
    Ref: MaintainTime
   Tags:
    Ref: Tags
   DBInstanceDescription:
    Ref: DBInstanceDescription
   ZoneId:
    Ref: ZoneId
   SlaveZoneIds:
    Ref: SlaveZoneIds
   DBInstanceClass:
    Ref: DBInstanceClass
   AllocatePublicConnection:
    Ref: AllocatePublicConnection
   PreferredBackupTime:
    Ref: PreferredBackupTime
   VSwitchId:
    Ref: VSwitchId
   SecurityGroupId:
    Ref: SecurityGroupId
   Period:
    Ref: Period
   PayType:
    Ref: PayType
   DBInstanceStorageType:
    Ref: DBInstanceStorageType
   ConnectionStringType:
    Ref: ConnectionStringType
   RestoreTable:
    Ref: RestoreTable
   MasterUserPassword:
    Ref: MasterUserPassword
   MasterUserType:
    Ref: MasterUserType
   VpcId:
    Ref: VpcId
   SSLSetting:
    Ref: SSLSetting
   MasterUsername:
    Ref: MasterUsername
   SQLCollectorStatus:
    Ref: SQLCollectorStatus
   BackupRetentionPeriod:
    Ref: BackupRetentionPeriod
   TableMeta:
    Ref: TableMeta
   TimeoutInMinutes:
    Ref: TimeoutInMinutes
Outputs:
 InnerConnectionString:
  Description: URL koneksi instans DB melalui Intranet.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - InnerConnectionString
 DBInstanceId:
  Description: ID instans dari instans database yang dibuat.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - DBInstanceId
 InnerIPAddress:
  Description: Alamat IP untuk instans DB yang dibuat melalui Intranet.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - InnerIPAddress
 PublicConnectionString:
  Description: URL koneksi instans DB melalui Internet.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - PublicConnectionString
 PublicIPAddress:
  Description: Alamat IP untuk instans DB yang dibuat melalui Internet.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - PublicIPAddress
 PublicPort:
  Description: Port Internet dari instans DB yang dibuat.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - PublicPort
 InnerPort:
  Description: Port Intranet dari instans DB yang dibuat.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - InnerPort
{
 "ROSTemplateFormatVersion": "2015-09-01",
 "Parameters": {
  "PeriodType": {
   "Type": "String",
   "Description": "Periode pembayaran untuk instans yang dibuat.",
   "AllowedValues": [
    "Month",
    "Year"
   ],
   "Default": "Month"
  },
  "Category": {
   "Type": "String",
   "Description": "Edisi dari instans. Nilai yang valid:\nBasic: menentukan untuk menggunakan Edisi Dasar.\nHighAvailability: menentukan untuk menggunakan Edisi Ketersediaan Tinggi.\nAlwaysOn: menentukan untuk menggunakan Edisi Kluster.\nFinance: menentukan untuk menggunakan Edisi Perusahaan.",
   "AllowedValues": [
    "Basic",
    "HighAvailability",
    "AlwaysOn",
    "Finance"
   ]
  },
  "PrivateIpAddress": {
   "Type": "String",
   "Description": "Alamat IP pribadi untuk instans yang dibuat."
  },
  "DedicatedHostGroupId": {
   "Type": "String",
   "Description": "ID grup host tempat instans milik jika Anda membuat instans dalam grup host."
  },
  "Port": {
   "Type": "Number",
   "Description": "Port layanan database.",
   "MinValue": 1,
   "MaxValue": 65535
  },
  "BackupId": {
   "Type": "String",
   "Description": "ID set cadangan yang ingin Anda gunakan. \nAnda dapat memanggil operasi DescribeBackups untuk menanyakan daftar set cadangan terbaru. \nCatatan Anda harus menentukan setidaknya salah satu parameter BackupId dan RestoreTime."
  },
  "InstanceNetworkType": {
   "Type": "String",
   "Description": "Jenis jaringan dari instans baru. Nilai yang valid: \n- VPC \n- Classic \nNilai default adalah jenis jaringan dari instans asli."
  },
  "RestoreTime": {
   "Type": "String",
   "Description": "Titik waktu ke mana Anda ingin memulihkan data dari instans asli. \nTitik waktu tersebut harus berada dalam periode retensi cadangan log yang ditentukan. \nWaktu mengikuti standar ISO 8601 dalam format yyyy-MM-ddTHH:mm:ssZ. \nWaktu harus dalam UTC."
  },
  "PreferredBackupPeriod": {
   "Type": "CommaDelimitedList",
   "Description": "Periode cadangan. Pisahkan beberapa nilai dengan koma (,). Nilai default adalah nilai aslinya. Nilai yang valid: Senin Selasa Rabu Kamis Jumat Sabtu Minggu Catatan Ketika parameter BackupPolicyMode diatur ke DataBackupPolicy, parameter ini diperlukan."
  },
  "DbNames": {
   "Type": "String",
   "Description": "Nama-nama database yang ingin Anda buat pada instans baru."
  },
  "DBInstanceId": {
   "Type": "String",
   "Description": "ID instans"
  },
  "SecurityIPList": {
   "Type": "String",
   "Description": "IP keamanan untuk mengakses instans database, gabungkan dengan koma, 0.0.0.0/0 berarti tidak ada batasan."
  },
  "DBInstanceStorage": {
   "Type": "Number",
   "Description": "Ukuran penyimpanan instans database. mysql adalah [5,1000]. sql server 2008r2 adalah [10,1000], sql server 2012/2012_web/2016-web adalah [20,1000]. PostgreSQL dan PPAS adalah [5,2000]. Bertambah setiap 5 GB, Unit dalam GB"
  },
  "BackupType": {
   "Type": "String",
   "Description": "Jenis cadangan yang digunakan oleh instans baru. Nilai yang valid: \n - FullBackup: cadangan penuh \n - IncrementalBackup: cadangan tambahan",
   "AllowedValues": [
    "FullBackup",
    "IncrementalBackup"
   ]
  },
  "DBMappings": {
   "Type": "Json",
   "Description": "Pemetaan database untuk dilampirkan ke instans db."
  },
  "ConnectionStringPrefix": {
   "Type": "String",
   "Description": "Awalan dari titik akhir. \nHanya awalan dari nilai parameter CurrentConnectionString yang dapat dimodifikasi.\nAwalan harus memiliki panjang 8 hingga 64 karakter dan dapat berisi huruf, angka, serta tanda hubung (-). ",
   "AllowedPattern": "[a-zA-Z0-9-]{8,64}"
  },
  "MaintainTime": {
   "Type": "String",
   "Description": "Periode selama pemeliharaan dilakukan. Formatnya adalah HH:mmZ-HH:mmZ."
  },
  "Tags": {
   "Type": "Json",
   "Description": "Tag dari sebuah instans.\nAnda harus memasukkan informasi tag dengan format Key-Value, seperti {\"key1\":\"value1\",\"key2\":\"value2\", ... \"key5\":\"value5\"}.\nMaksimal 5 tag dapat ditentukan.\nKey\nPanjangnya bisa hingga 64 karakter.\nTidak boleh dimulai dengan aliyun.\nTidak boleh dimulai dengan http:// atau https://.\nTidak boleh berupa string kosong.\nValue\nPanjangnya bisa hingga 128 karakter.\nTidak boleh dimulai dengan aliyun.\nTidak boleh dimulai dengan http:// atau https://.\nBisa berupa string kosong."
  },
  "DBInstanceDescription": {
   "Type": "String",
   "Description": "Deskripsi instans database yang dibuat."
  },
  "ZoneId": {
   "Type": "String",
   "Description": "zona terpilih untuk membuat instans database. Anda tidak dapat menetapkan parameter ZoneId jika parameter MultiAZ disetel ke true."
  },
    "SlaveZoneIds": {
     "Type": "Json",
     "Description": "Daftar ID zona sekunder dapat menentukan ID zona sekunder saat membuat instans edisi ketersediaan tinggi atau edisi perusahaan. Sementara itu, VSwitchId perlu meneruskan ID vswitch yang sesuai ke zona sekunder secara berurutan. Sebagai contoh, ZoneId = \"zone-a\" dan SlaveZoneIds = [\"zone-c\", \"zone-b\"], maka VSwitchId harus \"vsw-zone-a,vsw-zone-c,vsw-zone-b\". Tentu saja, Anda juga dapat memilih alokasi otomatis, misalnya, ZoneId = \"zone-a\" dan SlaveZoneIds = [\"Auto\", \"Auto\"], maka VSwitchId harus \"vsw-zone-a,Auto,Auto\". Daftar tersebut berisi hingga 2 ID zona sekunder, dipisahkan dengan koma.",
     "MaxLength": 2
    },
  "DBInstanceClass": {
   "Type": "String",
   "Description": "Jenis instans database. Lihat referensi jenis instans database RDS, seperti 'rds.mys2.large', 'rds.mss1.large', 'rds.pg.s1.small' dll"
  },
  "AllocatePublicConnection": {
   "Type": "Boolean",
   "Description": "Jika benar, alokasikan koneksi publik secara otomatis.",
   "AllowedValues": [
    "True",
    "true",
    "False",
    "false"
   ]
  },
  "PreferredBackupTime": {
   "Type": "String",
   "Description": "Waktu ketika tugas cadangan dilakukan. Format: yyyy-MM-ddZ-HH:mm:ssZ.Catatan Ketika parameter BackupPolicyMode diatur ke DataBackupPolicy, parameter ini diperlukan."
  },
  "VSwitchId": {
   "Type": "String",
   "Description": "ID vSwitch dari instans yang dibuat. Untuk jaringan VPC, properti ini diperlukan."
  },
  "SecurityGroupId": {
   "Type": "String",
   "Description": "ID grup keamanan ECS. \nSetiap instans RDS dapat dikaitkan dengan hingga tiga grup keamanan ECS. \nAnda harus memisahkannya dengan koma (,). \nUntuk menghapus grup Keamanan ECS, biarkan parameter ini kosong. \n"
  },
  "Period": {
   "Type": "Number",
   "Description": "Periode prabayar. Saat memilih pembayaran bulanan, bisa dari 1 hingga 12, 24, 36, 48, 60. Saat memilih pembayaran tahunan, bisa dari 1 hingga 5.",
   "MinValue": 1,
   "MaxValue": 60,
   "Default": 1
  },
  "PayType": {
   "Type": "String",
   "Description": "Jenis pembayaran dari instans yang dibuat.",
   "AllowedValues": [
    "Prepaid",
    "Postpaid"
   ],
   "Default": "Postpaid"
  },
  "DBInstanceStorageType": {
   "Type": "String",
   "Description": "Jenis penyimpanan dari instans. Nilai yang valid:\nlocal_ssd: menentukan untuk menggunakan SSD lokal. Ini adalah jenis penyimpanan yang direkomendasikan.\ncloud_ssd: menentukan untuk menggunakan SSD standar.\ncloud_essd: menentukan untuk menggunakan SSD yang ditingkatkan (ESSD)."
  },
  "ConnectionStringType": {
   "Type": "String",
   "Description": "Jenis titik akhir dari instans, nilai yang diizinkan: Inner, Public",
   "AllowedValues": [
    "Inner",
    "Public"
   ],
   "Default": "Inner"
  },
  "RestoreTable": {
   "Type": "String",
   "Description": "Menentukan apakah akan memulihkan database dan tabel tertentu. \nNilai 1 menentukan untuk memulihkan database dan tabel tertentu. \nJika Anda tidak ingin memulihkan database atau tabel tertentu, Anda dapat memilih untuk tidak menentukan parameter ini."
  },
  "MasterUserPassword": {
   "Type": "String",
   "Description": "Kata sandi utama untuk instans database. ",
   "MinLength": 8,
   "MaxLength": 32
  },
  "MasterUserType": {
   "Type": "String",
   "Description": "Jenis hak istimewa akun.\n Normal: Hak istimewa umum. \n Super: Hak istimewa tinggi. \nSysadmin: Hak istimewa super (SA) (hanya didukung oleh SQL Server)\nNilai default adalah Normal.",
   "AllowedValues": [
    "Normal",
    "Super",
    "Sysadmin"
   ],
   "Default": "Normal"
  },
  "VpcId": {
   "Type": "String",
   "Description": "ID VPC dari instans database yang dibuat. Untuk jaringan VPC, properti ini diperlukan."
  },
  "SSLSetting": {
   "Type": "String",
   "Description": "Pengaturan tautan Secure Sockets Layer (SSL) dari instans. Nilai yang valid:\nDisabled: Nonaktifkan SSL\nEnabledForPublicConnection: Alamat koneksi publik akan dilindungi oleh sertifikat SSL. Memerlukan AllocatePublicConnection diatur ke true.\nEnabledForInnerConnection: Alamat koneksi pribadi akan dilindungi oleh sertifikat SSL.\nNilai default adalah Disabled.",
   "AllowedValues": [
    "Disabled",
    "EnabledForPublicConnection",
    "EnabledForInnerConnection"
   ],
   "Default": "Disabled"
  },
  "MasterUsername": {
   "Type": "String",
   "Description": "Nama pengguna utama untuk instans database. "
  },
  "SQLCollectorStatus": {
   "Type": "String",
   "Description": "Menentukan apakah akan mengaktifkan atau menonaktifkan fitur SQL Explorer (audit SQL). \nNilai yang valid: Enable | Disabled.",
   "AllowedValues": [
    "Enable",
    "Disabled"
   ]
  },
  "BackupRetentionPeriod": {
   "Type": "Number",
   "Description": "Periode retensi data cadangan. Rentang nilai: 7 hingga 730. Nilai default adalah nilai aslinya. Catatan Ketika parameter BackupPolicyMode diatur ke LogBackupPolicy, parameter ini diperlukan.",
   "Default": 7
  },
  "TableMeta": {
   "Type": "Json",
   "Description": "Informasi tentang database dan tabel yang ingin Anda pulihkan."
  },
  "TimeoutInMinutes": {
   "Type": "Number",
   "Description": "Periode timeout untuk membuat sumber daya instans klon. Unit: Menit. Default: 120.",
   "AllowedValues": [
    30,
    60,
    90,
    120,
    150,
    180,
    210,
    240,
    270,
    300,
    330,
    360
   ],
   "Default": 120
  }
 },
 "Resources": {
  "DbInstanceClone": {
   "Type": "ALIYUN::RDS::DBInstanceClone",
   "Properties": {
    "PeriodType": {
     "Ref": "PeriodType"
    },
    "Category": {
     "Ref": "Category"
    },
    "PrivateIpAddress": {
     "Ref": "PrivateIpAddress"
    },
    "DedicatedHostGroupId": {
     "Ref": "DedicatedHostGroupId"
    },
    "Port": {
     "Ref": "Port"
    },
    "BackupId": {
     "Ref": "BackupId"
    },
    "InstanceNetworkType": {
     "Ref": "InstanceNetworkType"
    },
    "RestoreTime": {
     "Ref": "RestoreTime"
    },
    "PreferredBackupPeriod": {
     "Ref": "PreferredBackupPeriod"
    },
    "DbNames": {
     "Ref": "DbNames"
    },
        "SlaveZoneIds": {
         "Ref": "SlaveZoneIds"
        },
    "DBInstanceId": {
     "Ref": "DBInstanceId"
    },
    "SecurityIPList": {
     "Ref": "SecurityIPList"
    },
    "DBInstanceStorage": {
     "Ref": "DBInstanceStorage"
    },
    "BackupType": {
     "Ref": "BackupType"
    },
    "DBMappings": {
     "Ref": "DBMappings"
    },
    "ConnectionStringPrefix": {
     "Ref": "ConnectionStringPrefix"
    },
    "MaintainTime": {
     "Ref": "MaintainTime"
    },
    "Tags": {
     "Ref": "Tags"
    },
    "DBInstanceDescription": {
     "Ref": "DBInstanceDescription"
    },
    "ZoneId": {
     "Ref": "ZoneId"
    },
    "DBInstanceClass": {
     "Ref": "DBInstanceClass"
    },
    "AllocatePublicConnection": {
     "Ref": "AllocatePublicConnection"
    },
    "PreferredBackupTime": {
     "Ref": "PreferredBackupTime"
    },
    "VSwitchId": {
     "Ref": "VSwitchId"
    },
    "SecurityGroupId": {
     "Ref": "SecurityGroupId"
    },
    "Period": {
     "Ref": "Period"
    },
    "PayType": {
     "Ref": "PayType"
    },
    "DBInstanceStorageType": {
     "Ref": "DBInstanceStorageType"
    },
    "ConnectionStringType": {
     "Ref": "ConnectionStringType"
    },
    "RestoreTable": {
     "Ref": "RestoreTable"
    },
    "MasterUserPassword": {
     "Ref": "MasterUserPassword"
    },
    "MasterUserType": {
     "Ref": "MasterUserType"
    },
    "VpcId": {
     "Ref": "VpcId"
    },
    "SSLSetting": {
     "Ref": "SSLSetting"
    },
    "MasterUsername": {
     "Ref": "MasterUsername"
    },
    "SQLCollectorStatus": {
     "Ref": "SQLCollectorStatus"
    },
    "BackupRetentionPeriod": {
     "Ref": "BackupRetentionPeriod"
    },
    "TableMeta": {
     "Ref": "TableMeta"
    },
    "TimeoutInMinutes": {
     "Ref": "TimeoutInMinutes"
    }
   }
  }
 },
 "Outputs": {
  "InnerConnectionString": {
   "Description": "URL koneksi instans DB melalui Intranet.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "InnerConnectionString"
    ]
   }
  },
  "DBInstanceId": {
   "Description": "ID instans dari instans database yang dibuat.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "DBInstanceId"
    ]
   }
  },
  "InnerIPAddress": {
   "Description": "Alamat IP untuk instans DB yang dibuat melalui Intranet.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "InnerIPAddress"
    ]
   }
  },
  "PublicConnectionString": {
   "Description": "URL koneksi instans DB melalui Internet.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "PublicConnectionString"
    ]
   }
  },
  "PublicIPAddress": {
   "Description": "Alamat IP untuk instans DB yang dibuat melalui Internet.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "PublicIPAddress"
    ]
   }
  },
  "PublicPort": {
   "Description": "Port Internet dari instans DB yang dibuat.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "PublicPort"
    ]
   }
  },
  "InnerPort": {
   "Description": "Port Intranet dari instans DB yang dibuat.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "InnerPort"
    ]
   }
  }
 }
}