/*
* Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
namespace TencentCloud.Redis.V20180412.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class CreateInstancesRequest : AbstractModel
{
///
/// 实例所属的可用区ID
///
[JsonProperty("ZoneId")]
public ulong? ZoneId{ get; set; }
///
/// 实例类型:2 – Redis2.8主从版,3 – Redis3.2主从版(CKV主从版),4 – Redis3.2集群版(CKV集群版),5-Redis2.8单机版,6 – Redis4.0主从版,7 – Redis4.0集群版,8 – Redis5.0主从版,9 – Redis5.0集群版,
///
[JsonProperty("TypeId")]
public ulong? TypeId{ get; set; }
///
/// 实例容量,单位MB, 取值大小以 查询售卖规格接口返回的规格为准
///
[JsonProperty("MemSize")]
public ulong? MemSize{ get; set; }
///
/// 实例数量,单次购买实例数量以 查询售卖规格接口返回的规格为准
///
[JsonProperty("GoodsNum")]
public ulong? GoodsNum{ get; set; }
///
/// 购买时长,在创建包年包月实例的时候需要填写,按量计费实例填1即可,单位:月,取值范围 [1,2,3,4,5,6,7,8,9,10,11,12,24,36]
///
[JsonProperty("Period")]
public ulong? Period{ get; set; }
///
/// 付费方式:0-按量计费,1-包年包月。
///
[JsonProperty("BillingMode")]
public long? BillingMode{ get; set; }
///
/// 实例密码,密码规则:1.长度为8-16个字符;2:至少包含字母、数字和字符!@^*()中的两种(创建免密实例时,可不传入该字段,该字段内容会忽略)
///
[JsonProperty("Password")]
public string Password{ get; set; }
///
/// 私有网络ID,如果不传则默认选择基础网络,请使用私有网络列表查询,如:vpc-sad23jfdfk
///
[JsonProperty("VpcId")]
public string VpcId{ get; set; }
///
/// 基础网络下, subnetId无效; vpc子网下,取值以查询子网列表,如:subnet-fdj24n34j2
///
[JsonProperty("SubnetId")]
public string SubnetId{ get; set; }
///
/// 项目id,取值以用户账户>用户账户相关接口查询>项目列表返回的projectId为准
///
[JsonProperty("ProjectId")]
public long? ProjectId{ get; set; }
///
/// 自动续费标识。0 - 默认状态(手动续费);1 - 自动续费;2 - 明确不自动续费
///
[JsonProperty("AutoRenew")]
public ulong? AutoRenew{ get; set; }
///
/// 安全组id数组
///
[JsonProperty("SecurityGroupIdList")]
public string[] SecurityGroupIdList{ get; set; }
///
/// 用户自定义的端口 不填则默认为6379,范围[1024,65535]
///
[JsonProperty("VPort")]
public ulong? VPort{ get; set; }
///
/// 实例分片数量,Redis2.8主从版、CKV主从版和Redis2.8单机版、Redis4.0主从版不需要填写
///
[JsonProperty("RedisShardNum")]
public long? RedisShardNum{ get; set; }
///
/// 实例副本数量,Redis2.8主从版、CKV主从版和Redis2.8单机版不需要填写
///
[JsonProperty("RedisReplicasNum")]
public long? RedisReplicasNum{ get; set; }
///
/// 是否支持副本只读,Redis2.8主从版、CKV主从版和Redis2.8单机版不需要填写
///
[JsonProperty("ReplicasReadonly")]
public bool? ReplicasReadonly{ get; set; }
///
/// 实例名称
///
[JsonProperty("InstanceName")]
public string InstanceName{ get; set; }
///
/// 是否支持免密,true-免密实例,false-非免密实例,默认为非免密实例
///
[JsonProperty("NoAuth")]
public bool? NoAuth{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "ZoneId", this.ZoneId);
this.SetParamSimple(map, prefix + "TypeId", this.TypeId);
this.SetParamSimple(map, prefix + "MemSize", this.MemSize);
this.SetParamSimple(map, prefix + "GoodsNum", this.GoodsNum);
this.SetParamSimple(map, prefix + "Period", this.Period);
this.SetParamSimple(map, prefix + "BillingMode", this.BillingMode);
this.SetParamSimple(map, prefix + "Password", this.Password);
this.SetParamSimple(map, prefix + "VpcId", this.VpcId);
this.SetParamSimple(map, prefix + "SubnetId", this.SubnetId);
this.SetParamSimple(map, prefix + "ProjectId", this.ProjectId);
this.SetParamSimple(map, prefix + "AutoRenew", this.AutoRenew);
this.SetParamArraySimple(map, prefix + "SecurityGroupIdList.", this.SecurityGroupIdList);
this.SetParamSimple(map, prefix + "VPort", this.VPort);
this.SetParamSimple(map, prefix + "RedisShardNum", this.RedisShardNum);
this.SetParamSimple(map, prefix + "RedisReplicasNum", this.RedisReplicasNum);
this.SetParamSimple(map, prefix + "ReplicasReadonly", this.ReplicasReadonly);
this.SetParamSimple(map, prefix + "InstanceName", this.InstanceName);
this.SetParamSimple(map, prefix + "NoAuth", this.NoAuth);
}
}
}