All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::REDIS::PrepayInstance

Last Updated:Jul 14, 2023

ALIYUN::REDIS::PrepayInstance is used to create a subscription ApsaraDB for Redis instance.

Syntax

{
  "Type": "ALIYUN::REDIS::PrepayInstance",
  "Properties": {
    "VpcId": String,
    "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,
    "AutoRenewDuration": Integer,
    "ProductType": String,
    "SecondaryZoneId": String,
    "ResourceGroupId": String,
    "PeriodUnit": String,
    "TairConfig": Map
  }
}

Properties

Property

Type

Required

Editable

Description

Constraint

EngineVersion

String

No

No

The database engine version of the instance.

Valid values:

  • 2.8

    Note

    This version is unavailable. Use another version.

  • 4.0

  • 5.0

VpcId

String

No

No

The virtual private cloud (VPC) ID of the instance.

None.

EvictionPolicy

String

No

No

The policy based on which the system evicts data.

Valid values:

  • noeviction: The system does not evict keys, but returns an error for write operations.

  • allkeys-lru: The system evicts least recently used (LRU) keys.

  • volatile-lru: The system evicts LRU keys from keys that have Time To Live (TTL) configured.

  • allkeys-random: The system evicts keys at random.

  • volatile-random: The system evicts keys at random from keys that have TTL configured.

  • volatile-ttl: The system evicts keys with the shortest TTL from keys that have TTL configured.

Period

Integer

No

No

The renewal period of the instance.

Valid values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 12, 24, and 36.

Unit: month.

ZoneId

String

No

No

The zone ID of the instance.

This property must be specified when you create the instance in a VPC.

If you want to create the instance in multiple zones, call the DescribeZones operation to query the IDs of supported zones.

InstanceClass

String

No

Yes

The specifications of the instance.

For more information, see Overview.

VSwitchId

String

No

No

The vSwitch ID of the instance.

None.

SecurityGroupId

String

No

Yes

The security group ID of the instance.

You can specify up to 10 IDs. Separate multiple IDs with commas (,).

VpcPasswordFree

Boolean

No

No

Specifies whether to enable the password-free access feature for the instance in the VPC.

Valid values:

  • true

  • false (default)

Password

String

No

No

The password that is used to access the instance.

The password must be 8 to 32 characters in length. The password must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. The following special characters are supported: ! @ # $ % ^ & * ( ) _ + - =.

SSLEnabled

String

No

Yes

The state of SSL encryption.

Valid values:

  • Disable: disables SSL encryption.

  • Enable: enables SSL encryption.

  • Update: updates SSL certificates.

InstanceName

String

No

Yes

The instance name.

The name must be 2 to 128 characters in length, and can contain letters, digits, underscores (_), hyphens (-), and periods (.). The name must start with a letter.

BackupPolicy

Map

No

Yes

The backup policy of the instance.

For more information, see BackupPolicy properties.

Tags

List

No

No

The tags of the instance.

You can add up to 20 tags to an instance.

For more information, see Tags properties.

AutoPay

Boolean

No

No

Specifies whether to enable automatic payment for the instance.

Valid values:

  • true

  • false (default)

InstanceMaintainTime

Map

No

Yes

The maintenance window of the instance.

For more information, see InstanceMaintainTime properties.

DeletionForce

Boolean

No

Yes

Specifies whether to delete the instance when the instance is moved to the recycle bin.

Valid values:

  • true

  • false (default)

Connections

Map

No

Yes

The endpoints of the instance.

For more information, see Connections properties.

AutoRenewDuration

Integer

No

Yes

The auto-renewal duration of the instance.

Valid values: 1 to 12.

Unit: month.

When an instance is about to expire, the system automatically renews the instance based on the value of this property.

ProductType

String

No

No

The edition of the instance.

