Resource Orchestration Service (ROS) integration example

Updated at:

You can use templates from Alibaba Cloud Resource Orchestration Service (ROS) to define your cloud resources and their dependencies. The ROS orchestration engine automatically creates and configures all resources based on the template, enabling automated deployment and operations. This topic describes how to use ROS to query information about an ApsaraDB for RDS instance.

Supported resources

ROS simplifies cloud resource management. You create templates to define Alibaba Cloud resources, such as ECS and ApsaraDB for RDS instances, and their dependencies. The ROS orchestration engine then uses the template to automatically create, configure, and deploy the resources. For more information, see What is Resource Orchestration Service?

You can use ROS to orchestrate ApsaraDB for RDS. These operations involve two types of items: resources and data sources.

Configure permissions

For security, do not use your Alibaba Cloud account to access ApsaraDB for RDS. Instead, create a RAM user, obtain its AccessKey pair, and grant it the required permissions.

  1. Create a RAM user:

    1. Go to the RAM Users page and click Create User.

    2. Set Logon Name to rds-test-operator and select Programmatic Access for Access Method.

    3. Click OK to create the RAM user.

  2. Grant permissions to the RAM user:

    1. Go to the RAM Users page. Find the RAM user and click Add Permissions in the Actions column.

    2. Add the following permission policies to the RAM user:

      • AliyunRDSFullAccess: grants permissions to query and modify ApsaraDB for RDS instances.

        Note

        You can also select AliyunRDSReadOnlyAccess for read-only permissions on ApsaraDB for RDS instances, or create a custom policy based on your business requirements. For more information, see Create a custom permission policy.

      • AliyunROSFullAccess: grants permissions to manage all ROS operations.

    3. Click OK to grant the permissions.

