ALIYUN::DMS::Instance

ALIYUN::DMS::Instance类型用于录入本企业新数据库实例。

语法

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

属性

属性名称

类型

必须

允许更新

描述

约束

InstanceSource

String

数据库实例来源。

取值:

  • PUBLIC_OWN:公网自建实例。

  • RDS:RDS实例。

  • ECS_OWN:ECS自建实例。

  • VPC_IDC:VPC IDC自建实例。

DatabasePassword

String

数据库访问密码。

Port

Integer

目标数据库的访问端口。

Host

String

目标数据库的主机地址。

ExportTimeout

Integer

导出超时时间。

单位:s(秒)。

SafeRule

String

实例的安全规则,传入企业内的安全规则名称。

DdlOnline

Integer

是否使用online服务。

取值:

  • 0:不使用。

  • 1:原生onlineDDL优先。

  • 2:DMS无锁表结构变更优先。

说明

目前仅支持MySQL和PolarDB。

EnvType

String

环境类型。

取值:

  • product:生产环境。

  • dev:开发环境。

  • pre:预发环境。

  • test:测试环境。

  • sit:SIT环境。

  • uat:UAT环境。

  • pet:压测环境。

  • stag:STAG环境。

Tid

Integer

租户ID。

UseDsql

Integer

是否开启跨实例查询。

取值:

  • 0:不开启。

  • 1:开启。

Sid

String

数据库SID。

InstanceType取值为PostgreSQL、Oracle时该参数必须指定。

EcsInstanceId

String

ECS实例ID。

InstanceSource取值为ECS_OWN该参数必须指定。

VpcId

String

专有网络ID。

InstanceSource取值为VPC_IDC时该参数必须指定。

InstanceAlias

String

实例名称。

DbaUid

Integer

数据库所属阿里云账号的UID。

EcsRegion

String

实例所在地域。

InstanceSource取值为RDS、ECS_OWN或VPC_IDC时该参数必须指定。

NetworkType

String

网络类型。

取值:

  • CLASSIC:经典网络。

  • VPC:专有网络。

DatabaseUser

String

数据库访问账号。

InstanceType

String

数据库类型。

取值:

  • MySQL

  • SQLServer

  • PostgreSQL

  • Oracle

  • DRDS

  • OceanBase

  • Mongo

  • Redis

DataLinkName

String

跨库查询datalink名称。

QueryTimeout

Integer

查询超时时间。

单位:s(秒)。

返回值

Fn::GetAtt

  • InstanceId:数据库实例ID。

  • Port:数据库连接端口。

  • Host:数据库连接地址。

示例

YAML格式

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格式

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