Valid values:

  • Local: a Community Edition instance that supports local disks or an Enhanced Edition (Tair) performance-enhanced instance that supports local disks

  • Tair_rdb: a Tair performance-enhanced instance that supports cloud disks

  • Tair_scm: a Tair persistent memory-optimized instance

  • Tair_essd: a Tair storage-optimized instance

  • OnECS: a Community Edition instance that supports cloud disks

SecondaryZoneId

String

No

No

The secondary zone ID of the instance.

You can call the DescribeZones operation to query the ID of the secondary zone.

Note

If you specify this property, the master node and replica node of the instance can be deployed in different zones, and disaster recovery is implemented across zones. The instance can withstand failures in data centers.

ResourceGroupId

String

No

Yes

The resource group ID of the instance.

None.

PeriodUnit

String

No

No

The unit of the subscription duration.

Valid values:

  • Year

  • Month

TairConfig

Map

No

No

The Tair configurations.

For more information, see TairConfig properties.

BackupPolicy syntax

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

BackupPolicy properties

Property

Type

Required

Editable

Description

Constraint

PreferredBackupPeriod

String

Yes

Yes

The day of a week on which the system backs up data.

Valid values:

  • Monday

  • Tuesday

  • Wednesday

  • Thursday

  • Friday

  • Saturday

  • Sunday

PreferredBackupTime

String

Yes

Yes

The time at which the system backs up data.

Specify the time in the ISO 8601 standard in the HH:mmZ-HH:mmZ format.

EnableBackupLog

Integer

No

Yes

Specifies whether to enable incremental backup.

Valid values:

  • 1: enables incremental backup.

  • 0 (default): disables incremental backup.

InstanceMaintainTime syntax

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

InstanceMaintainTime properties

Property

Type

Required

Editable

Description

Constraint

MaintainStartTime

String

No

No

The start time of the maintenance window.

Specify the time in the ISO 8601 standard in the HH:mmZ format. The time must be in UTC. For example, if you want the maintenance window to start at 22:00 (UTC+8), set this property to 14:00Z.

MaintainEndTime

String

No

No

The end time of the maintenance window.

Specify the time in the ISO 8601 standard in the HH:mmZ format. The time must be in UTC. For example, if you want the maintenance window to end at 23:00 (UTC+8), set this property to 15:00Z.

Note

The end time must be one hour later than the start time. For example, if you set MaintainStartTime to 17:00Z, set MaintainEndTime to 18:00Z.

Tags syntax

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

Tags properties

Property

Type

Required

Editable

Description

Constraint

Key

String

Yes

No

The key of the tag.

A tag key must be unique within an Alibaba Cloud account in a region.

Value

String

No

No

The value of the tag.

None.

Connections syntax

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

Connections properties

Property

Type

Required

Editable

Description

Constraint

VpcPrivateConnection

Map

No

Yes

The VPC endpoint.

For more information, see VpcPrivateConnection properties.

ClassicInnerConnection

Map

No

Yes

The classic network endpoint.

For more information, see ClassicInnerConnection properties.

DirectConnection

Map

No

Yes

The private endpoint for the direct connection mode. You can apply for a private endpoint for the direct connection mode based on your business requirements.

For more information, see DirectConnection properties.

PublicConnection

Map

No

Yes

The public endpoint.

For more information, see PublicConnection properties.

VpcPrivateConnection syntax

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

VpcPrivateConnection properties

Property

Type

Required

Editable

Description

Constraint

ConnectionPort

Integer

Yes

Yes

The port number used by the ApsaraDB for Redis instance to provide services.

Valid values: 1024 to 65535.

ConnectionString

String

Yes

Yes

The prefix of the VPC endpoint.

The prefix must be 8 to 64 characters in length, and can contain lowercase letters and digits. The prefix must start with a lowercase letter.

PublicConnection syntax

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

PublicConnection properties

Property

Type

Required

Editable

Description

Constraint

ConnectionPort

Integer

Yes

Yes

The port number used by the ApsaraDB for Redis instance to provide services.

Valid values: 1024 to 65535.

ConnectionString

