/* * 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.Ecm.V20190719.Models { using Newtonsoft.Json; using System.Collections.Generic; using TencentCloud.Common; public class RunInstancesRequest : AbstractModel { /// /// 需要创建实例的可用区及创建数目及运营商的列表。在单次请求的过程中,单个region下的请求创建实例数上限为100 /// [JsonProperty("ZoneInstanceCountISPSet")] public ZoneInstanceCountISP[] ZoneInstanceCountISPSet{ get; set; } /// /// 模块ID /// [JsonProperty("ModuleId")] public string ModuleId{ get; set; } /// /// 实例登录密码。不同操作系统类型密码复杂度限制不一样,具体如下: /// Linux实例密码必须8到30位,至少包括两项[a-z],[A-Z]、[0-9] 和 [( ) ` ~ ! @ # $ % ^ & - + = | { } [ ] : ; ' , . ? / ]中的特殊符。Windows实例密码必须12到30位,至少包括三项[a-z],[A-Z],[0-9] 和 [( ) ` ~ ! @ # $ % ^ & - + = | { } [ ] : ; ' , . ? /]中的特殊符号。 /// [JsonProperty("Password")] public string Password{ get; set; } /// /// 公网出带宽上限,单位:Mbps /// [JsonProperty("InternetMaxBandwidthOut")] public long? InternetMaxBandwidthOut{ get; set; } /// /// 镜像ID,不传则使用模块下的默认值 /// [JsonProperty("ImageId")] public string ImageId{ get; set; } /// /// 实例显示名称。 /// 不指定实例显示名称则默认显示‘未命名’。 /// 购买多台实例,如果指定模式串{R:x},表示生成数字[x, x+n-1],其中n表示购买实例的数量,例如server\_{R:3},购买1台时,实例显示名称为server\_3;购买2台时,实例显示名称分别为server\_3,server\_4。 /// 支持指定多个模式串{R:x}。 /// 购买多台实例,如果不指定模式串,则在实例显示名称添加后缀1、2...n,其中n表示购买实例的数量,例如server_,购买2台时,实例显示名称分别为server\_1,server\_2。 /// 如果购买的实例属于不同的地域或运营商,则上述规则在每个地域和运营商内独立计数。 /// 最多支持60个字符(包含模式串)。 /// [JsonProperty("InstanceName")] public string InstanceName{ get; set; } /// /// 主机名称 /// 点号(.)和短横线(-)不能作为 HostName 的首尾字符,不能连续使用。 /// Windows 实例:名字符长度为[2, 15],允许字母(不限制大小写)、数字和短横线(-)组成,不支持点号(.),不能全是数字。 /// 其他类型(Linux 等)实例:字符长度为[2, 60],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。 /// [JsonProperty("HostName")] public string HostName{ get; set; } /// /// 用于保证请求幂等性的字符串。目前为保留参数,请勿使用。 /// [JsonProperty("ClientToken")] public string ClientToken{ get; set; } /// /// 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认公共镜像开启云监控、云安全服务 /// [JsonProperty("EnhancedService")] public EnhancedService EnhancedService{ get; set; } /// /// 标签列表 /// [JsonProperty("TagSpecification")] public TagSpecification[] TagSpecification{ get; set; } /// /// 提供给实例使用的用户数据,需要以 base64 方式编码,支持的最大数据大小为 16KB /// [JsonProperty("UserData")] public string UserData{ get; set; } /// /// For internal usage only. DO NOT USE IT. /// internal override void ToMap(Dictionary map, string prefix) { this.SetParamArrayObj(map, prefix + "ZoneInstanceCountISPSet.", this.ZoneInstanceCountISPSet); this.SetParamSimple(map, prefix + "ModuleId", this.ModuleId); this.SetParamSimple(map, prefix + "Password", this.Password); this.SetParamSimple(map, prefix + "InternetMaxBandwidthOut", this.InternetMaxBandwidthOut); this.SetParamSimple(map, prefix + "ImageId", this.ImageId); this.SetParamSimple(map, prefix + "InstanceName", this.InstanceName); this.SetParamSimple(map, prefix + "HostName", this.HostName); this.SetParamSimple(map, prefix + "ClientToken", this.ClientToken); this.SetParamObj(map, prefix + "EnhancedService.", this.EnhancedService); this.SetParamArrayObj(map, prefix + "TagSpecification.", this.TagSpecification); this.SetParamSimple(map, prefix + "UserData", this.UserData); } } }