全部產品
Search
文件中心

:ALIYUN::RDS::DBInstanceClone

更新時間:Jun 19, 2024

ALIYUN::RDS::DBInstanceClone類型用於將歷史資料恢複至一個新執行個體(稱為複製執行個體)。

文法

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

屬性

屬性名稱

類型

必須

允許更新

描述

約束

PeriodType

String

預付費類型。

取值:

  • Month:包月。

  • Year:包年。

付費類型為Prepaid時該參數必須指定。

Category

String

執行個體系列。

取值:

  • Basic:基礎版。

  • HighAvailability:高可用版。

  • AlwaysOn:叢集版。

PrivateIpAddress

String

新執行個體的內網IP地址。

需要在指定交換器的IP位址範圍內。系統預設通過VpcId和VSwitchId自動分配內網IP地址。

ConnectionStringPrefix

String

串連地址的首碼。

長度為8~64個字元,可包含英文字母、數字和短劃線(-)。

ConnectionStringType

String

串連地址的類型。

取值:

  • Inner:內網。

  • Public:公網。

TimeoutInMinutes

Integer

逾時時間。

取值:

  • 30

  • 60

  • 90

  • 120(預設值)

  • 150

  • 180

  • 210

  • 240

  • 270

  • 300

  • 330

  • 360

單位:分鐘。

Port

Integer

執行個體連接埠。

取值範圍:1~65,535。

DedicatedHostGroupId

String

主機群組ID。

BackupId

String

備份組ID。

BackupId和RestoreTime至少指定一個。

RestoreTime

String

備份保留周期內的任意時間點。

格式:yyyy-MM-ddTHH:mm:ssZ(UTC時間)。

BackupId和RestoreTime至少指定一個。

InstanceNetworkType

String

執行個體的網路類型。

取值:

  • VPC:專用網路。

  • Classic:傳統網路。

說明

預設網路類型和主執行個體一致。

DbNames

String

資料庫名稱。

PreferredBackupPeriod

List

備份周期。

取值:

  • Monday

  • Tuesday

  • Wednesday

  • Thursday

  • Friday

  • Saturday

  • Sunday

DBInstanceId

String

執行個體ID。

SecurityIPList

String

允許訪問該執行個體下所有資料庫的IP白名單。

多個IP地址以英文逗號(,)間隔,不可以重複。最多支援1000個IP地址。

支援格式:

  • IP地址形式,例如:10.23.12.24。

  • CIDR形式,例如:10.23.12.24/24(無類域間路由,24表示了地址中首碼的長度,範圍為1~32)。

DBInstanceStorage

Integer

執行個體儲存空間。

單位:GB,每5 GB進行遞增。

更多資訊,請參見主執行個體規格列表

說明

預設儲存空間和主執行個體一致。

BackupType

String

備份類型。

取值:

  • FullBackup:全量備份。

  • IncrementalBackup:增量備份。

DBMappings

List

執行個體的資料庫。

更多資訊,請參見DBMappings屬性

MaintainTime

String

執行個體的可維護時間段。

格式:HH:mmZ-HH:mmZ(UTC時間)。

Tags

Map

標籤。

DBInstanceDescription

String

執行個體的描述資訊。

長度為2~256個字元。以英文字母或漢字開頭,不能以http://https://開頭。可包含漢字、英文字母、數字、底線(_)和短劃線(-)。

ZoneId

String

可用性區域ID。

預設為源執行個體的可用性區域。

SlaveZoneIds

List

高可用版或三節點企業版的備可用性區域。

最多指定兩個備可用性區域,例如: ["zone-b"]["zone-b", "zone-c"]

為每個主可用性區域或者備可用性區域指定一個交換器,例如:ZoneId="zone-a"並且SlaveZoneIds=["zone-c", "zone-b"],VSwitchID取值為"vsw-zone-a,vsw-zone-c,vsw-zone-b"

如果自動選擇備可用性區域,取值為["Auto"]["Auto", "Auto"]。此時只需要指定主可用性區域交換器ID,備可用性區域交換器會自動建立。

DBInstanceClass

String

執行個體規格。

更多資訊,請參見主執行個體規格列表

