All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::DMS::Instance

Last Updated:Dec 15, 2023

ALIYUN::DMS::Instance is used to register a database instance for your enterprise.

Syntax

{
  "Type": "ALIYUN::DMS::Instance",
  "Properties": {
    "InstanceSource": String,
    "DatabasePassword": String,
    "Port": Integer,
    "Host": String,
    "ExportTimeout": Integer,
    "SafeRule": String,
    "DdlOnline": Integer,
    "EnvType": String,
    "Tid": Integer,
    "UseDsql": Integer,
    "Sid": String,
    "EcsInstanceId": String,
    "VpcId": String,
    "InstanceAlias": String,
    "DbaUid": Integer,
    "EcsRegion": String,
    "NetworkType": String,
    "DatabaseUser": String,
    "InstanceType": String,
    "DataLinkName": String,
    "QueryTimeout": Integer
  }
}

Properties

Property

Type

Required

Editable

Description

Constraint

InstanceSource

String

Yes

No

The source of the database instance.

Valid values:

  • PUBLIC_OWN: a self-managed database instance that is deployed on the Internet

  • RDS: an ApsaraDB RDS instance

  • ECS_OWN: a self-managed database that is deployed on an Elastic Compute Service (ECS) instance

  • VPC_IDC: a self-managed database instance that is deployed in a data center connected over a virtual private cloud (VPC)

DatabasePassword

String

Yes

Yes

The password that is used to connect to the database instance.

None.

Port

Integer

Yes

No

The port number that is used to connect to the database instance.

None.

Host

String

Yes

No

The host address that is used to connect to the database instance.

None.

ExportTimeout

Integer

Yes

Yes

The timeout period for exporting data.

Unit: seconds.

SafeRule

String

Yes

Yes

The name of the security rule for the database instance. Specify the name of a security rule that belongs to your enterprise.

None.

DdlOnline

Integer

No

No

Specifies whether to use the lock-free schema change feature.

Valid values:

  • 0: disables the lock-free schema change feature.

  • 1: uses the native online DDL operations of MySQL first.

  • 2: uses the lock-free schema change feature of Data Management (DMS) first.

Note

Only MySQL and PolarDB databases are supported.

EnvType

String

Yes

Yes

The environment type.

Valid values:

  • product: production environment

  • dev: development environment

  • pre: pre-release environment

  • test: test environment

  • sit: system integration testing (SIT) environment

  • uat: user acceptance testing (UAT) environment

  • pet: stress testing environment

  • stag: staging environment

Tid

Integer

No

No

The tenant ID.

None.

UseDsql

Integer

No

No

Specifies whether to enable the cross-database query feature for the database instance.

Valid values:

  • 0: disables the cross-database query feature for the database instance.

  • 1: enables the cross-database query feature for the database instance.

Sid

String

No

No

The system ID (SID) of the database instance.

This property must be specified when InstanceType is set to PostgreSQL or Oracle.

EcsInstanceId

String

No

No

The ID of the ECS instance.

This property must be specified when InstanceSource is set to ECS_OWN.

VpcId

String

No

No

The VPC ID.

This property must be specified when InstanceSource is set to VPC_IDC.

InstanceAlias

String

Yes

Yes

The name of the database instance.

None.

DbaUid

Integer

Yes

No

The user ID of the Alibaba Cloud account to which the database instance belongs.

None.

EcsRegion

String

No

No

The region ID of the database instance.

This property must be specified when InstanceSource is set to RDS, ECS_OWN, or VPC_IDC.

NetworkType

String

Yes

No

The network type.

Valid values:

  • CLASSIC

  • VPC

DatabaseUser

String

Yes

Yes

The account that is used to connect to the database instance.

None.

InstanceType

String

Yes

No

The type of the database instance.

Valid values:

  • MySQL

  • SQLServer

  • PostgreSQL

  • Oracle

  • DRDS

  • OceanBase

  • Mongo

  • Redis

DataLinkName

String

No

No

The name of the database link for cross-database queries.

None.

QueryTimeout

Integer

Yes

Yes

