Files
g.hnyhua.cn/TencentCloud/Cvm/V20170312/Models/InquiryPriceRunInstancesRequest.cs
2026-02-07 15:48:27 +08:00

163 lines
10 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.Cvm.V20170312.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class InquiryPriceRunInstancesRequest : AbstractModel
{
/// <summary>
/// 实例所在的位置。通过该参数可以指定实例所属可用区,所属项目等属性。
/// </summary>
[JsonProperty("Placement")]
public Placement Placement{ get; set; }
/// <summary>
/// 指定有效的[镜像](https://cloud.tencent.com/document/product/213/4940)ID格式形如`img-xxx`。镜像类型分为四种:<br/><li>公共镜像</li><li>自定义镜像</li><li>共享镜像</li><li>服务市场镜像</li><br/>可通过以下方式获取可用的镜像ID<br/><li>`公共镜像`、`自定义镜像`、`共享镜像`的镜像ID可通过登录[控制台](https://console.cloud.tencent.com/cvm/image?rid=1&imageType=PUBLIC_IMAGE)查询;`服务镜像市场`的镜像ID可通过[云市场](https://market.cloud.tencent.com/list)查询。</li><li>通过调用接口 [DescribeImages](https://cloud.tencent.com/document/api/213/15715) ,取返回信息中的`ImageId`字段。</li>
/// </summary>
[JsonProperty("ImageId")]
public string ImageId{ get; set; }
/// <summary>
/// 实例[计费类型](https://cloud.tencent.com/document/product/213/2180)。<br><li>PREPAID预付费即包年包月<br><li>POSTPAID_BY_HOUR按小时后付费<br><li>SPOTPAID竞价付费<br>默认值POSTPAID_BY_HOUR。
/// </summary>
[JsonProperty("InstanceChargeType")]
public string InstanceChargeType{ get; set; }
/// <summary>
/// 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。
/// </summary>
[JsonProperty("InstanceChargePrepaid")]
public InstanceChargePrepaid InstanceChargePrepaid{ get; set; }
/// <summary>
/// 实例机型。不同实例机型指定了不同的资源规格,具体取值可通过调用接口[DescribeInstanceTypeConfigs](https://cloud.tencent.com/document/api/213/15749)来获得最新的规格表或参见[实例规格](https://cloud.tencent.com/document/product/213/11518)描述。若不指定该参数则默认机型为S1.SMALL1。
/// </summary>
[JsonProperty("InstanceType")]
public string InstanceType{ get; set; }
/// <summary>
/// 实例系统盘配置信息。若不指定该参数,则按照系统默认值进行分配。
/// </summary>
[JsonProperty("SystemDisk")]
public SystemDisk SystemDisk{ get; set; }
/// <summary>
/// 实例数据盘配置信息。若不指定该参数则默认不购买数据盘。支持购买的时候指定21块数据盘其中最多包含1块LOCAL_BASIC数据盘或者LOCAL_SSD数据盘最多包含20块CLOUD_BASIC数据盘、CLOUD_PREMIUM数据盘或者CLOUD_SSD数据盘。
/// </summary>
[JsonProperty("DataDisks")]
public DataDisk[] DataDisks{ get; set; }
/// <summary>
/// 私有网络相关信息配置。通过该参数可以指定私有网络的ID子网ID等信息。若不指定该参数则默认使用基础网络。若在此参数中指定了私有网络IP那么InstanceCount参数只能为1。
/// </summary>
[JsonProperty("VirtualPrivateCloud")]
public VirtualPrivateCloud VirtualPrivateCloud{ get; set; }
/// <summary>
/// 公网带宽相关信息设置。若不指定该参数则默认公网带宽为0Mbps。
/// </summary>
[JsonProperty("InternetAccessible")]
public InternetAccessible InternetAccessible{ get; set; }
/// <summary>
/// 购买实例数量。取值范围:[1100]。默认取值1。指定购买实例的数量不能超过用户所能购买的剩余配额数量具体配额相关限制详见[CVM实例购买限制](https://cloud.tencent.com/document/product/213/2664)。
/// </summary>
[JsonProperty("InstanceCount")]
public long? InstanceCount{ get; set; }
/// <summary>
/// 实例显示名称。<br><li>不指定实例显示名称则默认显示‘未命名’。</li><li>购买多台实例,如果指定模式串`{R:x}`,表示生成数字`[x, x+n-1]`,其中`n`表示购买实例的数量,例如`server_{R:3}`购买1台时实例显示名称为`server_3`购买2台时实例显示名称分别为`server_3``server_4`。支持指定多个模式串`{R:x}`。</li><li>购买多台实例,如果不指定模式串,则在实例显示名称添加后缀`1、2...n`,其中`n`表示购买实例的数量,例如`server_`购买2台时实例显示名称分别为`server_1``server_2`。</li><li>最多支持60个字符包含模式串
/// </summary>
[JsonProperty("InstanceName")]
public string InstanceName{ get; set; }
/// <summary>
/// 实例登录设置。通过该参数可以设置实例的登录方式密码、密钥或保持镜像的原始登录设置。默认情况下会随机生成密码,并以站内信方式知会到用户。
/// </summary>
[JsonProperty("LoginSettings")]
public LoginSettings LoginSettings{ get; set; }
/// <summary>
/// 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。若不指定该参数则默认不绑定安全组。
/// </summary>
[JsonProperty("SecurityGroupIds")]
public string[] SecurityGroupIds{ get; set; }
/// <summary>
/// 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。
/// </summary>
[JsonProperty("EnhancedService")]
public EnhancedService EnhancedService{ get; set; }
/// <summary>
/// 用于保证请求幂等性的字符串。该字符串由客户生成需保证不同请求之间唯一最大值不超过64个ASCII字符。若不指定该参数则无法保证请求的幂等性。<br>更多详细信息请参阅:如何保证幂等性。
/// </summary>
[JsonProperty("ClientToken")]
public string ClientToken{ get; set; }
/// <summary>
/// 云服务器的主机名。<br><li>点号(.)和短横线(-)不能作为 HostName 的首尾字符,不能连续使用。<br><li>Windows 实例:名字符长度为[2, 15],允许字母(不限制大小写)、数字和短横线(-)组成,不支持点号(.),不能全是数字。<br><li>其他类型Linux 等)实例:字符长度为[2, 30],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。
/// </summary>
[JsonProperty("HostName")]
public string HostName{ get; set; }
/// <summary>
/// 标签描述列表。通过指定该参数可以同时绑定标签到相应的资源实例,当前仅支持绑定标签到云服务器实例。
/// </summary>
[JsonProperty("TagSpecification")]
public TagSpecification[] TagSpecification{ get; set; }
/// <summary>
/// 实例的市场相关选项,如竞价实例相关参数
/// </summary>
[JsonProperty("InstanceMarketOptions")]
public InstanceMarketOptionsRequest InstanceMarketOptions{ get; set; }
/// <summary>
/// For internal usage only. DO NOT USE IT.
/// </summary>
internal override void ToMap(Dictionary<string, string> map, string prefix)
{
this.SetParamObj(map, prefix + "Placement.", this.Placement);
this.SetParamSimple(map, prefix + "ImageId", this.ImageId);
this.SetParamSimple(map, prefix + "InstanceChargeType", this.InstanceChargeType);
this.SetParamObj(map, prefix + "InstanceChargePrepaid.", this.InstanceChargePrepaid);
this.SetParamSimple(map, prefix + "InstanceType", this.InstanceType);
this.SetParamObj(map, prefix + "SystemDisk.", this.SystemDisk);
this.SetParamArrayObj(map, prefix + "DataDisks.", this.DataDisks);
this.SetParamObj(map, prefix + "VirtualPrivateCloud.", this.VirtualPrivateCloud);
this.SetParamObj(map, prefix + "InternetAccessible.", this.InternetAccessible);
this.SetParamSimple(map, prefix + "InstanceCount", this.InstanceCount);
this.SetParamSimple(map, prefix + "InstanceName", this.InstanceName);
this.SetParamObj(map, prefix + "LoginSettings.", this.LoginSettings);
this.SetParamArraySimple(map, prefix + "SecurityGroupIds.", this.SecurityGroupIds);
this.SetParamObj(map, prefix + "EnhancedService.", this.EnhancedService);
this.SetParamSimple(map, prefix + "ClientToken", this.ClientToken);
this.SetParamSimple(map, prefix + "HostName", this.HostName);
this.SetParamArrayObj(map, prefix + "TagSpecification.", this.TagSpecification);
this.SetParamObj(map, prefix + "InstanceMarketOptions.", this.InstanceMarketOptions);
}
}
}