String

Yes

Yes

The prefix of the public endpoint.

The prefix must be 8 to 64 characters in length, and can contain lowercase letters and digits. The prefix must start with a lowercase letter.

DirectConnection syntax

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

DirectConnection properties

Property

Type

Required

Editable

Description

Constraint

ConnectionPort

Integer

Yes

Yes

The port number used by the ApsaraDB for Redis instance to provide services.

Valid values: 1024 to 65535.

ConnectionString

String

Yes

Yes

The prefix of the private endpoint for the direct connection mode.

The prefix must be 8 to 64 characters in length, and can contain lowercase letters and digits. The prefix must start with a lowercase letter.

ClassicInnerConnection syntax

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

ClassicInnerConnection properties

Property

Type

Required

Editable

Description

Constraint

ConnectionPort

Integer

Yes

Yes

The port number used by the ApsaraDB for Redis instance to provide services.

Valid values: 1024 to 65535.

ConnectionString

String

Yes

Yes

The prefix of the classic network endpoint.

The prefix must be 8 to 64 characters in length, and can contain lowercase letters and digits. The prefix must start with a lowercase letter.

TairConfig syntax

"BackupPolicy": {
  "Storage": "Integer",
  "StorageType": "String",
  "ShardCount": "Integer"
}

TairConfig properties

Property

Type

Required

Editable

Description

Constraint

Storage

Integer

No

No

The storage capacity of the cloud disk.

The storage capacity varies based on the instance type. For more information, see ESSD-based instances.

StorageType

String

No

No

The storage type.

Valid values:

  • essd_pl0

  • essd_pl1

  • essd_pl2

  • essd_pl3

ShardCount

Integer

No

No

The number of data shards on the instance.

Valid values:

Return values

Fn::GetAtt

  • InstanceId: the instance ID.

  • OrderId: the order ID of the instance.

  • ConnectionDomain: the endpoint that is used to access the instance.

  • Port: the port number that is used to access the instance.

  • InstanceName: the instance name.

  • InstanceClass: the edition of the instance.

  • VpcId: the VPC ID of the instance.

  • Capacity: the storage capacity of the instance.

  • InstanceType: the database engine type of the instance.

  • ChargeType: the billing method of the instance.

  • PackageType: the plan type of the instance.

  • Connections: the maximum number of connections that are supported by the instance.

  • ArchitectureType: the architecture type of the instance.

  • NodeType: the node type of the instance.

  • HasRenewChangeOrder: indicates whether the instance has pending renewal or resource scale-out orders within the current Alibaba Cloud account.

  • ResourceGroupId: the resource group ID of the instance.

  • QPS: the queries per second (QPS) of the instance. The value is the expected maximum QPS.

  • ZoneId: the zone ID of the instance.

  • Bandwidth: the bandwidth of the instance. Unit: Mbit/s.

  • EngineVersion: the database engine version of the instance.

  • NetworkType: the network type of the instance.

  • VSwitchId: the vSwitch ID of the instance.

  • PrivateIp: the private IP address of the instance.

  • PublicConnectionString: the prefix of the public endpoint that is used to access the instance.

  • VpcPrivateConnectionPort: the port number that is used to access the instance by using the VPC endpoint.

  • ClassicInnerConnectionString: the prefix of the classic network endpoint that is used to access the instance.

  • VpcPrivateConnectionString: the prefix of the VPC endpoint that is used to access the instance.

  • PublicConnectionPort: the port number that is used to access the instance by using the public endpoint.

  • DirectConnectionString: the prefix of the private endpoint that is used to access the instance in direct connection mode.

  • DirectConnectionPort: the port number that is used to access the instance by using the private endpoint in direct connection mode.

  • ClassicInnerConnectionPort: the port number that is used to access the instance by using the classic network endpoint.

Examples

YAML format

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 format

{
  "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"
        ]
      }
    }
  }
}

For more examples, visit Instance.json and Instance.yml.