ALIYUN::ROCKETMQ5::Instance is used to create a Message Queue for Apache RocketMQ V5.0 instance.

Syntax

{
  "Type": "ALIYUN::ROCKETMQ5::Instance",
  "Properties": {
    "AutoRenewPeriod": Integer,
    "ProductInfo": Map,
    "ResourceGroupId": String,
    "AutoRenew": Boolean,
    "Period": Integer,
    "InternetInfo": Map,
    "SubSeriesCode": String,
    "Remark": String,
    "InstanceName": String,
    "SeriesCode": String,
    "PaymentType": String,
    "VpcInfo": Map,
    "PeriodUnit": String
  }
}

Properties

PropertyTypeRequiredEditableDescriptionConstraint
AutoRenewPeriodIntegerNoNoThe auto-renewal cycle of the instance. This property takes effect only when auto-renewal is enabled for the instance.

Unit: months.

Valid values: 1, 2, 3, 6, and 12.

ProductInfoMapYesYesThe information about the instance specification. For more information, see ProductInfo properties.
ResourceGroupIdStringNoNoThe ID of the resource group. None.
AutoRenewBooleanNoNoSpecifies whether to enable auto-renewal for the instance. This property takes effect only when the PaymentType property is set to Subscription.

Valid values:

  • true
  • false
PeriodIntegerNoNoThe subscription duration of the instance. This property takes effect only when the PaymentType property is set to Subscription.

Valid values:

  • Valid values if you set the PeriodUnit property to Month: 1, 2, 3, 4, 5, and 6.
  • Valid values if you set the PeriodUnit property to Year: 1, 2, and 3.
InternetInfoMapYesYesThe configurations of the Internet. For more information, see InternetInfo properties.
SubSeriesCodeStringYesNoThe sub-category edition of the instance.

Valid values:

  • cluster_ha: High-availability Cluster Edition. If you set the SeriesCode property to ultimate, you must set the SubSeriesCode property to cluster_ha.
  • single_node: Standalone Edition. Standalone Edition instances are suitable for test environments.
Note After you create a Message Queue for Apache RocketMQ V5.0 instance, you cannot change the sub-category edition of the instance.
RemarkStringNoYesThe remarks about the instance. None.
InstanceNameStringNoYesThe name of the instance. If you do not specify this property, the instance ID is used as the instance name.
SeriesCodeStringYesNoThe primary edition of the instance. Valid values:
  • standard: Standard Edition
  • ultimate: Platinum Edition
  • professional: Professional Edition
Note After you create a Message Queue for Apache RocketMQ V5.0 instance, you can only upgrade the primary edition of the instance. The following editions are sorted in ascending order: Standard Edition, Professional Edition, and Platinum Edition. You cannot downgrade the primary edition of the instance. For example, a Message Queue for Apache RocketMQ V5.0 instance can only be upgraded from Standard Edition to Professional Edition, but cannot be downgraded from Professional Edition to Standard Edition.
PaymentTypeStringNoNoThe billing method of the instance. Valid values:
  • PayAsYouGo: You pay for instances after you use them.
  • Subscription: You pay for instances before you use them.
VpcInfoMapYesNoThe configurations of the virtual private cloud (VPC). For more information, see VpcInfo properties.
PeriodUnitStringNoNoThe minimum unit of the subscription duration. Valid values:
  • Month
  • Year

ProductInfo syntax

"ProductInfo": {
  "SendReceiveRatio": Number,
  "MessageRetentionTime": Integer,
  "AutoScaling": Boolean,
  "MsgProcessSpec": String
}

ProductInfo properties

PropertyTypeRequiredEditableDescriptionConstraint
SendReceiveRatioNumberNoYesThe ratio of the number of messages that you can receive to the number of messages that you can send in the instance. Valid values: 0.2 to 0.5.
MessageRetentionTimeIntegerNoYesThe retention period of the message. Unit: hours. The storage of Message Queue for Apache RocketMQ V5.0 messages is in serverless scaling mode. You are charged based on the actual used storage. The storage capacity of messages varies based on the retention period that you specify for the messages.
AutoScalingBooleanNoNoSpecifies whether to enable burst scaling for the instance. Valid values:
  • true
  • false
After you enable burst scaling, the system allows actual messaging transactions per second (TPS) of Message Queue for Apache RocketMQ instances to exceed the upper limit of the basic computing specification. You are charged for excess TPS usage.
Note Only specific types of instances support burst scaling.
MsgProcessSpecStringYesNoThe computing specification for messaging TPS.

None.

InternetInfo syntax

"InternetInfo": {
  "IpWhitelist": List,
  "InternetSpec": String,
  "FlowOutBandwidth": Integer
}

InternetInfo properties

PropertyTypeRequiredEditableDescriptionConstraint
IpWhitelistListNoYesThe IP addresses in the whitelist that allows access to the instance over the Internet. Only public endpoints support IP address whitelists. VPC endpoints do not support IP address whitelists.
  • If you do not configure an IP address whitelist, all IP addresses are allowed to access a Message Queue for Apache RocketMQ V5.0 broker over the Internet.
  • If you configure an IP address whitelist, only IP addresses in the whitelist are allowed to access a Message Queue for Apache RocketMQ V5.0 broker over the Internet.
