Updated on 2023-12-13 GMT+08:00

DCS.Redis

Element Description

Distributed Cache Service (DCS) provides online distributed cache capabilities that are ready to use out of the box, secure, reliable, scalable, and easy to manage. It is compatible with Redis and Memcached and provides various instance types such as single-node, active/standby, and cluster, meeting users' requirements for high concurrency and fast data access.

Element Properties

Table 1 Property Description

Property

Required

Descripiton

vpcId

Yes

ID of the VPC to which the DCS instance belongs

Type: HuaweiCloud.VPC.VPC.Id

Value Description: Supports the use of an existing or new VPC ID. To use a new VPC ID, you need to define the VPC object in the template and establish the dependency relationship. You are advised to drag the object to the VPC to automatically establish the dependency relationship.

Value Constraint: The value must satisfy the UUID generation rule.

Suggestion: Use the get_input function to pass this parameter. Its value can then be automatically selected when you create a stack on the AOS console. Use the get_reference function to reference a VPC.VPC element created by the current stack. The group ID can then be automatically specified when you use the designer to create a dependency on the VPC.VPC element. Obtain the ID of the created VPC on the VPC console at https://console.huaweicloud.com/vpc?&locale=en-us.

capacity

Yes

Capacity of the DCS instance

Type: integer

Value Description: Supports customization.

Default: 2

Value Constraint: Currently, the value can only be 2, 4, 8, 16, 32, 64, 128, 256, 512, or 1024.

Suggestion: Use the default value.

description

No

Description of the DCS instance

Type: string

Value Description: Supports customization.

name

No

Name of the DCS instance

Type: string

Value Description: Supports customization.

Value Constraint: The value must start with a letter. Only letters, digits, underscores (_), and hyphens (-) are allowed.

securityGroupId

Yes

ID of the security group used by the DCS instance

Type: HuaweiCloud.VPC.SecurityGroup.Id

Value Description: Obtains the security group ID from the VPC service or connects to the VPC.SecurityGroup to automatically generate the security group ID.

Value Constraint: None

Suggestion: Use the get_input function to pass this parameter. Its value can then be automatically selected when you create a stack on the AOS console. Use the get_reference function to reference a VPC.SecurityGroup element created by the current stack. The group ID can then be automatically specified when you use the designer to create a dependency on the VPC.SecurityGroup element. Obtain the ID of a created security group on the VPC console at https://console.huaweicloud.com/vpc/?locale=en-us#/secGroups.

availablityZone1

No

AZ 1 to which the DCS instance belongs

Type: HuaweiCloud.ECS.AvailabilityZone.Name

Value Description: Indicates AZ 1 where the to-be-created DCS instance is located. The AZ can be automatically selected on the AOS page. You need to specify the AZ name, for example, cn-north-1a. See the Regions and Endpoints.

Value Constraint: The value varies depending on the belonged region. For details, visit https://developer-intl.huaweicloud.com/en-us/endpoint. For the North China region, the value can be cn-north-1a or cn-north-1b.

Suggestion: Use the get_input function to pass this parameter. Its value can then be automatically selected when you create a stack on the AOS console. For details about the AZ of each region, visit https://developer-intl.huaweicloud.com/en-us/endpoint.

instanceMode

Yes

Type of the DCS instance

Type: string

Default: single

Value Constraint: Currently, the value can only be single, HA, or cluster.

Suggestion: Use the default value.

availablityZone2

No

AZ 2 to which the DCS instance belongs. This AZ is required for creating master/standby DCS instances.

Type: HuaweiCloud.ECS.AvailabilityZone.Name

Value Description: Indicates AZ 2 where the to-be-created DCS instance is located. The AZ can be automatically selected on the AOS page and must be different from AZ1. You need to specify the AZ name, for example, cn-north-1b. See the Regions and Endpoints.

Value Constraint: The value varies depending on the belonged region. For details, visit https://developer-intl.huaweicloud.com/en-us/endpoint. For the North China region, the value can be cn-north-1a or cn-north-1b.

