/* * 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.Bm.V20180423.Models { using Newtonsoft.Json; using System.Collections.Generic; using TencentCloud.Common; public class BuyDevicesRequest : AbstractModel { /// /// 可用区ID。通过接口[查询地域以及可用区(DescribeRegions)](https://cloud.tencent.com/document/api/386/33564)获取可用区信息 /// [JsonProperty("Zone")] public string Zone{ get; set; } /// /// 部署服务器的操作系统ID。通过接口[查询操作系统信息(DescribeOsInfo)](https://cloud.tencent.com/document/product/386/32902)获取操作系统信息 /// [JsonProperty("OsTypeId")] public ulong? OsTypeId{ get; set; } /// /// RAID类型ID。通过接口[查询机型RAID方式以及系统盘大小(DescribeDeviceClassPartition)](https://cloud.tencent.com/document/api/386/32910)获取RAID信息 /// [JsonProperty("RaidId")] public ulong? RaidId{ get; set; } /// /// 购买数量 /// [JsonProperty("GoodsCount")] public ulong? GoodsCount{ get; set; } /// /// 购买至私有网络ID /// [JsonProperty("VpcId")] public string VpcId{ get; set; } /// /// 购买至子网ID /// [JsonProperty("SubnetId")] public string SubnetId{ get; set; } /// /// 购买的机型ID。通过接口[查询设备型号(DescribeDeviceClass)](https://cloud.tencent.com/document/api/386/32911)获取机型信息 /// [JsonProperty("DeviceClassCode")] public string DeviceClassCode{ get; set; } /// /// 购买时长单位,取值:M(月) D(天) /// [JsonProperty("TimeUnit")] public string TimeUnit{ get; set; } /// /// 购买时长 /// [JsonProperty("TimeSpan")] public ulong? TimeSpan{ get; set; } /// /// 是否安装安全Agent,取值:1(安装) 0(不安装),默认取值0 /// [JsonProperty("NeedSecurityAgent")] public ulong? NeedSecurityAgent{ get; set; } /// /// 是否安装监控Agent,取值:1(安装) 0(不安装),默认取值0 /// [JsonProperty("NeedMonitorAgent")] public ulong? NeedMonitorAgent{ get; set; } /// /// 是否安装EMR Agent,取值:1(安装) 0(不安装),默认取值0 /// [JsonProperty("NeedEMRAgent")] public ulong? NeedEMRAgent{ get; set; } /// /// 是否安装EMR软件包,取值:1(安装) 0(不安装),默认取值0 /// [JsonProperty("NeedEMRSoftware")] public ulong? NeedEMRSoftware{ get; set; } /// /// 是否分配弹性公网IP,取值:1(分配) 0(不分配),默认取值0 /// [JsonProperty("ApplyEip")] public ulong? ApplyEip{ get; set; } /// /// 弹性公网IP计费模式,取值:Flow(按流量计费) Bandwidth(按带宽计费),默认取值Flow /// [JsonProperty("EipPayMode")] public string EipPayMode{ get; set; } /// /// 弹性公网IP带宽限制,单位Mb /// [JsonProperty("EipBandwidth")] public ulong? EipBandwidth{ get; set; } /// /// 数据盘是否格式化,取值:1(格式化) 0(不格式化),默认取值为1 /// [JsonProperty("IsZoning")] public ulong? IsZoning{ get; set; } /// /// 物理机计费模式,取值:1(预付费) 2(后付费),默认取值为1 /// [JsonProperty("CpmPayMode")] public ulong? CpmPayMode{ get; set; } /// /// 自定义镜像ID,取值生效时用自定义镜像部署物理机 /// [JsonProperty("ImageId")] public string ImageId{ get; set; } /// /// 设置Linux root或Windows Administrator的密码 /// [JsonProperty("Password")] public string Password{ get; set; } /// /// 自动续费标志位,取值:1(自动续费) 0(不自动续费),默认取值0 /// [JsonProperty("AutoRenewFlag")] public ulong? AutoRenewFlag{ get; set; } /// /// 系统盘根分区大小,单位为G,默认取值10G。通过接口[查询机型RAID方式以及系统盘大小(DescribeDeviceClassPartition)](https://cloud.tencent.com/document/api/386/32910)获取根分区信息 /// [JsonProperty("SysRootSpace")] public ulong? SysRootSpace{ get; set; } /// /// 系统盘swap分区或/boot/efi分区的大小,单位为G。若是uefi启动的机器,分区为/boot/efi,且此值是默认是2G。 普通机器为swap分区,可以不指定此分区。 机型是否是uefi启动,参见接口[查询设备型号(DescribeDeviceClass)](https://cloud.tencent.com/document/api/386/32911) /// [JsonProperty("SysSwaporuefiSpace")] public ulong? SysSwaporuefiSpace{ get; set; } /// /// /usr/local分区大小,单位为G /// [JsonProperty("SysUsrlocalSpace")] public ulong? SysUsrlocalSpace{ get; set; } /// /// /data分区大小,单位为G。如果系统盘还有剩余大小,会分配给/data分区。(特殊情况:如果剩余空间不足10G,并且没有指定/data分区,则剩余空间会分配给Root分区) /// [JsonProperty("SysDataSpace")] public ulong? SysDataSpace{ get; set; } /// /// 是否开启超线程,取值:1(开启) 0(关闭),默认取值1 /// [JsonProperty("HyperThreading")] public ulong? HyperThreading{ get; set; } /// /// 指定的内网IP列表,不指定时自动分配 /// [JsonProperty("LanIps")] public string[] LanIps{ get; set; } /// /// 设备名称列表 /// [JsonProperty("Aliases")] public string[] Aliases{ get; set; } /// /// CPU型号ID,自定义机型需要传入,取值: ///
  • 1: E5-2620v3 (6核) * 2
  • 2: E5-2680v4 (14核) * 2
  • 3: E5-2670v3 (12核) * 2
  • 4: E5-2620v4 (8核) * 2
  • 5: 4110 (8核) * 2
  • 6: 6133 (20核) * 2

  • ///
    [JsonProperty("CpuId")] public ulong? CpuId{ get; set; } /// /// 是否有RAID卡,取值:1(有) 0(无),自定义机型需要传入 /// [JsonProperty("ContainRaidCard")] public ulong? ContainRaidCard{ get; set; } /// /// 内存大小,单位为G,自定义机型需要传入。取值参考接口[查询自定义机型部件信息(DescribeHardwareSpecification)](https://cloud.tencent.com/document/api/386/33565)返回值 /// [JsonProperty("MemSize")] public ulong? MemSize{ get; set; } /// /// 系统盘ID,自定义机型需要传入。取值参考接口[查询自定义机型部件信息(DescribeHardwareSpecification)](https://cloud.tencent.com/document/api/386/33565)返回值 /// [JsonProperty("SystemDiskTypeId")] public ulong? SystemDiskTypeId{ get; set; } /// /// 系统盘数量,自定义机型需要传入。取值参考接口[查询自定义机型部件信息(DescribeHardwareSpecification)](https://cloud.tencent.com/document/api/386/33565)返回值 /// [JsonProperty("SystemDiskCount")] public ulong? SystemDiskCount{ get; set; } /// /// 数据盘ID,自定义机型需要传入。取值参考接口[查询自定义机型部件信息(DescribeHardwareSpecification)](https://cloud.tencent.com/document/api/386/33565)返回值 /// [JsonProperty("DataDiskTypeId")] public ulong? DataDiskTypeId{ get; set; } /// /// 数据盘数量,自定义机型需要传入。取值参考接口[查询自定义机型部件信息(DescribeHardwareSpecification)](https://cloud.tencent.com/document/api/386/33565)返回值 /// [JsonProperty("DataDiskCount")] public ulong? DataDiskCount{ get; set; } /// /// 绑定的标签列表 /// [JsonProperty("Tags")] public Tag[] Tags{ get; set; } /// /// 指定数据盘的文件系统格式,当前支持 EXT4和XFS选项, 默认为EXT4。 参数适用于数据盘和Linux, 且在IsZoning为1时生效 /// [JsonProperty("FileSystem")] public string FileSystem{ get; set; } /// /// 此参数是为了防止重复发货。如果两次调用传入相同的BuySession,只会发货一次。 不要以设备别名作为BuySession,这样只会第一次购买成功。参数长度为128位,合法字符为大小字母,数字,下划线,横线。 /// [JsonProperty("BuySession")] public string BuySession{ get; set; } /// /// 绑定已有的安全组ID。仅在NeedSecurityAgent为1时生效 /// [JsonProperty("SgId")] public string SgId{ get; set; } /// /// 安全组模板ID,由模板创建新安全组并绑定。TemplateId和SgId不能同时传入 /// [JsonProperty("TemplateId")] public string TemplateId{ get; set; } /// /// For internal usage only. DO NOT USE IT. /// internal override void ToMap(Dictionary map, string prefix) { this.SetParamSimple(map, prefix + "Zone", this.Zone); this.SetParamSimple(map, prefix + "OsTypeId", this.OsTypeId); this.SetParamSimple(map, prefix + "RaidId", this.RaidId); this.SetParamSimple(map, prefix + "GoodsCount", this.GoodsCount); this.SetParamSimple(map, prefix + "VpcId", this.VpcId); this.SetParamSimple(map, prefix + "SubnetId", this.SubnetId); this.SetParamSimple(map, prefix + "DeviceClassCode", this.DeviceClassCode); this.SetParamSimple(map, prefix + "TimeUnit", this.TimeUnit); this.SetParamSimple(map, prefix + "TimeSpan", this.TimeSpan); this.SetParamSimple(map, prefix + "NeedSecurityAgent", this.NeedSecurityAgent); this.SetParamSimple(map, prefix + "NeedMonitorAgent", this.NeedMonitorAgent); this.SetParamSimple(map, prefix + "NeedEMRAgent", this.NeedEMRAgent); this.SetParamSimple(map, prefix + "NeedEMRSoftware", this.NeedEMRSoftware); this.SetParamSimple(map, prefix + "ApplyEip", this.ApplyEip); this.SetParamSimple(map, prefix + "EipPayMode", this.EipPayMode); this.SetParamSimple(map, prefix + "EipBandwidth", this.EipBandwidth); this.SetParamSimple(map, prefix + "IsZoning", this.IsZoning); this.SetParamSimple(map, prefix + "CpmPayMode", this.CpmPayMode); this.SetParamSimple(map, prefix + "ImageId", this.ImageId); this.SetParamSimple(map, prefix + "Password", this.Password); this.SetParamSimple(map, prefix + "AutoRenewFlag", this.AutoRenewFlag); this.SetParamSimple(map, prefix + "SysRootSpace", this.SysRootSpace); this.SetParamSimple(map, prefix + "SysSwaporuefiSpace", this.SysSwaporuefiSpace); this.SetParamSimple(map, prefix + "SysUsrlocalSpace", this.SysUsrlocalSpace); this.SetParamSimple(map, prefix + "SysDataSpace", this.SysDataSpace); this.SetParamSimple(map, prefix + "HyperThreading", this.HyperThreading); this.SetParamArraySimple(map, prefix + "LanIps.", this.LanIps); this.SetParamArraySimple(map, prefix + "Aliases.", this.Aliases); this.SetParamSimple(map, prefix + "CpuId", this.CpuId); this.SetParamSimple(map, prefix + "ContainRaidCard", this.ContainRaidCard); this.SetParamSimple(map, prefix + "MemSize", this.MemSize); this.SetParamSimple(map, prefix + "SystemDiskTypeId", this.SystemDiskTypeId); this.SetParamSimple(map, prefix + "SystemDiskCount", this.SystemDiskCount); this.SetParamSimple(map, prefix + "DataDiskTypeId", this.DataDiskTypeId); this.SetParamSimple(map, prefix + "DataDiskCount", this.DataDiskCount); this.SetParamArrayObj(map, prefix + "Tags.", this.Tags); this.SetParamSimple(map, prefix + "FileSystem", this.FileSystem); this.SetParamSimple(map, prefix + "BuySession", this.BuySession); this.SetParamSimple(map, prefix + "SgId", this.SgId); this.SetParamSimple(map, prefix + "TemplateId", this.TemplateId); } } }