InternetSpecStringYesYesSpecifies whether to enable Internet access. Valid values:
  • enable
  • disable
By default, Message Queue for Apache RocketMQ V5.0 instances support VPC access. If you enable Internet access, you are charged for downstream Internet bandwidth.
FlowOutBandwidthIntegerNoYesThe metering method for Internet usage. Valid values:
  • payByBandwidth: The pay-by-bandwidth metering method is used. If you enable Internet access for the instance, you must set this property to payByBandwidth.
  • uninvolved: No metering method is used. If you disable Internet access for the instance, you must set this property to uninvolved.

VpcInfo syntax

"VpcInfo": {
  "VpcId": String,
  "VSwitchId": String
}

VpcInfo properties

PropertyTypeRequiredEditableDescriptionConstraint
VpcIdStringYesNoThe ID of the VPC in which you want to create the instance.
Note After you create a Message Queue for Apache RocketMQ V5.0 instance, you cannot change the VPC of the instance. If you want to change the VPC, you must release the instance and purchase a new instance.
VSwitchIdStringYesNoThe ID of the vSwitch with which you want to associate the instance.
Note After you create a Message Queue for Apache RocketMQ V5.0 instance, you cannot change the vSwitch of the instance. If you want to change the vSwitch, you must release the instance and purchase a new instance.

Return values

Fn::GetAtt

  • InstanceName: the name of the instance.
  • VpcEndpoint: the VPC endpoint of the instance.
  • InstanceId: the ID of the instance.
  • InternetEndpoint: the public endpoint of the instance.

Examples

  • YAML format

    ROSTemplateFormatVersion: '2015-09-01'
    Parameters:
      VpcId:
        Type: String
        AssociationProperty: ALIYUN::ECS::VPC::VPCId
      VSwitchId:
        Type: String
        AssociationProperty: ALIYUN::ECS::VSwitch::VSwitchId
        AssociationPropertyMetadata:
          VpcId: ${VpcId}
    Resources:
      Instance:
        Type: ALIYUN::ROCKETMQ5::Instance
        Properties:
          ProductInfo:
            MsgProcessSpec: rmq.s2.2xlarge
            SendReceiveRatio: 0.2
            MessageRetentionTime: 72
          InternetInfo:
            InternetSpec: disable
            FlowOutBandwidth: uninvolved
          SubSeriesCode: cluster_ha
          SeriesCode: standard
          PaymentType: PayAsYouGo
          VpcInfo:
            VpcId:
              Ref: VpcId
            VSwitchId:
              Ref: VSwitchId
    Outputs:
      InstanceName:
        Description: Instance name.
        Value:
          Fn::GetAtt:
            - Instance
            - InstanceName
      VpcEndpoint:
        Description: VPC endpoint.
        Value:
          Fn::GetAtt:
            - Instance
            - VpcEndpoint
      InstanceId:
        Description: Instance ID created.
        Value:
          Fn::GetAtt:
            - Instance
            - InstanceId
      InternetEndpoint:
        Description: Internet endpoint.
        Value:
          Fn::GetAtt:
            - Instance
            - InternetEndpoint
  • JSON format

    {
      "ROSTemplateFormatVersion": "2015-09-01",
      "Parameters": {
        "VpcId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::ECS::VPC::VPCId"
        },
        "VSwitchId": {
          "Type": "String",
          "AssociationProperty": "ALIYUN::ECS::VSwitch::VSwitchId",
          "AssociationPropertyMetadata": {
            "VpcId": "${VpcId}"
          }
        }
      },
      "Resources": {
        "Instance": {
          "Type": "ALIYUN::ROCKETMQ5::Instance",
          "Properties": {
            "ProductInfo": {
              "MsgProcessSpec": "rmq.s2.2xlarge",
              "SendReceiveRatio": 0.2,
              "MessageRetentionTime": 72
            },
            "InternetInfo": {
              "InternetSpec": "disable",
              "FlowOutBandwidth": "uninvolved"
            },
            "SubSeriesCode": "cluster_ha",
            "SeriesCode": "standard",
            "PaymentType": "PayAsYouGo",
            "VpcInfo": {
              "VpcId": {
                "Ref": "VpcId"
              },
              "VSwitchId": {
                "Ref": "VSwitchId"
              }
            }
          }
        }
      },
      "Outputs": {
        "InstanceName": {
          "Description": "Instance name.",
          "Value": {
            "Fn::GetAtt": [
              "Instance",
              "InstanceName"
            ]
          }
        },
        "VpcEndpoint": {
          "Description": "VPC endpoint.",
          "Value": {
            "Fn::GetAtt": [
              "Instance",
              "VpcEndpoint"
            ]
          }
        },
        "InstanceId": {
          "Description": "Instance ID created.",
          "Value": {
            "Fn::GetAtt": [
              "Instance",
              "InstanceId"
            ]
          }
        },
        "InternetEndpoint": {
          "Description": "Internet endpoint.",
          "Value": {
            "Fn::GetAtt": [
              "Instance",
              "InternetEndpoint"
            ]
          }
        }
      }
    }