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

263 lines
11 KiB
C#
Raw 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 Instance : AbstractModel
{
/// <summary>
/// 实例所在的位置。
/// </summary>
[JsonProperty("Placement")]
public Placement Placement{ get; set; }
/// <summary>
/// 实例`ID`。
/// </summary>
[JsonProperty("InstanceId")]
public string InstanceId{ get; set; }
/// <summary>
/// 实例机型。
/// </summary>
[JsonProperty("InstanceType")]
public string InstanceType{ get; set; }
/// <summary>
/// 实例的CPU核数单位核。
/// </summary>
[JsonProperty("CPU")]
public long? CPU{ get; set; }
/// <summary>
/// 实例内存容量,单位:`GB`。
/// </summary>
[JsonProperty("Memory")]
public long? Memory{ get; set; }
/// <summary>
/// 实例业务状态。取值范围:<br><li>NORMAL表示正常状态的实例<br><li>EXPIRED表示过期的实例<br><li>PROTECTIVELY_ISOLATED表示被安全隔离的实例。
/// </summary>
[JsonProperty("RestrictState")]
public string RestrictState{ get; set; }
/// <summary>
/// 实例名称。
/// </summary>
[JsonProperty("InstanceName")]
public string InstanceName{ get; set; }
/// <summary>
/// 实例计费模式。取值范围:<br><li>`PREPAID`:表示预付费,即包年包月<br><li>`POSTPAID_BY_HOUR`:表示后付费,即按量计费<br><li>`CDHPAID``CDH`付费,即只对`CDH`计费,不对`CDH`上的实例计费。<br><li>`SPOTPAID`:表示竞价实例付费。
/// </summary>
[JsonProperty("InstanceChargeType")]
public string InstanceChargeType{ get; set; }
/// <summary>
/// 实例系统盘信息。
/// </summary>
[JsonProperty("SystemDisk")]
public SystemDisk SystemDisk{ get; set; }
/// <summary>
/// 实例数据盘信息。只包含随实例购买的数据盘。
/// </summary>
[JsonProperty("DataDisks")]
public DataDisk[] DataDisks{ get; set; }
/// <summary>
/// 实例主网卡的内网`IP`列表。
/// </summary>
[JsonProperty("PrivateIpAddresses")]
public string[] PrivateIpAddresses{ get; set; }
/// <summary>
/// 实例主网卡的公网`IP`列表。
/// 注意:此字段可能返回 null表示取不到有效值。
/// </summary>
[JsonProperty("PublicIpAddresses")]
public string[] PublicIpAddresses{ get; set; }
/// <summary>
/// 实例带宽信息。
/// </summary>
[JsonProperty("InternetAccessible")]
public InternetAccessible InternetAccessible{ get; set; }
/// <summary>
/// 实例所属虚拟私有网络信息。
/// </summary>
[JsonProperty("VirtualPrivateCloud")]
public VirtualPrivateCloud VirtualPrivateCloud{ get; set; }
/// <summary>
/// 生产实例所使用的镜像`ID`。
/// </summary>
[JsonProperty("ImageId")]
public string ImageId{ get; set; }
/// <summary>
/// 自动续费标识。取值范围:<br><li>`NOTIFY_AND_MANUAL_RENEW`:表示通知即将过期,但不自动续费<br><li>`NOTIFY_AND_AUTO_RENEW`:表示通知即将过期,而且自动续费<br><li>`DISABLE_NOTIFY_AND_MANUAL_RENEW`:表示不通知即将过期,也不自动续费。
/// <br><li>注意后付费模式本项为null
/// </summary>
[JsonProperty("RenewFlag")]
public string RenewFlag{ get; set; }
/// <summary>
/// 创建时间。按照`ISO8601`标准表示,并且使用`UTC`时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。
/// </summary>
[JsonProperty("CreatedTime")]
public string CreatedTime{ get; set; }
/// <summary>
/// 到期时间。按照`ISO8601`标准表示,并且使用`UTC`时间。格式为:`YYYY-MM-DDThh:mm:ssZ`。注意后付费模式本项为null
/// </summary>
[JsonProperty("ExpiredTime")]
public string ExpiredTime{ get; set; }
/// <summary>
/// 操作系统名称。
/// </summary>
[JsonProperty("OsName")]
public string OsName{ get; set; }
/// <summary>
/// 实例所属安全组。该参数可以通过调用 [DescribeSecurityGroups](https://cloud.tencent.com/document/api/215/15808) 的返回值中的sgId字段来获取。
/// </summary>
[JsonProperty("SecurityGroupIds")]
public string[] SecurityGroupIds{ get; set; }
/// <summary>
/// 实例登录设置。目前只返回实例所关联的密钥。
/// </summary>
[JsonProperty("LoginSettings")]
public LoginSettings LoginSettings{ get; set; }
/// <summary>
/// 实例状态。取值范围:<br><li>PENDING表示创建中<br></li><li>LAUNCH_FAILED表示创建失败<br></li><li>RUNNING表示运行中<br></li><li>STOPPED表示关机<br></li><li>STARTING表示开机中<br></li><li>STOPPING表示关机中<br></li><li>REBOOTING表示重启中<br></li><li>SHUTDOWN表示停止待销毁<br></li><li>TERMINATING表示销毁中。<br></li>
/// </summary>
[JsonProperty("InstanceState")]
public string InstanceState{ get; set; }
/// <summary>
/// 实例关联的标签列表。
/// </summary>
[JsonProperty("Tags")]
public Tag[] Tags{ get; set; }
/// <summary>
/// 实例的关机计费模式。
/// 取值范围:<br><li>KEEP_CHARGING关机继续收费<br><li>STOP_CHARGING关机停止收费<li>NOT_APPLICABLE实例处于非关机状态或者不适用关机停止计费的条件<br>
/// </summary>
[JsonProperty("StopChargingMode")]
public string StopChargingMode{ get; set; }
/// <summary>
/// 实例全局唯一ID
/// </summary>
[JsonProperty("Uuid")]
public string Uuid{ get; set; }
/// <summary>
/// 实例的最新操作。例StopInstances、ResetInstance。
/// 注意:此字段可能返回 null表示取不到有效值。
/// </summary>
[JsonProperty("LatestOperation")]
public string LatestOperation{ get; set; }
/// <summary>
/// 实例的最新操作状态。取值范围:<br><li>SUCCESS表示操作成功<br><li>OPERATING表示操作执行中<br><li>FAILED表示操作失败
/// 注意:此字段可能返回 null表示取不到有效值。
/// </summary>
[JsonProperty("LatestOperationState")]
public string LatestOperationState{ get; set; }
/// <summary>
/// 实例最新操作的唯一请求 ID。
/// 注意:此字段可能返回 null表示取不到有效值。
/// </summary>
[JsonProperty("LatestOperationRequestId")]
public string LatestOperationRequestId{ get; set; }
/// <summary>
/// 分散置放群组ID。
/// 注意:此字段可能返回 null表示取不到有效值。
/// </summary>
[JsonProperty("DisasterRecoverGroupId")]
public string DisasterRecoverGroupId{ get; set; }
/// <summary>
/// 实例的IPv6地址。
/// 注意:此字段可能返回 null表示取不到有效值。
/// </summary>
[JsonProperty("IPv6Addresses")]
public string[] IPv6Addresses{ get; set; }
/// <summary>
/// CAM角色名。
/// 注意:此字段可能返回 null表示取不到有效值。
/// </summary>
[JsonProperty("CamRoleName")]
public string CamRoleName{ 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 + "InstanceId", this.InstanceId);
this.SetParamSimple(map, prefix + "InstanceType", this.InstanceType);
this.SetParamSimple(map, prefix + "CPU", this.CPU);
this.SetParamSimple(map, prefix + "Memory", this.Memory);
this.SetParamSimple(map, prefix + "RestrictState", this.RestrictState);
this.SetParamSimple(map, prefix + "InstanceName", this.InstanceName);
this.SetParamSimple(map, prefix + "InstanceChargeType", this.InstanceChargeType);
this.SetParamObj(map, prefix + "SystemDisk.", this.SystemDisk);
this.SetParamArrayObj(map, prefix + "DataDisks.", this.DataDisks);
this.SetParamArraySimple(map, prefix + "PrivateIpAddresses.", this.PrivateIpAddresses);
this.SetParamArraySimple(map, prefix + "PublicIpAddresses.", this.PublicIpAddresses);
this.SetParamObj(map, prefix + "InternetAccessible.", this.InternetAccessible);
this.SetParamObj(map, prefix + "VirtualPrivateCloud.", this.VirtualPrivateCloud);
this.SetParamSimple(map, prefix + "ImageId", this.ImageId);
this.SetParamSimple(map, prefix + "RenewFlag", this.RenewFlag);
this.SetParamSimple(map, prefix + "CreatedTime", this.CreatedTime);
this.SetParamSimple(map, prefix + "ExpiredTime", this.ExpiredTime);
this.SetParamSimple(map, prefix + "OsName", this.OsName);
this.SetParamArraySimple(map, prefix + "SecurityGroupIds.", this.SecurityGroupIds);
this.SetParamObj(map, prefix + "LoginSettings.", this.LoginSettings);
this.SetParamSimple(map, prefix + "InstanceState", this.InstanceState);
this.SetParamArrayObj(map, prefix + "Tags.", this.Tags);
this.SetParamSimple(map, prefix + "StopChargingMode", this.StopChargingMode);
this.SetParamSimple(map, prefix + "Uuid", this.Uuid);
this.SetParamSimple(map, prefix + "LatestOperation", this.LatestOperation);
this.SetParamSimple(map, prefix + "LatestOperationState", this.LatestOperationState);
this.SetParamSimple(map, prefix + "LatestOperationRequestId", this.LatestOperationRequestId);
this.SetParamSimple(map, prefix + "DisasterRecoverGroupId", this.DisasterRecoverGroupId);
this.SetParamArraySimple(map, prefix + "IPv6Addresses.", this.IPv6Addresses);
this.SetParamSimple(map, prefix + "CamRoleName", this.CamRoleName);
}
}
}