DATASOURCE::REDIS::InstanceClasses is used to query the types of ApsaraDB for Redis instances.

Syntax

{
  "Type": "DATASOURCE::REDIS::InstanceClasses",
  "Properties": {
    "OrderType": String,
    "ZoneId": String,
    "ResourceGroupId": String,
    "InstanceId": String,
    "InstanceChargeType": String,
    "NodeId": String,
    "ProductType": String,
    "AcceptLanguage": String,
    "Engine": String
  }
}

Properties

Property Type Required Editable Description Constraint
OrderType String No Yes The type of the order that you want to place. Valid values:
  • BUY: You place the order to purchase an instance.
  • UPGRADE: You place the order to upgrade the existing specifications of the instance.
  • DOWNGRADE: You place the order to downgrade the specifications of the instance.
ZoneId String No Yes The ID of the zone. You can call the DescribeZones operation to query supported zones.
ResourceGroupId String No Yes The ID of the resource group. None.
InstanceId String No Yes The ID of the instance. This parameter takes effect and is required if you set the OrderType property to UPGRADE or RENEW.
InstanceChargeType String No Yes The billing method of the instance. Default value: PostPaid. Valid values:
  • PrePaid: subscription
  • PostPaid: pay-as-you-go
NodeId String No Yes The ID of the data node. You can call the DescribeLogicInstanceTopology operation to query data node IDs.
Note This property takes effect if you specify the InstanceId property and the instance that you specify is a cluster instance or a read/write splitting instance.
ProductType String No Yes The edition or series of the instances. Valid values:
  • Local: Community Edition instances that use local disks or Enhanced Edition (Tair) performance-enhanced instances that use local disks
  • Tair_rdb: Tair performance-enhanced instances that use cloud disks
  • Tair_scm: Tair persistent memory-optimized instances
  • Tair_essd: Tair storage-optimized instances
  • OnECS: Community Edition instances that use cloud disks
AcceptLanguage String No Yes The language of the return values. Default value: zh-CN. Valid values:
  • zh-CN: Chinese
  • en-US: English
Engine String No Yes The engine type of the instance. Valid values:
  • Redis
  • Memcache

Return values (Fn::GetAtt)

Property Type Description Constraint
InstanceClassIds List The types of the instances. None.
InstanceClasses List The details of the instance types. None.
ZoneId String The ID of the zone. None.
InstanceClass String The type of the instance. None.
SupportedNodeType List The type of the node. Valid values:
  • single: a master node
  • double: master and replica nodes
ShardNumber String The number of shards. None.
Architecture String The architecture of the instance. Valid values:
  • standard: standard architecture
  • cluster: cluster architecture
  • rwsplit: read/write splitting architecture
Version String The engine version of the instance. None.
SeriesType String The series of the instance. Valid values:
  • enhanced_performance_type: performance-enhanced instance
  • hybrid_storage: hybrid-storage instance
EditionType String The edition of the instance. Valid values:
  • Community: Community Edition
  • Enterprise: Tair
Engine String The engine type of the instance. Valid values:
  • Redis
  • Memcache
Capacity Number The memory size. Unit: MB.

