Tous les produits
Search
Centre de documentation

Resource Orchestration Service:ALIYUN::RDS::DBInstanceClone

Dernière mise à jour :Sep 08, 2026

Utilisez ALIYUN::RDS::DBInstanceClone pour restaurer des données historiques vers une nouvelle instance, appelée instance clonée.

Syntaxe

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

Instructions

  1. Lisez la documentation en anglais pour comprendre CE qui doit être communiqué

  2. Rédigez le texte en français À PARTIR DE ZÉRO — oubliez la structure de phrase anglaise

  3. Conservez exactement tout le formatage markdown, les blocs de code, les liens et les images

  4. Balises xref (<a data-tag="xref" ...>texte</a>) — conservez la balise ENTIERE avec tous ses attributs dans l'ordre et la casse d'origine, traduisez UNIQUEMENT le texte visible entre > et

  5. Appliquez strictement toutes les règles linguistiques spécifiques

  6. Appliquez les règles de mots-clés avec une tolérance zéro

  7. Utilisez le mode impératif dans les étapes numérotées et les listes à puces procédurales

  8. Assurez la cohérence terminologique — un même terme = une même traduction partout

  9. Variez les débuts de phrase dans les listes/tableaux — aucun début répété plus de 3 fois

  10. Renvoyez UNIQUEMENT le document markdown en français, sans explication

    Propriétés

    Propriété

    Type

    Obligatoire

    Modifiable

    Description

    Contraintes

    PeriodType

    String

    Non

    Non

    Le type de paiement anticipé.

    Valeurs valides :

    • Month : abonnement mensuel.

    • Year : abonnement annuel.

    Cette propriété est requise lorsque PayType est défini sur Prepaid.

    Category

    String

    Non

    Oui

    L'édition de l'instance.

    Valeurs valides :

    • Basic : édition Basic.

    • HighAvailability : édition Haute disponibilité.

    • AlwaysOn : édition Cluster.

    PrivateIpAddress

    String

    Non

    Non

    L'adresse IP interne de la nouvelle instance.

    L'adresse IP doit se trouver dans la plage d'adresses du vSwitch spécifié. Par défaut, le système attribue une adresse IP interne en fonction de VpcId et VSwitchId.

    ConnectionStringPrefix

    String

    Non

    Oui

    Le préfixe de l'endpoint.

    Le préfixe doit comporter entre 8 et 64 caractères et peut contenir des lettres, des chiffres et des traits d'union (-).

    ConnectionStringType

    String

    Non

    Oui

    Le type d'endpoint.

    Valeurs valides :

    • Inner : réseau interne.

    • Public : réseau public.

    TimeoutInMinutes

    Integer

    Non

    Non

    Le délai d'expiration pour la création de l'instance clonée.

    Valeurs valides :

    • 30

    • 60

    • 90

    • 120 (par défaut)

    • 150

    • 180

    • 210

    • 240

    • 270

    • 300

    • 330

    • 360

    Unité : minutes.

    Port

    Integer

    Non

    Oui

    Le port de la nouvelle instance.

    Valeurs valides : 1 à 65535.

    DedicatedHostGroupId

    String

    Non

    Non

    L'ID du groupe d'hôtes dédiés.

    Aucune

    BackupId

    String

    Non

    Non

    L'ID du jeu de sauvegarde.

    Vous devez spécifier au moins l'un des paramètres BackupId ou RestoreTime.

    RestoreTime

    String

    Non

    Non

    N'importe quel moment dans la période de rétention des sauvegardes.

    Format : yyyy-MM-ddTHH:mm:ssZ (UTC).

    Vous devez spécifier au moins l'un des paramètres BackupId ou RestoreTime.

    InstanceNetworkType

    String

    Non

    Non

    Le type de réseau de la nouvelle instance.

    Valeurs valides :

    • VPC : cloud privé virtuel.

    • Classic : réseau classique.

    Remarque

    Par défaut, le type de réseau est identique à celui de l'instance source.

    DbNames

    String

    Non

    Non

    Les noms des bases de données à créer sur la nouvelle instance.

    Aucune

    PreferredBackupPeriod

    List

    Non

    Oui

    Le cycle de sauvegarde.

    Valeurs valides :

    • Monday

    • Tuesday

    • Wednesday

    • Thursday

    • Friday

    • Saturday

    • Sunday

    DBInstanceId

    String

    Oui

    Non

    L'ID de l'instance source.

    Aucune

    SecurityIPList

    String

    Non

    Oui

    La liste d'autorisation d'adresses IP qui permet l'accès à toutes les bases de données de la nouvelle instance.

    Séparez plusieurs adresses IP par des virgules (,). Chaque adresse IP doit être unique. Vous pouvez spécifier jusqu'à 1 000 adresses IP.

    Formats pris en charge :

    • Une adresse IP. Exemple : 10.23.12.24.

    • Un bloc CIDR. Exemple : 10.23.12.24/24. Dans la notation Classless Inter-Domain Routing (CIDR), 24 indique la longueur du préfixe de l'adresse, qui varie de 1 à 32.

    DBInstanceStorage

    Integer

    Non

    Oui

    La capacité de stockage de la nouvelle instance.

    Unité : Go. La valeur augmente par incréments de 5 Go.

    Pour plus d'informations, consultez Types d'instances principales.

    Remarque

    Par défaut, la capacité de stockage est identique à celle de l'instance source.

    BackupType

    String

    Non

    Non

    Le type de sauvegarde.

    Valeurs valides :

    • FullBackup : sauvegarde complète.

    • IncrementalBackup : sauvegarde incrémentielle.

    DBMappings

    List

    Non

    Non

    Les bases de données de la nouvelle instance.

    Pour plus d'informations, consultez Propriétés DBMappings.

    MaintainTime

    String

    Non

    Non

    La fenêtre de maintenance de la nouvelle instance.

    Format : HH:mmZ-HH:mmZ (UTC).

    Tags

    Map

    Non

    Oui

    Les tags de la nouvelle instance.

    Aucune

    DBInstanceDescription

    String

    Non

    Oui

    La description de la nouvelle instance.

    La description doit comporter entre 2 et 256 caractères. Elle doit commencer par une lettre ou un caractère chinois et ne peut pas commencer par http:// ou https://. Elle peut contenir des caractères chinois, des lettres, des chiffres, des traits de soulignement (_) et des traits d'union (-).

    ZoneId

    String

    Non

    Non

    L'ID de la zone.

    La valeur par défaut est la zone de l'instance source.

    SlaveZoneIds

    List

    Non

    Non

    Les zones secondaires d'une instance Édition Haute disponibilité ou Édition Entreprise trois nœuds.

    Vous pouvez spécifier jusqu'à deux zones secondaires. Exemple : ["zone-b"] ou ["zone-b", "zone-c"].

    Spécifiez un vSwitch pour chaque zone principale et chaque zone secondaire. Par exemple, si ZoneId est "zone-a" et SlaveZoneIds est ["zone-c", "zone-b"], définissez VSwitchId sur "vsw-zone-a,vsw-zone-c,vsw-zone-b".

    Pour permettre au système de sélectionner les zones secondaires, définissez la valeur sur ["Auto"] ou ["Auto", "Auto"]. Dans ce cas, spécifiez uniquement l'ID du vSwitch de la zone principale. Les vSwitches des zones secondaires sont créés automatiquement.

    DBInstanceClass

    String

    Non

    Oui

    Le type d'instance de la nouvelle instance.

    Pour plus d'informations, consultez Types d'instances principales.

    Remarque

    Par défaut, le type d'instance est identique à celui de l'instance source.

    AllocatePublicConnection

    Boolean

    Non

    Non

    Indique s'il faut demander un endpoint public pour la nouvelle instance.

    Valeurs valides :

    • true

    • false

    SecurityGroupId

    String

    Non

    Oui

    Les ID des groupes de sécurité associés à la nouvelle instance.

    Vous pouvez associer jusqu'à trois groupes de sécurité. Séparez plusieurs ID de groupes de sécurité par des virgules (,).

    Pour effacer les groupes de sécurité, spécifiez une chaîne vide.

    PreferredBackupTime

    String

    Non

    Oui

    L'heure de sauvegarde.

    Format : HH:mmZ-HH:mmZ.

    Valeurs valides : 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

    Non

    Non

    L'ID du vSwitch.

    Aucune

    Period

    Integer

    Non

    Non

    La durée du paiement anticipé.

    Valeurs valides :

    • Si PeriodType est défini sur Year : 1 à 5.

    • Si PeriodType est défini sur Month : 1 à 12, 24, 36, 48, 60.

    PayType

    String

    Oui

    Non

    La méthode de facturation de la nouvelle instance.

    Si cette propriété est définie sur Prepaid, PeriodType est requis. Valeurs valides :

    • Postpaid : facturation à l'utilisation.

    • Prepaid : facturation par abonnement.

    DBInstanceStorageType

    String

    Non

    Oui

    Le type de stockage de la nouvelle instance.

    Valeurs valides :

    • local_ssd ou ephemeral_ssd : SSD local.

    • cloud_ssd : SSD standard.

    • cloud_essd : ESSD.

    RestoreTable

    String

    Non

    Non

    Indique s'il faut effectuer une restauration au niveau de la table.

    Lorsque la valeur est 1, cela indique que la récupération de la base de données/de la table sera effectuée ; sinon, la récupération ne sera pas effectuée.

    MasterUserPassword

    String

    Non

    Oui

    Le mot de passe du compte maître de l'instance de base de données.

    Le mot de passe doit comporter entre 8 et 32 caractères. Il peut contenir des lettres, des chiffres et des traits de soulignement (_).

    MasterUserType

    String

    Non

    Non

    Le type de compte maître.

    Valeurs valides :

    • Normal (par défaut) : compte standard.

    • Super : compte privilégié.

    • Sysadmin : compte administrateur.

      Remarque

      Le compte administrateur est pris en charge uniquement pour les bases de données SQL Server.

    VpcId

    String

    Non

    Non

    L'ID du cloud privé virtuel (VPC).

    Aucune

    SSLSetting

    String

    Non

    Non

    Le paramètre de connexion Secure Sockets Layer (SSL) de la nouvelle instance.

    Valeurs valides :

    • Disabled (par défaut) : SSL est désactivé.

    • EnabledForPublicConnection : l'endpoint public est protégé par un certificat SSL.

      Remarque

      Si cette propriété est définie sur EnabledForPublicConnection, AllocatePublicConnection doit être défini sur true.

    • EnabledForInnerConnection : l'endpoint privé est protégé par un certificat SSL.

    MasterUsername

    String

    Non

    Oui

    Le nom du compte maître de l'instance de base de données.

    Le nom doit passer la vérification d'unicité.

    Le nom ne doit pas dépasser 16 caractères. Il doit commencer par une lettre et peut contenir des lettres, des chiffres et des traits de soulignement (_).

    SQLCollectorStatus

    String

    Non

    Oui

    Indique s'il faut activer SQL Explorer (audit SQL).

    Valeurs valides :

    • Enable

    • Disabled

    BackupRetentionPeriod

    Number

    Non

    Oui

    Le nombre de jours pendant lesquels les sauvegardes sont conservées.

    Valeurs valides : 7 à 30.

    Unité : jours.

    Valeur par défaut : 7.

    TableMeta

    List

    Non

    Non

    Lorsque vous effectuez une restauration au niveau de la table, spécifiez les informations sur les bases de données et les tables à restaurer.

    Pour plus d'informations, consultez Propriétés TableMeta.

    Syntaxe de DBMappings

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

    Propriétés de DBMappings

    Propriété

    Type

    Obligatoire

    Modifiable

    Description

    Contraintes

    CharacterSetName

    String

    Oui

    Non

    Le jeu de caractères.

    Valeurs valides :

    • Moteur MySQL :

      • utf8

      • gbk

      • latin1

      • utf8mb4 (pour les versions 5.5 et 5.6)

    • Moteur SQL Server :

      • 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

    Oui

    Non

    Le nom de la base de données.

    Le nom doit passer le contrôle d'unicité.

    La longueur du nom ne doit pas dépasser 64 caractères. Il doit commencer par une lettre et peut contenir des lettres, des chiffres et des traits de soulignement (_).

    DBDescription

    String

    Non

    Non

    La description de la base de données.

    La description doit comporter entre 2 et 256 caractères. Elle doit commencer par une lettre ou un caractère chinois et ne peut pas commencer par http:// ou https://. Elle peut contenir des caractères chinois, des lettres, des chiffres, des traits de soulignement (_) et des tirets (-).

    Syntaxe de TableMeta

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

    Propriétés de TableMeta

    Propriété

    Type

    Obligatoire

    Modifiable

    Description

    Contraintes

    Type

    String

    Non

    Non

    Le type.

    Valeur valide : db.

    Name

    String

    Non

    Non

    Le nom de la base de données.

    Aucune

    NewName

    String

    Non

    Non

    Le nouveau nom de la base de données.

    Aucune

    Tables

    List

    Non

    Non

    Les tables à restaurer.

    Pour plus d'informations, consultez Propriétés de Tables.

    Syntaxe de Tables

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

    Propriétés de Tables

    Propriété

    Type

    Obligatoire

    Modifiable

    Description

    Contraintes

    Type

    String

    Non

    Non

    Le type.

    Valeur valide : table.

    Name

    String

    Non

    Non

    Le nom de la table dans la base de données.

    Aucune

    NewName

    String

    Non

    Non

    Le nouveau nom de la table.

    Aucune

    Valeurs de retour

    Fn::GetAtt

    • InnerConnectionString : le point de terminaison interne.

    • DBInstanceId : l'ID de l'instance source.

    • InnerIPAddress : l'adresse IP interne.

    • PublicConnectionString : le point de terminaison public.

    • PublicIPAddress : l'adresse IP publique.

    • PublicPort : le port public.

    • InnerPort : le port interne.

    Exemples

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