The timeout period for querying data.

Unit: seconds.

Return values

Fn::GetAtt

  • InstanceId: the ID of the database instance.

  • Port: the port number that is used to connect to the database instance.

  • Host: the host address that is used to connect to the database instance.

Examples

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  InstanceSource:
    Type: String
    Description: >-
      The source of the database instance. Valid values:
      PUBLIC_OWN: an on-premises database built on the public network
      RDS: an ApsaraDB for RDS (RDS) instance.
      ECS_OWN: an on-premises database built on an Elastic Compute Service (ECS)
      instance.
      VPC_IDC: an on-premises database built in an Internet data center (IDC) in
      Virtual Private
      Cloud (VPC).
  DatabasePassword:
    Type: String
    Description: The logon password of the database instance.
  Port:
    Type: Number
    Description: The connection port of the database instance.
  Host:
    Type: String
    Description: The endpoint of the database instance.
  ExportTimeout:
    Type: Number
    Description: 'The timeout period for exporting the database instance. Unit: seconds.'
  SafeRule:
    Type: String
    Description: >-
      The security rule of the database instance. Enter the name of the security
      rule for
      your enterprise.
      Note To query a specified security rule, log on to the DMS Enterprise
      console and choose
      System Management > Security Rules. The security rule appears in the
      security rule
      list.
  DdlOnline:
    Type: Number
    Description: >-
      [Important] Specifies whether to enable the online data description
      language (DDL)

      service. Currently, this service is available only for the MySQL and
      PolarDB databases.
      0: The service is disabled.
      1: The native online DDL service prevails.
      2: Data change without table locking provided by DMS prevails.
  EnvType:
    Type: String
    Description: >-
      The type of the environment to which the database instance belongs. Valid
      values:
      product: the production environment.
      dev: the test environment.
  Tid:
    Type: Number
    Description: >-
      The ID of the tenant.
      Note To query the ID, log on to the DMS Enterprise console and choose
      System Management
      > Instance Management or System Management > User Management. The ID of
      the tenant
      appears in the Service Specification section.
  UseDsql:
    Type: Number
    Description: >-
      Specifies whether to enable cross-database query for the database
      instance. Valid
      values:
      0: disabled
      1: enabled
    AllowedValues:
      - 0
      - 1
  Sid:
    Type: String
    Description: >-
      The system ID (SID) of the database instance.
      Note You must specify this parameter if the InstanceType parameter is set
      to PostgreSQL or Oracle.
  EcsInstanceId:
    Type: String
    Description: >-
      The ID of the ECS instance to which the database instance belongs.
      Note You must specify this parameter if the InstanceSource parameter is
      set to ECS_OWN.
  VpcId:
    Type: String
    Description: >-
      The ID of the VPC to which the database instance belongs.
      Note You must specify this parameter if the InstanceSource parameter is
      set to VPC_IDC.
  DbaUid:
    Type: Number
    Description: >-
      The Alibaba Cloud unique ID (UID) of the database administrator (DBA) of
      the database
      instance.
      Note To query the UID, log on to the DMS Enterprise console and choose
      System Management
      > User Management.
  EcsRegion:
    Type: String
    Description: >-
      The region where the database instance resides.
      Note You must specify this parameter if the InstanceSource parameter is
      set to ECS_OWN or VPC_IDC.
  NetworkType:
    Type: String
    Description: |-
      The network type of the database instance. Valid values:
      CLASSIC
      VPC
    AllowedValues:
      - CLASSIC
      - VPC
  InstanceAlias:
    Type: String
    Description: >-
      The alias of the database instance. The alias helps you quickly find the
      required
      instance.
  DatabaseUser:
    Type: String
    Description: The logon username of the database instance.
  InstanceType:
    Type: String
    Description: >-
      The type of the database instance. Valid values: MySQL, SQLServer,
      PostgreSQL, Oracle, DRDS, OceanBase, Mongo, Redis
    AllowedValues:
      - MySQL
      - SQLServer
      - PostgreSQL
      - Oracle
      - DRDS
      - OceanBase
      - Mongo
      - Redis
  DataLinkName:
    Type: String
    Description: The name of the data link for cross-database query.
  QueryTimeout:
    Type: Number
    Description: 'The timeout period for querying the database instance. Unit: seconds.'