Examples

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "OrderType": {
      "Type": "String",
      "Description": "The order type. Valid values:\nBUY: the orders that are used to purchase instances.\nUPGRADE: the orders that are used to upgrade instances.\nDOWNGRADE: the orders that are used to downgrade instances."
    },
    "ZoneId": {
      "Type": "String",
      "Description": "The ID of the zone where PolarDB resources that you want to query reside.\nNote You can call the DescribeRegions operation to query information about zones."
    },
    "ResourceGroupId": {
      "Type": "String",
      "Description": "The ID of the instance.\n Note This parameter is required only if the OrderType parameter is set to UPGRADE or RENEW."
    },
    "InstanceId": {
      "Type": "String",
      "Description": "The ID of the resource group. You can call the ListResourceGroups operation to query the IDs of resource groups.\n Note You can also query the IDs of resource groups in the Resource Management console. For more information, see View basic information about a resource group."
    },
    "InstanceChargeType": {
      "Type": "String",
      "Description": "The billing method. Valid values:\nPrePaid: subscription\nPostPaid: pay-as-you-go\nNote Default value: PrePaid.",
      "Default": "PrePaid"
    },
    "NodeId": {
      "Type": "String",
      "Description": "The ID of the data node for which you want to query available instance types. You can call the DescribeLogicInstanceTopology operation to query the ID of the data node. Remove the number sign (#) and the content that follows the number sign. For example, retain only r-bp10noxlhcoim2****-db-0.\n Note Before you set this parameter, you must set the InstanceId parameter to the ID of an instance in the cluster or read/write splitting architecture."
    },
    "ProductType": {
      "Type": "String",
      "Description": "The edition or series of instances. Valid values:\n Local: ApsaraDB for Redis Community Edition instances or performance-enhanced instances of ApsaraDB for Redis Enhanced Edition (Tair)\n Tair_scm: persistent memory-optimized instances\n Tair_essd: storage-optimized instances"
    },
    "AcceptLanguage": {
      "Type": "String",
      "Description": "The language of the return values. Valid values:\n zh-CN: Chinese. This is the default value.\n en-US: English."
    },
    "Engine": {
      "Type": "String",
      "Description": "The engine type. Valid values:\nRedis\nMemcache"
    }
  },
  "Resources": {
    "ExtensionDataSource": {
      "Type": "DATASOURCE::REDIS::InstanceClasses",
      "Properties": {
        "OrderType": {
          "Ref": "OrderType"
        },
        "ZoneId": {
          "Ref": "ZoneId"
        },
        "ResourceGroupId": {
          "Ref": "ResourceGroupId"
        },
        "InstanceId": {
          "Ref": "InstanceId"
        },
        "InstanceChargeType": {
          "Ref": "InstanceChargeType"
        },
        "NodeId": {
          "Ref": "NodeId"
        },
        "ProductType": {
          "Ref": "ProductType"
        },
        "AcceptLanguage": {
          "Ref": "AcceptLanguage"
        },
        "Engine": {
          "Ref": "Engine"
        }
      }
    }
  },
  "Outputs": {
    "InstanceClasses": {
      "Description": "The list of instance classes.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionDataSource",
          "InstanceClasses"
        ]
      }
    },
    "InstanceClassIds": {
      "Description": "The list of db instance class ids.",
      "Value": {
        "Fn::GetAtt": [
          "ExtensionDataSource",
          "InstanceClassIds"
        ]
      }
    }
  }
}

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  AcceptLanguage:
    Description: "The language of the return values. Valid values:\n zh-CN: Chinese.\
      \ This is the default value.\n en-US: English."
    Type: String
  Engine:
    Description: 'The engine type. Valid values:

      Redis

      Memcache'
    Type: String
  InstanceChargeType:
    Default: PrePaid
    Description: 'The billing method. Valid values:

      PrePaid: subscription

      PostPaid: pay-as-you-go

      Note Default value: PrePaid.'
    Type: String
  InstanceId:
    Description: "The ID of the resource group. You can call the ListResourceGroups\
      \ operation to query the IDs of resource groups.\n Note You can also query the\
      \ IDs of resource groups in the Resource Management console. For more information,\
      \ see View basic information about a resource group."
    Type: String
  NodeId:
    Description: "The ID of the data node for which you want to query available instance\
      \ types. You can call the DescribeLogicInstanceTopology operation to query the\
      \ ID of the data node. Remove the number sign (#) and the content that follows\
      \ the number sign. For example, retain only r-bp10noxlhcoim2****-db-0.\n Note\
      \ Before you set this parameter, you must set the InstanceId parameter to the\
      \ ID of an instance in the cluster or read/write splitting architecture."
    Type: String
  OrderType:
    Description: 'The order type. Valid values:

      BUY: the orders that are used to purchase instances.

      UPGRADE: the orders that are used to upgrade instances.

      DOWNGRADE: the orders that are used to downgrade instances.'
    Type: String
  ProductType:
    Description: "The edition or series of instances. Valid values:\n Local: ApsaraDB\
      \ for Redis Community Edition instances or performance-enhanced instances of\
      \ ApsaraDB for Redis Enhanced Edition (Tair)\n Tair_scm: persistent memory-optimized\
      \ instances\n Tair_essd: storage-optimized instances"
    Type: String
  ResourceGroupId:
    Description: "The ID of the instance.\n Note This parameter is required only if\
      \ the OrderType parameter is set to UPGRADE or RENEW."
    Type: String
  ZoneId:
    Description: 'The ID of the zone where PolarDB resources that you want to query
      reside.

      Note You can call the DescribeRegions operation to query information about zones.'
    Type: String
Resources:
  ExtensionDataSource:
    Properties:
      AcceptLanguage:
        Ref: AcceptLanguage
      Engine:
        Ref: Engine
      InstanceChargeType:
        Ref: InstanceChargeType
      InstanceId:
        Ref: InstanceId
      NodeId:
        Ref: NodeId
      OrderType:
        Ref: OrderType
      ProductType:
        Ref: ProductType
      ResourceGroupId:
        Ref: ResourceGroupId
      ZoneId:
        Ref: ZoneId
    Type: DATASOURCE::REDIS::InstanceClasses
Outputs:
  InstanceClassIds:
    Description: The list of db instance class ids.
    Value:
      Fn::GetAtt:
      - ExtensionDataSource
      - InstanceClassIds
  InstanceClasses:
    Description: The list of instance classes.
    Value:
      Fn::GetAtt:
      - ExtensionDataSource
      - InstanceClasses