ALIYUN::REDIS::PrepayInstance类型用于创建预付费云数据库Redis版实例。

语法

{
  "Type": "ALIYUN::REDIS::PrepayInstance",
  "Properties": {
    "VpcId": String,
    "Capacity": Integer,
    "EvictionPolicy": String,
    "Period": Integer,
    "ZoneId": String,
    "InstanceClass": String,
    "VpcPasswordFree": Boolean,
    "VSwitchId": String,
    "SecurityGroupId": String,
    "EngineVersion": String,
    "Password": String,
    "SSLEnabled": String,
    "InstanceName": String,
    "BackupPolicy": Map,
    "Tags": List,
    "InstanceMaintainTime": Map,
    "DeletionForce": Boolean,
    "AutoPay": Boolean,
    "Connections": Map
  }
}

属性

属性名称 类型 必须 允许更新 描述 约束
EngineVersion String 数据库版本。 取值:
  • 2.8
    说明 已停售,请选择其他版本。
  • 4.0
  • 5.0
VpcId String 专有网络ID。
Capacity Integer 实例的存储容量。 Capacity和InstanceClass需至少指定其中一个参数。
EvictionPolicy String 数据逐出策略。 取值:
  • noeviction:不删除任何key,只是在写操作时返回错误。
  • allkeys-lru:优先删除使用最少的key。
  • volatile-lru:只删除设置失效的key中最少使用的key。
  • allkeys-random:随机删除一些key。
  • volatile-random:只从设置失效的key中,随机删除一些key。
  • volatile-ttl:只删除设置失效的key中存活时间最短的key。
Period Integer 预付费续费时长。 取值:
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 12
  • 24
  • 36

单位:月。

ZoneId String 可用区ID。

当创建的实例属于专有网络时,该参数必须指定。

创建多可用区实例时,调用查询支持的可用区接口查询支持的多可用区ID。

InstanceClass String 实例规格。 更多信息,请参见规格查询导航
VSwitchId String 交换机ID。
SecurityGroupId String 安全组ID。 最多支持设置10个ID,ID之间用半角逗号(,)分隔。
VpcPasswordFree Boolean 是否启用免密码访问专有网络中的实例。 取值:
  • true:启用。
  • false(默认值):禁用。
Password String 实例密码。 长度为8~32个字符。必须包含大写英文字母、小写英文字母、数字和特殊字符中至少三种。支持特殊字符为:!@#$%^&*()_+-=
SSLEnabled String SSL状态。 取值:
  • Disable:关闭。
  • Enable:开启。
  • Update:更新证书。
InstanceName String 实例名称。 长度为2~128个字符。必须以英文字母或汉字开头,可包含英文字母、数字、汉字、下划线(_)、短划线(-)和半角句号(.)。
BackupPolicy Map 备份策略。 更多信息,请参见BackupPolicy属性
Tags List 标签。 每个实例最多可以绑定20个标签。

更多信息,请参见Tags属性

AutoPay Boolean 是否自动付费。 取值:
  • true:自动付费。
  • false(默认值):手动付费。
InstanceMaintainTime Map 实例的可维护时间段。 更多信息,请参见InstanceMaintainTime属性
DeletionForce Boolean 是否在回收时删除实例。 取值:
  • true:在回收时删除实例。
  • false(默认值):在回收时保留实例。
Connections Map 连接地址。 更多信息,请参见Connections属性

BackupPolicy语法

"BackupPolicy": {
  "PreferredBackupPeriod": "String",
  "PreferredBackupTime": "String",
  "EnableBackupLog": "Integer"
}

BackupPolicy属性

属性名称 类型 必须 允许更新 描述 约束
PreferredBackupPeriod String 备份周期。 取值:
  • Monday:星期一。
  • Tuesday:星期二。
  • Wednesday:星期三。
  • Thursday:星期四。
  • Friday:星期五。
  • Saturday:星期六。
  • Sunday:星期日。
PreferredBackupTime String 备份时间。 格式:HH:mmZ-HH:mmZ
EnableBackupLog Integer 开启或关闭增量备份。 取值:
  • 1:开启。
  • 0(默认值):关闭。

InstanceMaintainTime语法

"InstanceMaintainTime": {
  "MaintainStartTime": "String",
  "MaintainEndTime": "String"
}

InstanceMaintainTime属性

属性名称 类型 必须 允许更新 描述 约束
MaintainStartTime String 可维护时间段的开始时间。 格式:HH:mmZ(UTC时间)。例如:需要在北京时间22:00开始,应设置为14:00Z
MaintainEndTime String 可维护时间段的结束时间。 格式:HH:mmZ(UTC时间)。例如:需要在北京时间23:00结束,应设置为15:00Z
说明 开始时间和结束时间的间隔应为1小时,例如:MaintainStartTime为17:00Z,MaintainEndTime为18:00Z

Tags语法

"Tags": [
  {
    "Key": String,
    "Value": String
  }
]  

Tags属性

属性名称 类型 必须 允许更新 描述 约束
Key String 标签键。 在同账号、同地域下,标签键唯一。
Value String 标签值。

Connections语法

"Connections": {
  "VpcPrivateConnection": "Map",
  "ClassicInnerConnection": "Map",
  "DirectConnection": "Map",
  "PublicConnection": "Map"
}

