263 lines
11 KiB
C#
263 lines
11 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.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);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|