說明

預設規格和主執行個體一致。

AllocatePublicConnection

Boolean

是否申請執行個體的外網串連地址。

取值:

  • true

  • false

SecurityGroupId

String

執行個體關聯的安全性群組ID。

最多支援關聯3個安全性群組,多個安全性群組用英文逗號(,)隔開。

清空安全性群組時請指定Null 字元串。

PreferredBackupTime

String

備份時間。

格式:HH:mmZ- HH:mmZ

取值: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、23:00Z-24:00Z。

VSwitchId

String

交換器ID。

Period

Integer

預付費時間長度。

取值:

  • 參數PeriodType取值為Year時:1~5。

  • 參數PeriodType取值為Month時:1~12,24,36, 48, 60。

PayType

String

執行個體的付費類型。

取值:

  • Postpaid:後付費,即隨用隨付。

  • Prepaid:預付費,即訂用帳戶。

DBInstanceStorageType

String

執行個體儲存類型。

取值:

  • local_ssd/ephemeral_ssd:本地SSD盤。

  • cloud_ssd:SSD雲端硬碟。

  • cloud_essd:ESSD雲端硬碟。

RestoreTable

String

是否進行庫表恢複。

取值為1時表示進行庫表恢複,否則不恢複。

MasterUserPassword

String

資料庫執行個體的主帳號密碼。

長度為8~32個字元。可包含英文字母、數字和底線(_)。

MasterUserType

String

主帳號類型。

取值:

  • Normal(預設值):普通帳號。

  • Super:高許可權帳號。

  • Sysadmin:管理員帳號。

    說明

    管理員帳號只支援SQLServer資料庫。

VpcId

String

專用網路ID。

SSLSetting

String

執行個體的安全套接層(SSL)連結設定。

取值:

  • Disabled(預設值):禁用SSL。

  • EnabledForPublicConnection:公網串連地址將受SSL認證保護。

    說明

    該參數取值為EnabledForPublicConnection時,AllocatePublicConnection取值必須為true。

  • EnabledForInnerConnection:私網串連地址將受SSL認證保護。

MasterUsername

String

資料庫執行個體的主帳號名稱。

需通過唯一性檢查。

長度不超過16個字元。以英文字母開頭,可包含英文字母、數字和底線(_)。

SQLCollectorStatus

String

開啟或關閉SQL洞察(SQL審計)。

取值:

  • Enable

  • Disabled

BackupRetentionPeriod

Number

備份保留天數。

取值範圍:7~30。

單位:天。

預設值:7。

TableMeta

List

進行庫表恢複時,指定恢複的庫表資訊。

更多資訊,請參見TableMeta屬性

DBMappings文法

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

DBMappings屬性

屬性名稱

類型

必須

允許更新

描述

約束

CharacterSetName

String

字元集。

取值:

  • MySQL類型:

    • utf8

    • gbk

    • latin1

    • utf8mb4(適用於5.5版和5.6版)

  • SQLServer類型:

    • 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

資料庫名稱。

需通過唯一性檢查。

長度不超過64個字元。以英文字母開頭,可包含英文字母、數字和底線(_)。

DBDescription

String

資料庫描述。

長度為2~256個字元。以英文字母或漢字開頭,不能以http://https://開頭。可包含漢字、英文字母、數字、底線(_)和短劃線(-)。

TableMeta文法

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

TableMeta屬性

屬性名稱

類型

必須

允許更新

描述

約束

Type

String

類型。

取值:db。

Name

String

資料庫名稱。

NewName

String

新資料庫名稱。

Tables

List

恢複的表。

更多資訊,請參見Tables屬性

Tables文法

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

Tables屬性

屬性名稱

類型

必須

允許更新

描述

約束

Type

String

類型。

取值:table。

Name

String

資料庫內表的名稱。

NewName

String

新的表名稱。

傳回值

Fn::GetAtt

  • InnerConnectionString:內網串連地址。

  • DBInstanceId:執行個體ID。

  • InnerIPAddress:內網IP。

  • PublicConnectionString:公網串連地址。

  • PublicIPAddress:公網IP。

  • PublicPort:資料庫執行個體公網連接埠。

  • InnerPort:資料庫執行個體的內網連接埠。

