Files

149 lines
6.0 KiB
C#
Raw Permalink Normal View History

/*
* 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.Batch.V20170312.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class EnvData : AbstractModel
{
/// <summary>
/// CVM实例类型不能与InstanceTypes和InstanceTypeOptions同时出现。
/// </summary>
[JsonProperty("InstanceType")]
public string InstanceType{ get; set; }
/// <summary>
/// CVM镜像ID
/// </summary>
[JsonProperty("ImageId")]
public string ImageId{ get; set; }
/// <summary>
/// 实例系统盘配置信息
/// </summary>
[JsonProperty("SystemDisk")]
public SystemDisk SystemDisk{ get; set; }
/// <summary>
/// 实例数据盘配置信息
/// </summary>
[JsonProperty("DataDisks")]
public DataDisk[] DataDisks{ get; set; }
/// <summary>
/// 私有网络相关信息配置与Zones和VirtualPrivateClouds不能同时指定。
/// </summary>
[JsonProperty("VirtualPrivateCloud")]
public VirtualPrivateCloud VirtualPrivateCloud{ get; set; }
/// <summary>
/// 公网带宽相关信息设置
/// </summary>
[JsonProperty("InternetAccessible")]
public InternetAccessible InternetAccessible{ get; set; }
/// <summary>
/// CVM实例显示名称
/// </summary>
[JsonProperty("InstanceName")]
public string InstanceName{ get; set; }
/// <summary>
/// 实例登录设置
/// </summary>
[JsonProperty("LoginSettings")]
public LoginSettings LoginSettings{ get; set; }
/// <summary>
/// 实例所属安全组
/// </summary>
[JsonProperty("SecurityGroupIds")]
public string[] SecurityGroupIds{ get; set; }
/// <summary>
/// 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。若不指定该参数,则默认开启云监控、云安全服务。
/// </summary>
[JsonProperty("EnhancedService")]
public EnhancedService EnhancedService{ get; set; }
/// <summary>
/// CVM实例计费类型<br><li>POSTPAID_BY_HOUR按小时后付费<br><li>SPOTPAID竞价付费<br>默认值POSTPAID_BY_HOUR。
/// </summary>
[JsonProperty("InstanceChargeType")]
public string InstanceChargeType{ get; set; }
/// <summary>
/// 实例的市场相关选项,如竞价实例相关参数
/// </summary>
[JsonProperty("InstanceMarketOptions")]
public InstanceMarketOptionsRequest InstanceMarketOptions{ get; set; }
/// <summary>
/// CVM实例类型列表不能与InstanceType和InstanceTypeOptions同时出现。指定该字段后计算节点按照机型先后顺序依次尝试创建直到实例创建成功结束遍历过程。最多支持10个机型。
/// </summary>
[JsonProperty("InstanceTypes")]
public string[] InstanceTypes{ get; set; }
/// <summary>
/// CVM实例机型配置。不能与InstanceType和InstanceTypes同时出现。
/// </summary>
[JsonProperty("InstanceTypeOptions")]
public InstanceTypeOptions InstanceTypeOptions{ get; set; }
/// <summary>
/// 可用区列表支持跨可用区创建CVM实例。与VirtualPrivateCloud和VirtualPrivateClouds不能同时指定。
/// </summary>
[JsonProperty("Zones")]
public string[] Zones{ get; set; }
/// <summary>
/// 私有网络列表支持跨私有网络创建CVM实例。与VirtualPrivateCloud和Zones不能同时指定。
/// </summary>
[JsonProperty("VirtualPrivateClouds")]
public VirtualPrivateCloud[] VirtualPrivateClouds{ 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 + "InstanceType", this.InstanceType);
this.SetParamSimple(map, prefix + "ImageId", this.ImageId);
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 + "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 + "InstanceChargeType", this.InstanceChargeType);
this.SetParamObj(map, prefix + "InstanceMarketOptions.", this.InstanceMarketOptions);
this.SetParamArraySimple(map, prefix + "InstanceTypes.", this.InstanceTypes);
this.SetParamObj(map, prefix + "InstanceTypeOptions.", this.InstanceTypeOptions);
this.SetParamArraySimple(map, prefix + "Zones.", this.Zones);
this.SetParamArrayObj(map, prefix + "VirtualPrivateClouds.", this.VirtualPrivateClouds);
}
}
}