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