樣本

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
 PeriodType:
  Type: String
  Description: Charge period for created instances.
  AllowedValues:
   - Month
   - Year
  Default: Month
 Category:
  Type: String
  Description: |-
   The edition of the instance. Valid values:
   Basic: specifies to use the Basic Edition.
   HighAvailability: specifies to use the High-availability Edition.
   AlwaysOn: specifies to use the Cluster Edition.
   Finance: specifies to use the Enterprise Edition.
  AllowedValues:
   - Basic
   - HighAvailability
   - AlwaysOn
   - Finance
 PrivateIpAddress:
  Type: String
  Description: The private ip for created instance.
 DedicatedHostGroupId:
  Type: String
  Description: >-
   The ID of the host group to which the instance belongs if you create an
   instance in a host group.
 Port:
  Type: Number
  Description: The port of the database service.
  MinValue: 1
  MaxValue: 65535
 BackupId:
  Type: String
  Description: >-
   The ID of the backup set that you want to use.

   You can call the DescribeBackups operation to query the most recent backup
   set list.

   Note You must specify at least one of the BackupId and RestoreTime
   parameters.
 InstanceNetworkType:
  Type: String
  Description: |-
   The network type of the new instance. Valid values:
   - VPC
   - Classic
   The default value is the network type of the original instance.
 RestoreTime:
  Type: String
  Description: >-
   The point in time to which you want to restore the data of the original
   instance.

   The point in time must fall within the specified log backup retention
   period.

   The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ
   format.

   The time must be in UTC.
 PreferredBackupPeriod:
  Type: CommaDelimitedList
  Description: >-
   The backup period. Separate multiple values with commas (,). The default
   value is the original value. Valid values:Monday Tuesday Wednesday
   Thursday Friday Saturday Sunday Note When the BackupPolicyMode parameter
   is set to DataBackupPolicy, this parameter is required.
 DbNames:
  Type: String
  Description: The names of the databases that you want to create on the new instance.
 DBInstanceId:
  Type: String
  Description: Instance id
 SecurityIPList:
  Type: String
  Description: >-
   Security ip to access the database instance, combine with comma, 0.0.0.0/0
   means no limitation.
 DBInstanceStorage:
  Type: Number
  Description: >-
   Database instance storage size. mysql is [5,1000]. sql server 2008r2 is
   [10,1000], sql server 2012/2012_web/2016-web is [20,1000]. PostgreSQL and
   PPAS is [5,2000]. Increased every 5 GB, Unit in GB
 BackupType:
  Type: String
  Description: |-
   The type of backup used by the new instance. Valid values:
   - FullBackup: full backup
   - IncrementalBackup: incremental backup
  AllowedValues:
   - FullBackup
   - IncrementalBackup
 DBMappings:
  Type: Json
  Description: Database mappings to attach to db instance.
 ConnectionStringPrefix:
  Type: String
  Description: >-
   The prefix of the endpoint.

   Only the prefix of the CurrentConnectionString parameter value can be
   modified.

   The prefix must be 8 to 64 characters in length and can contain letters,
   digits, and hyphens (-).
  AllowedPattern: '[a-zA-Z0-9-]{8,64}'
 MaintainTime:
  Type: String
  Description: >-
   The period during which the maintenance performs. The format is
   HH:mmZ-HH:mmZ.
 Tags:
  Type: Json
  Description: >-
   The tags of an instance.

   You should input the information of the tag with the format of the
   Key-Value, such as {"key1":"value1","key2":"value2", ... "key5":"value5"}.

   At most 5 tags can be specified.

   Key

   It can be up to 64 characters in length.

   Cannot begin with aliyun.

   Cannot begin with http:// or https://.

   Cannot be a null string.

   Value

   It can be up to 128 characters in length.

   Cannot begin with aliyun.

   Cannot begin with http:// or https://.

   Can be a null string.
 DBInstanceDescription:
  Type: String
  Description: Description of created database instance.
 ZoneId:
  Type: String
  Description: >-
   selected zone to create database instance. You cannot set the ZoneId
   parameter if the MultiAZ parameter is set to true.
 SlaveZoneIds:
  Type: Json
  Description: >-
   List of slave zone ids can specify slave zone ids when creating the
   high-availability or enterprise edition instance. Meanwhile, VSwitchId
   needs to pass in the corresponding vswitch id to the slave zone by order.
   For example, ZoneId = "zone-a" and SlaveZoneIds = ["zone-c", "zone-b"],
   then the VSwitchId must be "vsw-zone-a,vsw-zone-c,vsw-zone-b". Of course,
   you can also choose automatic allocation, for example, ZoneId = "zone-a"
   and SlaveZoneIds = ["Auto", "Auto"], then the VSwitchId must be
   "vsw-zone-a,Auto,Auto". The list contains up to 2 slave zone ids,
   separated by commas.
  MaxLength: 2
 DBInstanceClass:
  Type: String
  Description: >-
   Database instance type. Refer the RDS database instance type reference,
   such as 'rds.mys2.large', 'rds.mss1.large', 'rds.pg.s1.small' etc
 AllocatePublicConnection:
  Type: Boolean
  Description: 'If true, allocate public connection automate.'
  AllowedValues:
   - 'True'
   - 'true'
   - 'False'
   - 'false'
 PreferredBackupTime:
  Type: String
  Description: >-
   The time when the backup task is performed. Format:
   yyyy-MM-ddZ-HH:mm:ssZ.Note When the BackupPolicyMode parameter is set to
   DataBackupPolicy, this parameter is required.
 VSwitchId:
  Type: String
  Description: >-
   The vSwitch id of created instance. For VPC network, the property is
   required.
 SecurityGroupId:
  Type: String
  Description: |
   The ID of the ECS security groups.
   Each RDS instance can be associated with up to three ECS security groups.
   You must separate them with commas (,).
   To delete an ECS Security group, leave this parameter empty.
 Period:
  Type: Number
  Description: >-
   Prepaid time period. While choose by pay by month, it could be from 1 to
   12, 24, 36, 48, 60. While choose pay by year, it could be from 1 to 5.
  MinValue: 1
  MaxValue: 60
  Default: 1
 PayType:
  Type: String
  Description: The charge type of created instance.
  AllowedValues:
   - Prepaid
   - Postpaid
  Default: Postpaid
 DBInstanceStorageType:
  Type: String
  Description: >-
   The storage type of the instance. Valid values:

   local_ssd: specifies to use local SSDs. This is the recommended storage
   type.

   cloud_ssd: specifies to use standard SSDs.

   cloud_essd: specifies to use enhanced SSDs.
 ConnectionStringType:
  Type: String
  Description: 'The endpoint type of the instance, allow values: Inner, Public'
  AllowedValues:
   - Inner
   - Public
  Default: Inner
 RestoreTable:
  Type: String
  Description: >-
   Specifies whether to restore specific databases and tables.

   The value 1 specifies to restore specific databases and tables.

   If you do not want to restore specific databases or tables, you can choose
   not to specify this parameter.
 MasterUserPassword:
  Type: String
  Description: 'The master password for the database instance. '
  MinLength: 8
  MaxLength: 32
 MasterUserType:
  Type: String
  Description: |-
   Privilege type of account.
   Normal: Common privilege.
   Super: High privilege.
   Sysadmin: Super privileges (SA) (only supported by SQL Server)
   The default value is Normal.
  AllowedValues:
   - Normal
   - Super
   - Sysadmin
  Default: Normal
 VpcId:
  Type: String
  Description: >-
   The VPC id of created database instance. For VPC network, the property is
   required.
 SSLSetting:
  Type: String
  Description: >-
   Secure Sockets Layer (SSL) link setting of the instance. Valid values:

   Disabled: Disable SSL

   EnabledForPublicConnection: Public connection address will be protected by
   the SSL certificate. It requires AllocatePublicConnection is true.

   EnabledForInnerConnection: Private connection address will be protected by
   the SSL certificate.

   Default value is Disabled.
  AllowedValues:
   - Disabled
   - EnabledForPublicConnection
   - EnabledForInnerConnection
  Default: Disabled
 MasterUsername:
  Type: String
  Description: 'The master user name for the database instance. '
 SQLCollectorStatus:
  Type: String
  Description: >-
   Specifies whether to enable or disable the SQL Explorer (SQL audit)
   feature.

   Valid values:Enable | Disabled.
  AllowedValues:
   - Enable
   - Disabled
 BackupRetentionPeriod:
  Type: Number
  Description: >-
   The retention period of the data backup. Value range: 7 to 730. The
   default value is the original value. Note When the BackupPolicyMode
   parameter is set to LogBackupPolicy, this parameter is required.
  Default: 7
 TableMeta:
  Type: Json
  Description: The information about the databases and tables that you want to restore.
 TimeoutInMinutes:
  Type: Number
  Description: >-
   The timeout period for creating the clone instance resource. Unit: Minute.
   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: DB instance connection url by Intranet.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - InnerConnectionString
 DBInstanceId:
  Description: The instance id of created database instance.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - DBInstanceId
 InnerIPAddress:
  Description: IP Address for created DB instance of Intranet.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - InnerIPAddress
 PublicConnectionString:
  Description: DB instance connection url by Internet.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - PublicConnectionString
 PublicIPAddress:
  Description: IP Address for created DB instance of Internet.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - PublicIPAddress
 PublicPort:
  Description: Internet port of created DB instance.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - PublicPort
 InnerPort:
  Description: Intranet port of created DB instance.
  Value:
   'Fn::GetAtt':
    - DbInstanceClone
    - InnerPort