Procedure

  1. Log on to the Resource Orchestration Service (ROS) console.

  2. In the top navigation bar, select a region.

  3. In the left-side navigation pane, choose Stack. On the page that appears, click Create Stack.

  4. Specify a template and click Next.

    This topic shows how to use a custom template to query information about an ApsaraDB for RDS instance. For more information about how to use templates, see Create a stack.

    1. In the Specify Template section, select Select an Existing Template.

    2. Set Template Import Method to Enter Template Content.

    3. In the Template Content section, select ROS and enter the template code.

      The following template shows how to use a DATASOURCE::RDS::DBInstance data source to query information about an ApsaraDB for RDS instance. You can use the template in the JSON or YAML format. For more information, see DATASOURCE::RDS::DBInstance.

      JSON format

      {
        "ROSTemplateFormatVersion": "2015-09-01",
        "Parameters": {
          "DBInstanceId": {
            "Type": "String",
            "Description": {
              "en": "The ID of the instance."
            },
            "Required": false
          }
        },
        "Resources": {
          "ExtensionDataSource": {
            "Type": "DATASOURCE::RDS::DBInstance",
            "Properties": {
              "DBInstanceId": {
                "Ref": "DBInstanceId"
              }
            }
          }
        },
        "Outputs": {
          "DBInstanceMemory": {
            "Description": "The memory capacity of the instance. Unit: MB.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceMemory"
              ]
            }
          },
          "ResourceGroupId": {
            "Description": "The resource group ID.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "ResourceGroupId"
              ]
            }
          },
          "IncrementSourceDBInstanceId": {
            "Description": "The ID of the instance from which incremental data comes. The incremental data of a disaster recovery instance or read-only instance comes from its primary instance. If this parameter is not returned, the instance is a primary instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "IncrementSourceDBInstanceId"
              ]
            }
          },
          "MasterZone": {
            "Description": "The zone ID of the primary instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "MasterZone"
              ]
            }
          },
          "Port": {
            "Description": "The port that is used to connect to the instance over an internal network.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "Port"
              ]
            }
          },
          "LatestKernelVersion": {
            "Description": "The latest minor engine version that is supported by the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "LatestKernelVersion"
              ]
            }
          },
          "ConsoleVersion": {
            "Description": "The type of the proxy that is used by the instance. Valid values:\n1: shared proxy\n2: dedicated proxy",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "ConsoleVersion"
              ]
            }
          },
          "DBInstanceType": {
            "Description": "The type of the instance. Valid values:\nPrimary: primary instance\nReadonly: read-only instance\nGuard: disaster recovery instance\nTemp: temporary instance",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceType"
              ]
            }
          },
          "GeneralGroupName": {
            "Description": "The name of the dedicated cluster to which the instance belongs. This parameter is returned only when the instance is created in an ApsaraDB MyBase cluster that runs MySQL on Standard Edition.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "GeneralGroupName"
              ]
            }
          },
          "InstanceNetworkType": {
            "Description": "The network type of the instance. Valid values:\nClassic\nVPC",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "InstanceNetworkType"
              ]
            }
          },
          "DBInstanceClassType": {
            "Description": "The instance family to which the instance belongs. Valid values:\ns: shared instance family\nx: general-purpose instance family\nd: dedicated instance family\nh: dedicated host instance family",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceClassType"
              ]
            }
          },
          "AutoUpgradeMinorVersion": {
            "Description": "The method that is used to update the minor engine version of the instance. Valid values:\nAuto: automatic update.\nManual: manual update. The minor engine version of the instance is forcefully updated only when the minor engine version in use is phased out.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "AutoUpgradeMinorVersion"
              ]
            }
          },
          "DBInstanceId": {
            "Description": "The instance ID.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceId"
              ]
            }
          },
          "DBInstanceStorage": {
            "Description": "The storage capacity of the instance. Unit: GB.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceStorage"
              ]
            }
          },
          "PGBouncerEnabled": {
            "Description": "Indicates whether PgBouncer is enabled.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "PGBouncerEnabled"
              ]
            }
          },
          "InstructionSetArch": {
            "Description": "The architecture type of the instance. Valid values:\nx86\narm",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "InstructionSetArch"
              ]
            }
          },
          "LockReason": {
            "Description": "The reason why the instance was locked.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "LockReason"
              ]
            }
          },
          "AvailabilityValue": {
            "Description": "The availability of the instance as a percentage.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "AvailabilityValue"
              ]
            }
          },
          "Engine": {
            "Description": "The database engine of the instance. Valid values:\nMySQL\nPostgreSQL\nSQLServer\nMariaDB",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "Engine"
              ]
            }
          },
          "DBInstanceDescription": {
            "Description": "The description of the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceDescription"
              ]
            }
          },
          "IPType": {
            "Description": "The type of the IP address. Only IPv4 addresses are supported.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "IPType"
              ]
            }
          },
          "MaxIOMBPS": {
            "Description": "The maximum I/O throughput. Unit: MB/s.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "MaxIOMBPS"
              ]
            }
          },
          "DBInstanceDiskUsed": {
            "Description": "The disk usage of the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceDiskUsed"
              ]
            }
          },
          "EngineVersion": {
            "Description": "The database engine version.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "EngineVersion"
              ]
            }
          },
          "MaxConnections": {
            "Description": "The maximum number of concurrent connections.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "MaxConnections"
              ]
            }
          },
          "DBInstanceStatus": {
            "Description": "The status of the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceStatus"
              ]
            }
          },
          "DBInstanceClass": {
            "Description": "The instance type of the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceClass"
              ]
            }
          },
          "AccountMaxQuantity": {
            "Description": "The maximum number of accounts that can be created on the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "AccountMaxQuantity"
              ]
            }
          },
          "VSwitchId": {
            "Description": "The vSwitch ID.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "VSwitchId"
              ]
            }
          },
          "TipsLevel": {
            "Description": "The severity level of the exception that is detected on the instance. This parameter is returned only when the instance is created in an ApsaraDB MyBase cluster that runs MySQL on Standard Edition. Valid values:\n1: The instance is normal.\n2: The specifications of the read-only instances do not match the specifications of the primary instance. You must adjust the specifications of these instances based on your business requirements.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "TipsLevel"
              ]
            }
          },
          "LockMode": {
            "Description": "The lock mode of the instance. Valid values:\nUnlock: The instance is not locked.\nManualLock: The instance is manually locked.\nLockByExpiration: The instance is automatically locked due to instance expiration.\nLockByRestoration: The instance is automatically locked due to instance restoration.\nLockByDiskQuota: The instance is automatically locked due to exhausted storage space.\nLockReadInstanceByDiskQuota: The read-only instance is automatically locked due to exhausted storage.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "LockMode"
              ]
            }
          },
          "DeletionProtection": {
            "Description": "Indicates whether the release protection feature is enabled. Valid values:\ntrue\nfalse",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DeletionProtection"
              ]
            }
          },
          "PayType": {
            "Description": "The billing method of the instance. Valid values:\nPostpaid: pay-as-you-go\nPrepaid: subscription",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "PayType"
              ]
            }
          },
          "GuardDBInstanceId": {
            "Description": "The ID of the disaster recovery instance that is attached to the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "GuardDBInstanceId"
              ]
            }
          },
          "DBClusterNodes": {
            "Description": "The information about the node in the cluster.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBClusterNodes"
              ]
            }
          },
          "TimeZone": {
            "Description": "The time zone of the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "TimeZone"
              ]
            }
          },
          "VpcId": {
            "Description": "The virtual private cloud (VPC) ID of the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "VpcId"
              ]
            }
          },
          "MasterInstanceId": {
            "Description": "The ID of the primary instance.\nNote: If this parameter is not returned, the instance is the primary instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "MasterInstanceId"
              ]
            }
          },
          "CurrentKernelVersion": {
            "Description": "The minor engine version of the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "CurrentKernelVersion"
              ]
            }
          },
          "CreationTime": {
            "Description": "The creation time. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "CreationTime"
              ]
            }
          },
          "ConnectionMode": {
            "Description": "The connection mode of the instance. Valid values:\nStandard: standard mode\nSafe: database proxy mode",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "ConnectionMode"
              ]
            }
          },
          "VpcCloudInstanceId": {
            "Description": "The virtual private cloud (VPC) ID of the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "VpcCloudInstanceId"
              ]
            }
          },
          "ReadonlyInstanceSQLDelayedTime": {
            "Description": "The data replication latency from the primary instance to read-only instances, in seconds.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "ReadonlyInstanceSQLDelayedTime"
              ]
            }
          },
          "ProxyType": {
            "Description": "The type of the proxy that is supported by the instance. Valid values:\n0: The instance does not support database proxies.\n1: The instance supports shared proxies, with which the instance runs in multi-tenant mode.\n2: The instance supports dedicated proxies, with which the instance runs in single-tenant mode.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "ProxyType"
              ]
            }
          },
          "ConnectionString": {
            "Description": "The internal endpoint of the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "ConnectionString"
              ]
            }
          },
          "ExpireTime": {
            "Description": "The expiration time. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.\nNote: Pay-as-you-go instances never expire.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "ExpireTime"
              ]
            }
          },
          "AdvancedFeatures": {
            "Description": "The advanced features that are enabled for the instance. If multiple advanced features are enabled, the advanced features are separated by commas (,). This parameter is available only to instances that run SQL Server. Valid values:\nLinkedServer\nDistributeTransaction",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "AdvancedFeatures"
              ]
            }
          },
          "DBMaxQuantity": {
            "Description": "The maximum number of databases that can be created on the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBMaxQuantity"
              ]
            }
          },
          "Category": {
            "Description": "The RDS edition of the instance. Valid values:\nBasic: RDS Basic Edition\nHighAvailability: RDS High-availability Edition\ncluster: RDS Cluster Edition for ApsaraDB RDS for MySQL\nAlwaysOn: RDS Cluster Edition for ApsaraDB RDS for SQL Server\nFinance: RDS Enterprise Edition\nServerless_basic: RDS Basic Edition for serverless instances",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "Category"
              ]
            }
          },
          "SuperPermissionMode": {
            "Description": "Indicates whether the instance supports superuser accounts, such as the system administrator (SA) account, the Active Directory (AD) account, and the host account.\nEnable\nDisabled",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "SuperPermissionMode"
              ]
            }
          },
          "DBInstanceNetType": {
            "Description": "The type of the network over which the instance is connected. Valid values:\nInternet: Internet\nIntranet: internal network",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceNetType"
              ]
            }
          },
          "DedicatedHostGroupId": {
            "Description": "The ID of the dedicated cluster.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DedicatedHostGroupId"
              ]
            }
          },
          "TempDBInstanceId": {
            "Description": "The ID of the temporary instance that is attached to the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "TempDBInstanceId"
              ]
            }
          },
          "DBInstanceCPU": {
            "Description": "The number of CPU cores.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceCPU"
              ]
            }
          },
          "SecurityIPList": {
            "Description": "The IP addresses in the IP address whitelist.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "SecurityIPList"
              ]
            }
          },
          "ReadOnlyDBInstanceIds": {
            "Description": "The IDs of the read-only instances that are attached to the primary instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "ReadOnlyDBInstanceIds"
              ]
            }
          },
          "SecurityIPMode": {
            "Description": "The whitelist mode of the instance. Valid values:\nnormal: standard whitelist mode\nsafety: enhanced whitelist mode",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "SecurityIPMode"
              ]
            }
          },
          "MaintainTime": {
            "Description": "The maintenance window of the instance. The time is displayed in UTC. Note: The maintenance window on the ApsaraDB RDS console is this value plus eight hours.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "MaintainTime"
              ]
            }
          },
          "ZoneId": {
            "Description": "The zone ID.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "ZoneId"
              ]
            }
          },
          "Collation": {
            "Description": "The character set collation of the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "Collation"
              ]
            }
          },
          "DBInstanceStorageType": {
            "Description": "The storage type of the instance. Valid values:\nlocal_ssd and ephemeral_ssd: local SSD\ncloud_ssd: standard SSD\ncloud_essd: enhanced SSD (ESSD)",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "DBInstanceStorageType"
              ]
            }
          },
          "MaxIOPS": {
            "Description": "The maximum number of I/O requests per second.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "MaxIOPS"
              ]
            }
          },
          "SlaveZones": {
            "Description": "Information about the secondary instance's zone.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "SlaveZones"
              ]
            }
          },
          "Extra": {
            "Description": "The extended information of the instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "Extra"
              ]
            }
          },
          "ServerlessConfig": {
            "Description": "The settings of the serverless instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "ServerlessConfig"
              ]
            }
          },
          "BabelfishConfig": {
            "Description": "The configuration of the Babelfish feature for the ApsaraDB RDS for PostgreSQL instance.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "BabelfishConfig"
              ]
            }
          },
          "Tips": {
            "Description": "Information about exceptions detected on the instance. This parameter is returned only when the instance is created in an ApsaraDB MyBase cluster that runs MySQL on Standard Edition.",
            "Value": {
              "Fn::GetAtt": [
                "ExtensionDataSource",
                "Tips"
              ]
            }
          }
        }
      }
                              

      YAML format

      ROSTemplateFormatVersion: '2015-09-01'
      Parameters:
        DBInstanceId:
          Description:
            en: The ID of the instance.
          Required: false
          Type: String
      Resources:
        ExtensionDataSource:
          Properties:
            DBInstanceId:
              Ref: DBInstanceId
          Type: DATASOURCE::RDS::DBInstance
      Outputs:
        AccountMaxQuantity:
          Description: The maximum number of accounts that can be created on the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - AccountMaxQuantity
        AdvancedFeatures:
          Description: 'The advanced features that are enabled for the instance. If multiple
            advanced features are enabled, the advanced features are separated by commas
            (,). This parameter is available only to instances that run SQL Server. Valid
            values:
            LinkedServer
            DistributeTransaction'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - AdvancedFeatures
        AutoUpgradeMinorVersion:
          Description: 'The method that is used to update the minor engine version of the
            instance. Valid values:
            Auto: automatic update.
            Manual: manual update. The minor engine version of the instance is forcefully
            updated only when the minor engine version in use is phased out.'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - AutoUpgradeMinorVersion
        AvailabilityValue:
          Description: The availability of the instance as a percentage.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - AvailabilityValue
        BabelfishConfig:
          Description: The configuration of the Babelfish feature for the ApsaraDB RDS for
            PostgreSQL instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - BabelfishConfig
        Category:
          Description: 'The RDS edition of the instance. Valid values:
            Basic: RDS Basic Edition
            HighAvailability: RDS High-availability Edition
            cluster: RDS Cluster Edition for ApsaraDB RDS for MySQL
            AlwaysOn: RDS Cluster Edition for ApsaraDB RDS for SQL Server
            Finance: RDS Enterprise Edition
            Serverless_basic: RDS Basic Edition for serverless instances'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - Category
        Collation:
          Description: The character set collation of the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - Collation
        ConnectionMode:
          Description: 'The connection mode of the instance. Valid values:
            Standard: standard mode
            Safe: database proxy mode'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - ConnectionMode
        ConnectionString:
          Description: The internal endpoint of the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - ConnectionString
        ConsoleVersion:
          Description: 'The type of the proxy that is used by the instance. Valid values:
            1: shared proxy
            2: dedicated proxy'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - ConsoleVersion
        CreationTime:
          Description: The creation time. The time follows the ISO 8601 standard in the
            yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - CreationTime
        CurrentKernelVersion:
          Description: The minor engine version of the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - CurrentKernelVersion
        DBClusterNodes:
          Description: The information about the node in the cluster.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBClusterNodes
        DBInstanceCPU:
          Description: The number of CPU cores.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceCPU
        DBInstanceClass:
          Description: The instance type of the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceClass
        DBInstanceClassType:
          Description: 'The instance family to which the instance belongs. Valid values:
            s: shared instance family
            x: general-purpose instance family
            d: dedicated instance family
            h: dedicated host instance family'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceClassType
        DBInstanceDescription:
          Description: The description of the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceDescription
        DBInstanceDiskUsed:
          Description: The disk usage of the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceDiskUsed
        DBInstanceId:
          Description: The instance ID.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceId
        DBInstanceMemory:
          Description: 'The memory capacity of the instance. Unit: MB.'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceMemory
        DBInstanceNetType:
          Description: 'The type of the network over which the instance is connected. Valid
            values:
            Internet: Internet
            Intranet: internal network'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceNetType
        DBInstanceStatus:
          Description: The status of the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceStatus
        DBInstanceStorage:
          Description: 'The storage capacity of the instance. Unit: GB.'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceStorage
        DBInstanceStorageType:
          Description: 'The storage type of the instance. Valid values:
            local_ssd and ephemeral_ssd: local SSD
            cloud_ssd: standard SSD
            cloud_essd: enhanced SSD (ESSD)'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceStorageType
        DBInstanceType:
          Description: 'The type of the instance. Valid values:
            Primary: primary instance
            Readonly: read-only instance
            Guard: disaster recovery instance
            Temp: temporary instance'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBInstanceType
        DBMaxQuantity:
          Description: The maximum number of databases that can be created on the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DBMaxQuantity
        DedicatedHostGroupId:
          Description: The ID of the dedicated cluster.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DedicatedHostGroupId
        DeletionProtection:
          Description: 'Indicates whether the release protection feature is enabled. Valid
            values:
            true
            false'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - DeletionProtection
        Engine:
          Description: 'The database engine of the instance. Valid values:
            MySQL
            PostgreSQL
            SQLServer
            MariaDB'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - Engine
        EngineVersion:
          Description: The database engine version.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - EngineVersion
        ExpireTime:
          Description: 'The expiration time. The time follows the ISO 8601 standard in the
            yyyy-MM-ddTHH:mm:ssZ format. The time is displayed in UTC.
            Note: Pay-as-you-go instances never expire.'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - ExpireTime
        Extra:
          Description: The extended information of the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - Extra
        GeneralGroupName:
          Description: The name of the dedicated cluster to which the instance belongs.
            This parameter is returned only when the instance is created in an ApsaraDB
            MyBase cluster that runs MySQL on Standard Edition.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - GeneralGroupName
        GuardDBInstanceId:
          Description: The ID of the disaster recovery instance that is attached to the
            instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - GuardDBInstanceId
        IPType:
          Description: The type of the IP address. Only IPv4 addresses are supported.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - IPType
        IncrementSourceDBInstanceId:
          Description: The ID of the instance from which incremental data comes. The incremental
            data of a disaster recovery instance or read-only instance comes from its primary
            instance. If this parameter is not returned, the instance is a primary instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - IncrementSourceDBInstanceId
        InstanceNetworkType:
          Description: 'The network type of the instance. Valid values:
            Classic
            VPC'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - InstanceNetworkType
        InstructionSetArch:
          Description: 'The architecture type of the instance. Valid values:
            x86
            arm'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - InstructionSetArch
        LatestKernelVersion:
          Description: The latest minor engine version that is supported by the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - LatestKernelVersion
        LockMode:
          Description: 'The lock mode of the instance. Valid values:
            Unlock: The instance is not locked.
            ManualLock: The instance is manually locked.
            LockByExpiration: The instance is automatically locked due to instance expiration.
            LockByRestoration: The instance is automatically locked due to instance restoration.
            LockByDiskQuota: The instance is automatically locked due to exhausted storage
            space.
            LockReadInstanceByDiskQuota: The read-only instance is automatically
            locked due to exhausted storage.'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - LockMode
        LockReason:
          Description: The reason why the instance was locked.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - LockReason
        MaintainTime:
          Description: 'The maintenance window of the instance. The time is displayed in
            UTC. Note: The maintenance window on the ApsaraDB RDS console is this value
            plus eight hours.'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - MaintainTime
        MasterInstanceId:
          Description: 'The ID of the primary instance.
            Note: If this parameter is not returned, the instance is the primary instance.'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - MasterInstanceId
        MasterZone:
          Description: The zone ID of the primary instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - MasterZone
        MaxConnections:
          Description: The maximum number of concurrent connections.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - MaxConnections
        MaxIOMBPS:
          Description: 'The maximum I/O throughput. Unit: MB/s.'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - MaxIOMBPS
        MaxIOPS:
          Description: The maximum number of I/O requests per second.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - MaxIOPS
        PGBouncerEnabled:
          Description: Indicates whether PgBouncer is enabled.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - PGBouncerEnabled
        PayType:
          Description: 'The billing method of the instance. Valid values:
            Postpaid: pay-as-you-go
            Prepaid: subscription'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - PayType
        Port:
          Description: The port that is used to connect to the instance over an internal
            network.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - Port
        ProxyType:
          Description: 'The type of the proxy that is supported by the instance. Valid values:
            0: The instance does not support database proxies.
            1: The instance supports shared proxies, with which the instance runs in multi-tenant
            mode.
            2: The instance supports dedicated proxies, with which the instance runs in
            single-tenant mode.'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - ProxyType
        ReadOnlyDBInstanceIds:
          Description: The IDs of the read-only instances that are attached to the primary
            instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - ReadOnlyDBInstanceIds
        ReadonlyInstanceSQLDelayedTime:
          Description: The data replication latency from the primary instance to read-only
            instances, in seconds.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - ReadonlyInstanceSQLDelayedTime
        ResourceGroupId:
          Description: The resource group ID.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - ResourceGroupId
        SecurityIPList:
          Description: The IP addresses in the IP address whitelist.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - SecurityIPList
        SecurityIPMode:
          Description: 'The whitelist mode of the instance. Valid values:
            normal: standard whitelist mode
            safety: enhanced whitelist mode'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - SecurityIPMode
        ServerlessConfig:
          Description: The settings of the serverless instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - ServerlessConfig
        SlaveZones:
          Description: Information about the secondary instance's zone.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - SlaveZones
        SuperPermissionMode:
          Description: 'Indicates whether the instance supports superuser accounts, such
            as the system administrator (SA) account, the Active Directory (AD) account,
            and the host account.
            Enable
            Disabled'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - SuperPermissionMode
        TempDBInstanceId:
          Description: The ID of the temporary instance that is attached to the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - TempDBInstanceId
        TimeZone:
          Description: The time zone of the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - TimeZone
        Tips:
          Description: Information about exceptions detected on the instance.
            This parameter is returned only when the instance is created in an ApsaraDB
            MyBase cluster that runs MySQL on Standard Edition.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - Tips
        TipsLevel:
          Description: 'The severity level of the exception that is detected on the instance.
            This parameter is returned only when the instance is created in an ApsaraDB
            MyBase cluster that runs MySQL on Standard Edition. Valid values:
            1: The instance is normal.
            2: The specifications of the read-only instances do not match the specifications
            of the primary instance. You must adjust the specifications of these instances
            based on your business requirements.'
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - TipsLevel
        VSwitchId:
          Description: The vSwitch ID.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - VSwitchId
        VpcCloudInstanceId:
          Description: The virtual private cloud (VPC) ID of the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - VpcCloudInstanceId
        VpcId:
          Description: The virtual private cloud (VPC) ID of the instance.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - VpcId
        ZoneId:
          Description: The zone ID.
          Value:
            Fn::GetAtt:
            - ExtensionDataSource
            - ZoneId
                              
  5. Configure parameters.

    Parameter

    Required

    Description

    Example

    Stack Name

    Yes

    The name of the stack.

    Rds_Test

    DBInstanceId

    Yes

    The ID of the ApsaraDB for RDS instance.

    rm-bp1tuz16pa5x8****

    Configure Stack Settings

    No

    The configuration parameters of the stack.

    See Configure stack parameters.

  6. Click Create.

  7. After the stack is created, click the Output tab to view the instance information.