Resources:
  Instance:
    Type: 'ALIYUN::DMS::Instance'
    Properties:
      InstanceSource:
        Ref: InstanceSource
      DatabasePassword:
        Ref: DatabasePassword
      Port:
        Ref: Port
      Host:
        Ref: Host
      ExportTimeout:
        Ref: ExportTimeout
      SafeRule:
        Ref: SafeRule
      DdlOnline:
        Ref: DdlOnline
      EnvType:
        Ref: EnvType
      Tid:
        Ref: Tid
      UseDsql:
        Ref: UseDsql
      Sid:
        Ref: Sid
      EcsInstanceId:
        Ref: EcsInstanceId
      VpcId:
        Ref: VpcId
      DbaUid:
        Ref: DbaUid
      EcsRegion:
        Ref: EcsRegion
      NetworkType:
        Ref: NetworkType
      InstanceAlias:
        Ref: InstanceAlias
      DatabaseUser:
        Ref: DatabaseUser
      InstanceType:
        Ref: InstanceType
      DataLinkName:
        Ref: DataLinkName
      QueryTimeout:
        Ref: QueryTimeout
Outputs:
  InstanceId:
    Description: The ID of the database instance.
    Value:
      'Fn::GetAtt':
        - Instance
        - InstanceId
  Port:
    Description: The connection port of the database instance.
    Value:
      'Fn::GetAtt':
        - Instance
        - Port
  Host:
    Description: The endpoint of the database instance.
    Value:
      'Fn::GetAtt':
        - Instance
        - Host

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "InstanceSource": {
      "Type": "String",
      "Description": "The source of the database instance. Valid values:\nPUBLIC_OWN: an on-premises database built on the public network.\nRDS: an ApsaraDB for RDS (RDS) instance.\nECS_OWN: an on-premises database built on an Elastic Compute Service (ECS) instance.\nVPC_IDC: an on-premises database built in an Internet data center (IDC) in Virtual Private\nCloud (VPC)."
    },
    "DatabasePassword": {
      "Type": "String",
      "Description": "The logon password of the database instance."
    },
    "Port": {
      "Type": "Number",
      "Description": "The connection port of the database instance."
    },
    "Host": {
      "Type": "String",
      "Description": "The endpoint of the database instance."
    },
    "ExportTimeout": {
      "Type": "Number",
      "Description": "The timeout period for exporting the database instance. Unit: seconds."
    },
    "SafeRule": {
      "Type": "String",
      "Description": "The security rule of the database instance. Enter the name of the security rule for\nyour enterprise.\nNote To query a specified security rule, log on to the DMS Enterprise console and choose\nSystem Management > Security Rules. The security rule appears in the security rule\nlist."
    },
    "DdlOnline": {
      "Type": "Number",
      "Description": "[Important] Specifies whether to enable the online data description language (DDL)\nservice. Currently, this service is available only for the MySQL and PolarDB databases.\n0: The service is disabled.\n1: The native online DDL service prevails.\n2: Data change without table locking provided by DMS prevails."
    },
    "EnvType": {
      "Type": "String",
      "Description": "The type of the environment to which the database instance belongs. Valid values:\nproduct: the production environment.\ndev: the test environment."
    },
    "Tid": {
      "Type": "Number",
      "Description": "The ID of the tenant.\nNote To query the ID, log on to the DMS Enterprise console and choose System Management\n> Instance Management or System Management > User Management. The ID of the tenant\nappears in the Service Specification section."
    },
    "UseDsql": {
      "Type": "Number",
      "Description": "Specifies whether to enable cross-database query for the database instance. Valid\nvalues:\n0: disabled\n1: enabled",
      "AllowedValues": [
        0,
        1
      ]
    },
    "Sid": {
      "Type": "String",
      "Description": "The system ID (SID) of the database instance.\nNote You must specify this parameter if the InstanceType parameter is set to PostgreSQL or Oracle."
    },
    "EcsInstanceId": {
      "Type": "String",
      "Description": "The ID of the ECS instance to which the database instance belongs.\nNote You must specify this parameter if the InstanceSource parameter is set to ECS_OWN."
    },
    "VpcId": {
      "Type": "String",
      "Description": "The ID of the VPC to which the database instance belongs.\nNote You must specify this parameter if the InstanceSource parameter is set to VPC_IDC."
    },
    "DbaUid": {
      "Type": "Number",
      "Description": "The Alibaba Cloud unique ID (UID) of the database administrator (DBA) of the database\ninstance.\nNote To query the UID, log on to the DMS Enterprise console and choose System Management\n> User Management."
    },
    "EcsRegion": {
      "Type": "String",
      "Description": "The region where the database instance resides.\nNote You must specify this parameter if the InstanceSource parameter is set to ECS_OWN or VPC_IDC."
    },
    "NetworkType": {
      "Type": "String",
      "Description": "The network type of the database instance. Valid values:\nCLASSIC\nVPC",
      "AllowedValues": [
        "CLASSIC",
        "VPC"
      ]
    },
    "InstanceAlias": {
      "Type": "String",
      "Description": "The alias of the database instance. The alias helps you quickly find the required\ninstance."
    },
    "DatabaseUser": {
      "Type": "String",
      "Description": "The logon username of the database instance."
    },
    "InstanceType": {
      "Type": "String",
      "Description": "The type of the database instance. Valid values: MySQL, SQLServer, PostgreSQL, Oracle, DRDS, OceanBase, Mongo, Redis",
      "AllowedValues": [
        "MySQL",
        "SQLServer",
        "PostgreSQL",
        "Oracle",
        "DRDS",
        "OceanBase",
        "Mongo",
        "Redis"
      ]
    },
    "DataLinkName": {
      "Type": "String",
      "Description": "The name of the data link for cross-database query."
    },
    "QueryTimeout": {
      "Type": "Number",
      "Description": "The timeout period for querying the database instance. Unit: seconds."
    }
  },
  "Resources": {
    "Instance": {
      "Type": "ALIYUN::DMS::Instance",
      "Properties": {
        "InstanceSource": {
          "Ref": "InstanceSource"
        },
        "DatabasePassword": {
          "Ref": "DatabasePassword"
        },
        "Port": {
          "Ref": "Port"
        },
        "Host": {
          "Ref": "Host"
        },
        "ExportTimeout": {
          "Ref": "ExportTimeout"
        },
        "SafeRule": {
          "Ref": "SafeRule"
        },
        "DdlOnline": {
          "Ref": "DdlOnline"
        },
        "EnvType": {
          "Ref": "EnvType"
        },
        "Tid": {
          "Ref": "Tid"
        },
        "UseDsql": {
          "Ref": "UseDsql"
        },
        "Sid": {
          "Ref": "Sid"
        },
        "EcsInstanceId": {
          "Ref": "EcsInstanceId"
        },
        "VpcId": {
          "Ref": "VpcId"
        },
        "DbaUid": {
          "Ref": "DbaUid"
        },
        "EcsRegion": {
          "Ref": "EcsRegion"
        },
        "NetworkType": {
          "Ref": "NetworkType"
        },
        "InstanceAlias": {
          "Ref": "InstanceAlias"
        },
        "DatabaseUser": {
          "Ref": "DatabaseUser"
        },
        "InstanceType": {
          "Ref": "InstanceType"
        },
        "DataLinkName": {
          "Ref": "DataLinkName"
        },
        "QueryTimeout": {
          "Ref": "QueryTimeout"
        }
      }
    }
  },
  "Outputs": {
    "InstanceId": {
      "Description": "The ID of the database instance.",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "InstanceId"
        ]
      }
    },
    "Port": {
      "Description": "The connection port of the database instance.",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "Port"
        ]
      }
    },
    "Host": {
      "Description": "The endpoint of the database instance.",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "Host"
        ]
      }
    }
  }
}