JSON格式

{
 "ROSTemplateFormatVersion": "2015-09-01",
 "Parameters": {
  "PeriodType": {
   "Type": "String",
   "Description": "Charge period for created instances.",
   "AllowedValues": [
    "Month",
    "Year"
   ],
   "Default": "Month"
  },
  "Category": {
   "Type": "String",
   "Description": "The edition of the instance. Valid values:\nBasic: specifies to use the Basic Edition.\nHighAvailability: specifies to use the High-availability Edition.\nAlwaysOn: specifies to use the Cluster Edition.\nFinance: specifies to use the Enterprise Edition.",
   "AllowedValues": [
    "Basic",
    "HighAvailability",
    "AlwaysOn",
    "Finance"
   ]
  },
  "PrivateIpAddress": {
   "Type": "String",
   "Description": "The private ip for created instance."
  },
  "DedicatedHostGroupId": {
   "Type": "String",
   "Description": "The ID of the host group to which the instance belongs if you create an instance in a host group."
  },
  "Port": {
   "Type": "Number",
   "Description": "The port of the database service.",
   "MinValue": 1,
   "MaxValue": 65535
  },
  "BackupId": {
   "Type": "String",
   "Description": "The ID of the backup set that you want to use. \nYou can call the DescribeBackups operation to query the most recent backup set list. \nNote You must specify at least one of the BackupId and RestoreTime parameters."
  },
  "InstanceNetworkType": {
   "Type": "String",
   "Description": "The network type of the new instance. Valid values: \n- VPC \n- Classic \nThe default value is the network type of the original instance."
  },
  "RestoreTime": {
   "Type": "String",
   "Description": "The point in time to which you want to restore the data of the original instance. \nThe point in time must fall within the specified log backup retention period. \nThe time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. \nThe time must be in UTC."
  },
  "PreferredBackupPeriod": {
   "Type": "CommaDelimitedList",
   "Description": "The backup period. Separate multiple values with commas (,). The default value is the original value. Valid values:Monday Tuesday Wednesday Thursday Friday Saturday Sunday Note When the BackupPolicyMode parameter is set to DataBackupPolicy, this parameter is required."
  },
  "DbNames": {
   "Type": "String",
   "Description": "The names of the databases that you want to create on the new instance."
  },
  "DBInstanceId": {
   "Type": "String",
   "Description": "Instance id"
  },
  "SecurityIPList": {
   "Type": "String",
   "Description": "Security ip to access the database instance, combine with comma, 0.0.0.0/0 means no limitation."
  },
  "DBInstanceStorage": {
   "Type": "Number",
   "Description": "Database instance storage size. mysql is [5,1000]. sql server 2008r2 is [10,1000], sql server 2012/2012_web/2016-web is [20,1000]. PostgreSQL and PPAS is [5,2000]. Increased every 5 GB, Unit in GB"
  },
  "BackupType": {
   "Type": "String",
   "Description": "The type of backup used by the new instance. Valid values: \n - FullBackup: full backup \n - IncrementalBackup: incremental backup",
   "AllowedValues": [
    "FullBackup",
    "IncrementalBackup"
   ]
  },
  "DBMappings": {
   "Type": "Json",
   "Description": "Database mappings to attach to db instance."
  },
  "ConnectionStringPrefix": {
   "Type": "String",
   "Description": "The prefix of the endpoint. \nOnly the prefix of the CurrentConnectionString parameter value can be modified.\nThe prefix must be 8 to 64 characters in length and can contain letters, digits, and hyphens (-). ",
   "AllowedPattern": "[a-zA-Z0-9-]{8,64}"
  },
  "MaintainTime": {
   "Type": "String",
   "Description": "The period during which the maintenance performs. The format is HH:mmZ-HH:mmZ."
  },
  "Tags": {
   "Type": "Json",
   "Description": "The tags of an instance.\nYou should input the information of the tag with the format of the Key-Value, such as {\"key1\":\"value1\",\"key2\":\"value2\", ... \"key5\":\"value5\"}.\nAt most 5 tags can be specified.\nKey\nIt can be up to 64 characters in length.\nCannot begin with aliyun.\nCannot begin with http:// or https://.\nCannot be a null string.\nValue\nIt can be up to 128 characters in length.\nCannot begin with aliyun.\nCannot begin with http:// or https://.\nCan be a null string."
  },
  "DBInstanceDescription": {
   "Type": "String",
   "Description": "Description of created database instance."
  },
  "ZoneId": {
   "Type": "String",
   "Description": "selected zone to create database instance. You cannot set the ZoneId parameter if the MultiAZ parameter is set to true."
  },
    "SlaveZoneIds": {
     "Type": "Json",
     "Description": "List of slave zone ids can specify slave zone ids when creating the high-availability or enterprise edition instance. Meanwhile, VSwitchId needs to pass in the corresponding vswitch id to the slave zone by order. For example, ZoneId = \"zone-a\" and SlaveZoneIds = [\"zone-c\", \"zone-b\"], then the VSwitchId must be \"vsw-zone-a,vsw-zone-c,vsw-zone-b\". Of course, you can also choose automatic allocation, for example, ZoneId = \"zone-a\" and SlaveZoneIds = [\"Auto\", \"Auto\"], then the VSwitchId must be \"vsw-zone-a,Auto,Auto\". The list contains up to 2 slave zone ids, separated by commas.",
     "MaxLength": 2
    },
  "DBInstanceClass": {
   "Type": "String",
   "Description": "Database instance type. Refer the RDS database instance type reference, such as 'rds.mys2.large', 'rds.mss1.large', 'rds.pg.s1.small' etc"
  },
  "AllocatePublicConnection": {
   "Type": "Boolean",
   "Description": "If true, allocate public connection automate.",
   "AllowedValues": [
    "True",
    "true",
    "False",
    "false"
   ]
  },
  "PreferredBackupTime": {
   "Type": "String",
   "Description": "The time when the backup task is performed. Format: yyyy-MM-ddZ-HH:mm:ssZ.Note When the BackupPolicyMode parameter is set to DataBackupPolicy, this parameter is required."
  },
  "VSwitchId": {
   "Type": "String",
   "Description": "The vSwitch id of created instance. For VPC network, the property is required."
  },
  "SecurityGroupId": {
   "Type": "String",
   "Description": "The ID of the ECS security groups. \nEach RDS instance can be associated with up to three ECS security groups. \nYou must separate them with commas (,). \nTo delete an ECS Security group, leave this parameter empty. \n"
  },
  "Period": {
   "Type": "Number",
   "Description": "Prepaid time period. While choose by pay by month, it could be from 1 to 12, 24, 36, 48, 60. While choose pay by year, it could be from 1 to 5.",
   "MinValue": 1,
   "MaxValue": 60,
   "Default": 1
  },
  "PayType": {
   "Type": "String",
   "Description": "The charge type of created instance.",
   "AllowedValues": [
    "Prepaid",
    "Postpaid"
   ],
   "Default": "Postpaid"
  },
  "DBInstanceStorageType": {
   "Type": "String",
   "Description": "The storage type of the instance. Valid values:\nlocal_ssd: specifies to use local SSDs. This is the recommended storage type.\ncloud_ssd: specifies to use standard SSDs.\ncloud_essd: specifies to use enhanced SSDs."
  },
  "ConnectionStringType": {
   "Type": "String",
   "Description": "The endpoint type of the instance, allow values: Inner, Public",
   "AllowedValues": [
    "Inner",
    "Public"
   ],
   "Default": "Inner"
  },
  "RestoreTable": {
   "Type": "String",
   "Description": "Specifies whether to restore specific databases and tables. \nThe value 1 specifies to restore specific databases and tables. \nIf you do not want to restore specific databases or tables, you can choose not to specify this parameter."
  },
  "MasterUserPassword": {
   "Type": "String",
   "Description": "The master password for the database instance. ",
   "MinLength": 8,
   "MaxLength": 32
  },
  "MasterUserType": {
   "Type": "String",
   "Description": "Privilege type of account.\n Normal: Common privilege. \n Super: High privilege. \nSysadmin: Super privileges (SA) (only supported by SQL Server)\nThe default value is Normal.",
   "AllowedValues": [
    "Normal",
    "Super",
    "Sysadmin"
   ],
   "Default": "Normal"
  },
  "VpcId": {
   "Type": "String",
   "Description": "The VPC id of created database instance. For VPC network, the property is required."
  },
  "SSLSetting": {
   "Type": "String",
   "Description": "Secure Sockets Layer (SSL) link setting of the instance. Valid values:\nDisabled: Disable SSL\nEnabledForPublicConnection: Public connection address will be protected by the SSL certificate. It requires AllocatePublicConnection is true.\nEnabledForInnerConnection: Private connection address will be protected by the SSL certificate.\nDefault value is Disabled.",
   "AllowedValues": [
    "Disabled",
    "EnabledForPublicConnection",
    "EnabledForInnerConnection"
   ],
   "Default": "Disabled"
  },
  "MasterUsername": {
   "Type": "String",
   "Description": "The master user name for the database instance. "
  },
  "SQLCollectorStatus": {
   "Type": "String",
   "Description": "Specifies whether to enable or disable the SQL Explorer (SQL audit) feature. \nValid values:Enable | Disabled.",
   "AllowedValues": [
    "Enable",
    "Disabled"
   ]
  },
  "BackupRetentionPeriod": {
   "Type": "Number",
   "Description": "The retention period of the data backup. Value range: 7 to 730. The default value is the original value. Note When the BackupPolicyMode parameter is set to LogBackupPolicy, this parameter is required.",
   "Default": 7
  },
  "TableMeta": {
   "Type": "Json",
   "Description": "The information about the databases and tables that you want to restore."
  },
  "TimeoutInMinutes": {
   "Type": "Number",
   "Description": "The timeout period for creating the clone instance resource. Unit: Minute. 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": "DB instance connection url by Intranet.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "InnerConnectionString"
    ]
   }
  },
  "DBInstanceId": {
   "Description": "The instance id of created database instance.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "DBInstanceId"
    ]
   }
  },
  "InnerIPAddress": {
   "Description": "IP Address for created DB instance of Intranet.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "InnerIPAddress"
    ]
   }
  },
  "PublicConnectionString": {
   "Description": "DB instance connection url by Internet.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "PublicConnectionString"
    ]
   }
  },
  "PublicIPAddress": {
   "Description": "IP Address for created DB instance of Internet.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "PublicIPAddress"
    ]
   }
  },
  "PublicPort": {
   "Description": "Internet port of created DB instance.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "PublicPort"
    ]
   }
  },
  "InnerPort": {
   "Description": "Intranet port of created DB instance.",
   "Value": {
    "Fn::GetAtt": [
     "DbInstanceClone",
     "InnerPort"
    ]
   }
  }
 }
}