ALIYUN::AMQP::Instance

ALIYUN::AMQP::Instance类型用于创建一个消息队列RabbitMQ实例。

语法

{
  "Type": "ALIYUN::AMQP::Instance",
  "Properties": {
    "MaxTps": Number,
    "MaxEipTps": Number,
    "SupportEip": String,
    "Period": Number,
    "StorageSize": Number,
    "PayType": String,
    "QueueCapacity": Number,
    "TracingStorageTime": Number,
    "InstanceName": String,
    "OrderNum": Number,
    "SupportTracing": String,
    "InstanceType": String,
    "PeriodUnit": String
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

InstanceType

String

配置实例规格类型。

取值:

  • professional:专业版。

  • enterprise:企业版。

  • vip:铂金版。

MaxTps

Number

配置私网TPS流量峰值。

取值:

  • 1000

  • 1500

  • 2000

  • 2500

  • 3000

  • 4000

  • 5000

  • 8000

  • 10000

  • 15000

  • 20000

  • 25000

  • 30000

  • 40000

  • 50000

  • 100000

  • 200000

  • 300000

  • 500000

  • 800000

  • 1000000

单位:次/秒 。

QueueCapacity

Number

配置Queue的数量上限。

取值范围为50~6000。单位:个。

说明

配置Queue的数量取值要求为50的整数倍,在创建资源时,当用户指定的配置未达到50的整数倍时,会自动将用户配置的Queue数量设置为50的整数倍取值。

例如:当设置Queue的数量上限为60时,创建资源时会自动传入该配置为100。

StorageSize

Number

配置消息存储空间。

取值:

  • 专业版实例和企业版实例:固定为200。

  • 铂金版实例:m×100,其中m的取值范围为7~28。

单位:GB。

InstanceName

String

实例名称。

MaxEipTps

Number

配置公网TPS流量峰值。

取值范围:128~45000 TPS。

说明

公网TPS流量峰值取值要求为128的整数倍,当用户指定的配置未到达128的整数倍取值时,在创建资源时会自动将该配置设置为对应的128整数倍取值。

例如:当设置公网TPS流量峰值配置为130 TPS时,创建资源时会自动传入该配置为256 TPS。

OrderNum

Number

配置创建实例的数量。

取值范围为1~9999。

单位:个。

PayType

String

付费类型。

取值:Subscription表示为预付费。

Period

Number

预付费周期。

取值:

  • 1

  • 2

  • 3

  • 6

  • 12

  • 24

  • 36

单位:月 。

PeriodUnit

String

自动续费周期。

取值:

  • Month:月。

  • Year:年。

SupportEip

String

配置实例是否支持公网。

取值:

  • True:支持公网。

  • False:不支持公网。

SupportTracing

String

配置是否开通消息轨迹功能。

取值:

  • True:开通消息轨迹功能。

  • False:不开通消息轨迹功能。

TracingStorageTime

Number

配置消息轨迹的保存时长。

取值:

  • 3

  • 5

  • 7

单位:天。

返回值

Fn::GetAtt

InstanceId:实例ID。

PrivateEndpoint:VPC接入点。

ClassicEndpoint:经典接入点。

PublicEndpoint:公网接入点。

示例

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  MaxTps:
    Type: Number
    Description: |
      If instance type is professional, the valid value is [1000, 1500, 2000, 2500, 3000, 4000, 5000].
      If instance type is enterprise, the valid value is [3000, 5000, 8000, 10000, 15000, 20000, 3000040000, 50000, 80000, 10000].
      If instance type is vip, the valid value is [8000, 15000, 25000, 40000, 50000, 100000, 200000, 300000, 500000, 800000, 1000000].
    AllowedValues:
      - 1000
      - 1500
      - 2000
      - 2500
      - 3000
      - 4000
      - 5000
      - 8000
      - 10000
      - 15000
      - 20000
      - 25000
      - 30000
      - 40000
      - 50000
      - 100000
      - 200000
      - 300000
      - 500000
      - 800000
      - 1000000
  StorageSize:
    Type: Number
    Description: |-
      The storage size. It is valid when instance_type is vip.
      If instance type is professional or enterprise, the valid value is 200.
      If instance type is vip, the valid value is [700, 2800] with the step size 100
    MinValue: 200
    MaxValue: 2800
  QueueCapacity:
    Type: Number
    Description: |-
      The queue capacity. If instance type is professional, the valid value is [50, 1000] with the step size 5.
      If instance type is enterprise, the valid value is [200, 6000] with the step size 100
      If instance type is vip, the valid value is [200, 80000] with the step size 100
    MinValue: 50
    MaxValue: 80000
  InstanceType:
    Type: String
    Description: 'The Instance Type. Valid values: professional, enterprise, vip.'
    AllowedValues:
      - professional
      - enterprise
      - vip
Resources:
  Instance:
    Type: ALIYUN::AMQP::Instance
    Properties:
      MaxTps:
        Ref: MaxTps
      StorageSize:
        Ref: StorageSize
      QueueCapacity:
        Ref: QueueCapacity
      InstanceType:
        Ref: InstanceType
Outputs:
  InstanceId:
    Description: The ID of the instance.
    Value:
      Fn::GetAtt:
        - Instance
        - InstanceId

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "MaxTps": {
      "Type": "Number",
      "Description": "If instance type is professional, the valid value is [1000, 1500, 2000, 2500, 3000, 4000, 5000].\nIf instance type is enterprise, the valid value is [3000, 5000, 8000, 10000, 15000, 20000, 3000040000, 50000, 80000, 10000].\nIf instance type is vip, the valid value is [8000, 15000, 25000, 40000, 50000, 100000, 200000, 300000, 500000, 800000, 1000000].\n",
      "AllowedValues": [
        1000,
        1500,
        2000,
        2500,
        3000,
        4000,
        5000,
        8000,
        10000,
        15000,
        20000,
        25000,
        30000,
        40000,
        50000,
        100000,
        200000,
        300000,
        500000,
        800000,
        1000000
      ]
    },
    "StorageSize": {
      "Type": "Number",
      "Description": "The storage size. It is valid when instance_type is vip.\nIf instance type is professional or enterprise, the valid value is 200.\nIf instance type is vip, the valid value is [700, 2800] with the step size 100",
      "MinValue": 200,
      "MaxValue": 2800
    },
    "QueueCapacity": {
      "Type": "Number",
      "Description": "The queue capacity. If instance type is professional, the valid value is [50, 1000] with the step size 5.\nIf instance type is enterprise, the valid value is [200, 6000] with the step size 100\nIf instance type is vip, the valid value is [200, 80000] with the step size 100",
      "MinValue": 50,
      "MaxValue": 80000
    },
    "InstanceType": {
      "Type": "String",
      "Description": "The Instance Type. Valid values: professional, enterprise, vip.",
      "AllowedValues": [
        "professional",
        "enterprise",
        "vip"
      ]
    }
  },
  "Resources": {
    "Instance": {
      "Type": "ALIYUN::AMQP::Instance",
      "Properties": {
        "MaxTps": {
          "Ref": "MaxTps"
        },
        "StorageSize": {
          "Ref": "StorageSize"
        },
        "QueueCapacity": {
          "Ref": "QueueCapacity"
        },
        "InstanceType": {
          "Ref": "InstanceType"
        }
      }
    }
  },
  "Outputs": {
    "InstanceId": {
      "Description": "The ID of the instance.",
      "Value": {
        "Fn::GetAtt": [
          "Instance",
          "InstanceId"
        ]
      }
    }
  }
}