Connections属性

属性名称 类型 必须 允许更新 描述 约束
VpcPrivateConnection Map VPC内网地址。 更多信息,请参见VpcPrivateConnection属性
ClassicInnerConnection Map 经典内网地址。 更多信息,请参见ClassicInnerConnection属性
DirectConnection Map 直接连接地址。您可以根据需要申请直连端点。 更多信息,请参见DirectConnection属性
PublicConnection Map 公共地址。 更多信息,请参见PublicConnection属性

VpcPrivateConnection语法

"VpcPrivateConnection": {
  "ConnectionPort": Integer,
  "ConnectionString": String
}

VpcPrivateConnection属性

属性名称 类型 必须 允许更新 描述 约束
ConnectionPort Integer Redis实例的ApsaraDB服务端口号。 取值范围:1024~65535。
ConnectionString String 公共端点的前缀。 长度为8~64个字符,必须以小写英文字母开头。可包含小写英文字母和数字。

PublicConnection语法

"PublicConnection": {
  "ConnectionPort": Integer,
  "ConnectionString": String
}

PublicConnection属性

属性名称 类型 必须 允许更新 描述 约束
ConnectionPort Integer Redis实例的ApsaraDB服务端口号。 取值范围:1024~65535。
ConnectionString String 公共端点的前缀。 长度为8~64个字符,必须以小写英文字母开头。可包含小写英文字母和数字。

DirectConnection语法

"DirectConnection": {
  "ConnectionPort": Integer,
  "ConnectionString": String
}

DirectConnection属性

属性名称 类型 必须 允许更新 描述 约束
ConnectionPort Integer Redis实例的ApsaraDB服务端口号。 取值范围:1024~65535。
ConnectionString String 公共端点的前缀。 长度为8~64个字符,必须以小写英文字母开头。可包含小写英文字母和数字。

ClassicInnerConnection语法

"ClassicInnerConnection": {
  "ConnectionPort": Integer,
  "ConnectionString": String
}

ClassicInnerConnection属性

属性名称 类型 必须 允许更新 描述 约束
ConnectionPort Integer Redis实例的ApsaraDB服务端口号。 取值范围:1024~65535。
ConnectionString String 公共端点的前缀。 长度为8~64个字符,必须以小写英文字母开头。可包含小写英文字母和数字。

返回值

Fn::GetAtt

  • InstanceId:实例ID。
  • OrderId:订单ID。
  • ConnectionDomain:实例的连接域名。
  • Port:实例的连接端口。
  • InstanceName:实例名称。
  • InstanceClass:实例规格。
  • VpcId:专有网络ID。
  • Capacity:实例的存储容量。
  • InstanceType:实例的引擎版本。
  • ChargeType:实例的计费方式。
  • PackageType:计划类型。
  • Connections:实例支持的最大连接数。
  • ArchitectureType:架构类型。
  • NodeType:节点类型。
  • HasRenewChangeOrder:阿里云账号是否有待续订或扩容订单。
  • ResourceGroupId:资源组ID。
  • QPS:每秒访问次数,取值为当前规格实例的理论值。
  • ZoneId:实例所属的可用区ID。
  • Bandwidth:实例带宽。单位:Mbps。
  • EngineVersion:版本类型。
  • NetworkType:网络类型。
  • VSwitchId:交换机ID。
  • PrivateIp:实例的内网IP地址。

示例

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Test Create Redis PrepayInstance",
  "Parameters": {
    "InstanceClass": {
      "Type": "String",
      "Description": "Instance Class"
    },
    "VpcName": {
      "Type": "String",
      "Default": "mytest"
    },
    "VSwitchName": {
      "Type": "String",
      "Default": "mytest"
    },
    "ZoneId": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::ECS::Instance:ZoneId"
    },
    "EngineVersion": {
      "Type": "String",
      "Description": "AllowedValues: 2.8, 4.0, 5.0",
      "Default": "5.0"
    }
  },
  "Resources": {
    "Vpc": {
      "Type": "ALIYUN::ECS::VPC",
      "Properties": {
        "VpcName": {
          "Ref": "VpcName"
        },
        "CidrBlock": "192.168.0.0/16"
      }
    },
    "VSwitch": {
      "DependsOn": "Vpc",
      "Type": "ALIYUN::ECS::VSwitch",
      "Properties": {
        "VpcId": {
          "Ref": "Vpc"
        },
        "VSwitchName": {
          "Ref": "VSwitchName"
        },
        "ZoneId": {
          "Ref": "ZoneId"
        },
        "CidrBlock": "192.168.10.0/24"
      }
    },
    "RedisPrepayInstance": {
      "Type": "ALIYUN::REDIS::PrepayInstance",
      "Properties": {
        "InstanceClass": {
          "Ref": "InstanceClass"
        },
        "EngineVersion": {
          "Ref": "EngineVersion"
        },
        "VpcId": {
          "Ref": "Vpc"
        },
        "VSwitchId": {
          "Ref": "VSwitch"
        }
      }
    }
  },
  "Outputs": {
    "OrderId": {
      "Value": {
        "Fn::GetAtt": [
          "RedisPrepayInstance",
          "OrderId"
        ]
      }
    }
  }
}

更多示例,请参见:JSON示例YAML示例