Files
g.hnyhua.cn/TencentCloud/Bm/V20180423/Models/BuyDevicesRequest.cs
2026-02-07 15:48:27 +08:00

318 lines
14 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* 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
{
/// <summary>
/// 可用区ID。通过接口[查询地域以及可用区(DescribeRegions)](https://cloud.tencent.com/document/api/386/33564)获取可用区信息
/// </summary>
[JsonProperty("Zone")]
public string Zone{ get; set; }
/// <summary>
/// 部署服务器的操作系统ID。通过接口[查询操作系统信息(DescribeOsInfo)](https://cloud.tencent.com/document/product/386/32902)获取操作系统信息
/// </summary>
[JsonProperty("OsTypeId")]
public ulong? OsTypeId{ get; set; }
/// <summary>
/// RAID类型ID。通过接口[查询机型RAID方式以及系统盘大小(DescribeDeviceClassPartition)](https://cloud.tencent.com/document/api/386/32910)获取RAID信息
/// </summary>
[JsonProperty("RaidId")]
public ulong? RaidId{ get; set; }
/// <summary>
/// 购买数量
/// </summary>
[JsonProperty("GoodsCount")]
public ulong? GoodsCount{ get; set; }
/// <summary>
/// 购买至私有网络ID
/// </summary>
[JsonProperty("VpcId")]
public string VpcId{ get; set; }
/// <summary>
/// 购买至子网ID
/// </summary>
[JsonProperty("SubnetId")]
public string SubnetId{ get; set; }
/// <summary>
/// 购买的机型ID。通过接口[查询设备型号(DescribeDeviceClass)](https://cloud.tencent.com/document/api/386/32911)获取机型信息
/// </summary>
[JsonProperty("DeviceClassCode")]
public string DeviceClassCode{ get; set; }
/// <summary>
/// 购买时长单位取值M(月) D(天)
/// </summary>
[JsonProperty("TimeUnit")]
public string TimeUnit{ get; set; }
/// <summary>
/// 购买时长
/// </summary>
[JsonProperty("TimeSpan")]
public ulong? TimeSpan{ get; set; }
/// <summary>
/// 是否安装安全Agent取值1(安装) 0(不安装)默认取值0
/// </summary>
[JsonProperty("NeedSecurityAgent")]
public ulong? NeedSecurityAgent{ get; set; }
/// <summary>
/// 是否安装监控Agent取值1(安装) 0(不安装)默认取值0
/// </summary>
[JsonProperty("NeedMonitorAgent")]
public ulong? NeedMonitorAgent{ get; set; }
/// <summary>
/// 是否安装EMR Agent取值1(安装) 0(不安装)默认取值0
/// </summary>
[JsonProperty("NeedEMRAgent")]
public ulong? NeedEMRAgent{ get; set; }
/// <summary>
/// 是否安装EMR软件包取值1(安装) 0(不安装)默认取值0
/// </summary>
[JsonProperty("NeedEMRSoftware")]
public ulong? NeedEMRSoftware{ get; set; }
/// <summary>
/// 是否分配弹性公网IP取值1(分配) 0(不分配)默认取值0
/// </summary>
[JsonProperty("ApplyEip")]
public ulong? ApplyEip{ get; set; }
/// <summary>
/// 弹性公网IP计费模式取值Flow(按流量计费) Bandwidth(按带宽计费)默认取值Flow
/// </summary>
[JsonProperty("EipPayMode")]
public string EipPayMode{ get; set; }
/// <summary>
/// 弹性公网IP带宽限制单位Mb
/// </summary>
[JsonProperty("EipBandwidth")]
public ulong? EipBandwidth{ get; set; }
/// <summary>
/// 数据盘是否格式化取值1(格式化) 0(不格式化)默认取值为1
/// </summary>
[JsonProperty("IsZoning")]
public ulong? IsZoning{ get; set; }
/// <summary>
/// 物理机计费模式取值1(预付费) 2(后付费)默认取值为1
/// </summary>
[JsonProperty("CpmPayMode")]
public ulong? CpmPayMode{ get; set; }
/// <summary>
/// 自定义镜像ID取值生效时用自定义镜像部署物理机
/// </summary>
[JsonProperty("ImageId")]
public string ImageId{ get; set; }
/// <summary>
/// 设置Linux root或Windows Administrator的密码
/// </summary>
[JsonProperty("Password")]
public string Password{ get; set; }
/// <summary>
/// 自动续费标志位取值1(自动续费) 0(不自动续费)默认取值0
/// </summary>
[JsonProperty("AutoRenewFlag")]
public ulong? AutoRenewFlag{ get; set; }
/// <summary>
/// 系统盘根分区大小单位为G默认取值10G。通过接口[查询机型RAID方式以及系统盘大小(DescribeDeviceClassPartition)](https://cloud.tencent.com/document/api/386/32910)获取根分区信息
/// </summary>
[JsonProperty("SysRootSpace")]
public ulong? SysRootSpace{ get; set; }
/// <summary>
/// 系统盘swap分区或/boot/efi分区的大小单位为G。若是uefi启动的机器分区为/boot/efi且此值是默认是2G。 普通机器为swap分区可以不指定此分区。 机型是否是uefi启动参见接口[查询设备型号(DescribeDeviceClass)](https://cloud.tencent.com/document/api/386/32911)
/// </summary>
[JsonProperty("SysSwaporuefiSpace")]
public ulong? SysSwaporuefiSpace{ get; set; }
/// <summary>
/// /usr/local分区大小单位为G
/// </summary>
[JsonProperty("SysUsrlocalSpace")]
public ulong? SysUsrlocalSpace{ get; set; }
/// <summary>
/// /data分区大小单位为G。如果系统盘还有剩余大小会分配给/data分区。特殊情况如果剩余空间不足10G并且没有指定/data分区则剩余空间会分配给Root分区
/// </summary>
[JsonProperty("SysDataSpace")]
public ulong? SysDataSpace{ get; set; }
/// <summary>
/// 是否开启超线程取值1(开启) 0(关闭)默认取值1
/// </summary>
[JsonProperty("HyperThreading")]
public ulong? HyperThreading{ get; set; }
/// <summary>
/// 指定的内网IP列表不指定时自动分配
/// </summary>
[JsonProperty("LanIps")]
public string[] LanIps{ get; set; }
/// <summary>
/// 设备名称列表
/// </summary>
[JsonProperty("Aliases")]
public string[] Aliases{ get; set; }
/// <summary>
/// CPU型号ID自定义机型需要传入取值
/// <br/><li>1: E5-2620v3 (6核) &#42; 2</li><li>2: E5-2680v4 (14核) &#42; 2</li><li>3: E5-2670v3 (12核) &#42; 2</li><li>4: E5-2620v4 (8核) &#42; 2</li><li>5: 4110 (8核) &#42; 2</li><li>6: 6133 (20核) &#42; 2</li><br/>
/// </summary>
[JsonProperty("CpuId")]
public ulong? CpuId{ get; set; }
/// <summary>
/// 是否有RAID卡取值1(有) 0(无),自定义机型需要传入
/// </summary>
[JsonProperty("ContainRaidCard")]
public ulong? ContainRaidCard{ get; set; }
/// <summary>
/// 内存大小单位为G自定义机型需要传入。取值参考接口[查询自定义机型部件信息(DescribeHardwareSpecification)](https://cloud.tencent.com/document/api/386/33565)返回值
/// </summary>
[JsonProperty("MemSize")]
public ulong? MemSize{ get; set; }
/// <summary>
/// 系统盘ID自定义机型需要传入。取值参考接口[查询自定义机型部件信息(DescribeHardwareSpecification)](https://cloud.tencent.com/document/api/386/33565)返回值
/// </summary>
[JsonProperty("SystemDiskTypeId")]
public ulong? SystemDiskTypeId{ get; set; }
/// <summary>
/// 系统盘数量,自定义机型需要传入。取值参考接口[查询自定义机型部件信息(DescribeHardwareSpecification)](https://cloud.tencent.com/document/api/386/33565)返回值
/// </summary>
[JsonProperty("SystemDiskCount")]
public ulong? SystemDiskCount{ get; set; }
/// <summary>
/// 数据盘ID自定义机型需要传入。取值参考接口[查询自定义机型部件信息(DescribeHardwareSpecification)](https://cloud.tencent.com/document/api/386/33565)返回值
/// </summary>
[JsonProperty("DataDiskTypeId")]
public ulong? DataDiskTypeId{ get; set; }
/// <summary>
/// 数据盘数量,自定义机型需要传入。取值参考接口[查询自定义机型部件信息(DescribeHardwareSpecification)](https://cloud.tencent.com/document/api/386/33565)返回值
/// </summary>
[JsonProperty("DataDiskCount")]
public ulong? DataDiskCount{ get; set; }
/// <summary>
/// 绑定的标签列表
/// </summary>
[JsonProperty("Tags")]
public Tag[] Tags{ get; set; }
/// <summary>
/// 指定数据盘的文件系统格式,当前支持 EXT4和XFS选项 默认为EXT4。 参数适用于数据盘和Linux 且在IsZoning为1时生效
/// </summary>
[JsonProperty("FileSystem")]
public string FileSystem{ get; set; }
/// <summary>
/// 此参数是为了防止重复发货。如果两次调用传入相同的BuySession只会发货一次。 不要以设备别名作为BuySession这样只会第一次购买成功。参数长度为128位合法字符为大小字母数字下划线横线。
/// </summary>
[JsonProperty("BuySession")]
public string BuySession{ get; set; }
/// <summary>
/// 绑定已有的安全组ID。仅在NeedSecurityAgent为1时生效
/// </summary>
[JsonProperty("SgId")]
public string SgId{ get; set; }
/// <summary>
/// 安全组模板ID由模板创建新安全组并绑定。TemplateId和SgId不能同时传入
/// </summary>
[JsonProperty("TemplateId")]
public string TemplateId{ get; set; }
/// <summary>
/// For internal usage only. DO NOT USE IT.
/// </summary>
internal override void ToMap(Dictionary<string, string> 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);
}
}
}