Suggestion: Use the get_input function to pass this parameter. Its value can then be automatically selected when you create a stack on the AOS console. For details about the AZ of each region, visit https://developer-intl.huaweicloud.com/en-us/endpoint.

instanceBackupPolicy

No

Backup plan of the DCS instance

Type: DCS.InstanceBackupPolicy

Value Description: Supports customization.

Default: {u'extendParam': {u'backupAt': [], u'beginAt': u'00', u'periodType': u'weekly'}, u'backupType': u'auto', u'saveDays': 1}

Suggestion: Use the default value.

maintainBegin

No

Start time of the maintenance time window

Type: string

Default: 02:00:00

Value Constraint: Currently, the value can only be 02:00, 06:00, 10:00, 14:00, 18:00, or 22:00.

Suggestion: Use the default value.

subnetId

Yes

Subnet ID of the DCS instance

Type: HuaweiCloud.VPC.Subnet.Id

Value Description: Supports the use of an existing or new subnet ID. To use a new subnet ID, you need to define the subnet object in the template and establish the dependency relationship. You are advised to connect the VPC.Subnet to automatically establish the dependency relationship.

Value Constraint: The subnet must correspond to the VPC.

Suggestion: Use the get_input function to pass this parameter. Its value can then be automatically selected when you create a stack on the AOS console. Use the get_reference function to reference a VPC.Subnet element created by the current stack. The group ID can then be automatically specified when you use the designer to create a dependency on the VPC.Subnet element. Obtain the ID of the created subnet on the VPC console at https://console.huaweicloud.com/vpc?&locale=en-us.

maintainEnd

No

End time of the maintenance time window

Type: string

Default: 06:00:00

Value Constraint: Currently, the value can only be 06:00, 10:00, 14:00, 18:00, 22:00, or 02:00.

Suggestion: Use the default value.

password

Yes

Login password of the DCS instance

Type: password

Value Description: Supports customization.

Value Constraint: 1. The parameter must be written into inputs and imported using the get_input function. 2. The value consists of uppercase and lowercase letters, numbers, and special symbols `~!@#$^&*()-_=+\|[{}]:'",<.>/? and contains at least two, length 6 ~32 bit, non-weak password.

Suggestion: You are advised to use the get_input function to obtain the value and avoid plaintext passwords to ensure security.

Relationships Between Elements

Table 2 Relationship description

Description

Target

Connected

VPC.Subnet

Connected

VPC.SecurityGroup

ContainedIn

VPC.VPC

Return Value

Property

Type

Description

refIP

string

Access IP address of the DCS instance

refPort

integer

Access port of the DCS instance

refName

string

Name of the DCS instance

refID

string

ID of the DCS instance

chargeMode

string

Billing mode of the DCS instance

Blueprint Example

tosca_definitions_version: huaweicloud_tosca_version_1_0
inputs:
  dcs-name:
    default: my-dcsinstance
  dcs-description:
    default: dcs service
  dcs-capacity:
    default: 2
  dcs-vpcId:
    default: fdcd13cf-579e-41d6-b2b5-01cda2f37719
  dcs-securityGroupId:
    default: 07f01d47-11fc-4b9b-bce3-f0f47350ad7a
  dcs-subnetId:
    default: 85786d98-06ed-4d33-a85c-572238649029
  dcs-password:
    default: "******"
  dcs-instanceMode:
    default: "single"
node_templates:
  my-dcs:
    type: HuaweiCloud.DCS.Redis
    properties:
      name: {get_input: dcs-name}
      description: {get_input: dcs-description}
      capacity: {get_input: dcs-capacity}
      vpcId: {get_input: dcs-vpcId}
      securityGroupId: {get_input: dcs-securityGroupId}
      subnetId: {get_input: dcs-subnetId}
      password: {get_input: dcs-password}
      instanceMode: {get_input: dcs-instanceMode}