/*
* 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.As.V20180419.Models
{
using Newtonsoft.Json;
using System.Collections.Generic;
using TencentCloud.Common;
public class CreatePaiInstanceRequest : AbstractModel
{
///
/// PAI实例的域名。
///
[JsonProperty("DomainName")]
public string DomainName{ get; set; }
///
/// 公网带宽相关信息设置。
///
[JsonProperty("InternetAccessible")]
public InternetAccessible InternetAccessible{ get; set; }
///
/// 启动脚本的base64编码字符串。
///
[JsonProperty("InitScript")]
public string InitScript{ get; set; }
///
/// 可用区列表。
///
[JsonProperty("Zones")]
public string[] Zones{ get; set; }
///
/// VPC ID。
///
[JsonProperty("VpcId")]
public string VpcId{ get; set; }
///
/// 子网列表。
///
[JsonProperty("SubnetIds")]
public string[] SubnetIds{ get; set; }
///
/// 实例显示名称。
///
[JsonProperty("InstanceName")]
public string InstanceName{ get; set; }
///
/// 实例机型列表。
///
[JsonProperty("InstanceTypes")]
public string[] InstanceTypes{ get; set; }
///
/// 实例登录设置。
///
[JsonProperty("LoginSettings")]
public LoginSettings LoginSettings{ get; set; }
///
/// 实例计费类型。
///
[JsonProperty("InstanceChargeType")]
public string InstanceChargeType{ get; set; }
///
/// 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。
///
[JsonProperty("InstanceChargePrepaid")]
public InstanceChargePrepaid InstanceChargePrepaid{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "DomainName", this.DomainName);
this.SetParamObj(map, prefix + "InternetAccessible.", this.InternetAccessible);
this.SetParamSimple(map, prefix + "InitScript", this.InitScript);
this.SetParamArraySimple(map, prefix + "Zones.", this.Zones);
this.SetParamSimple(map, prefix + "VpcId", this.VpcId);
this.SetParamArraySimple(map, prefix + "SubnetIds.", this.SubnetIds);
this.SetParamSimple(map, prefix + "InstanceName", this.InstanceName);
this.SetParamArraySimple(map, prefix + "InstanceTypes.", this.InstanceTypes);
this.SetParamObj(map, prefix + "LoginSettings.", this.LoginSettings);
this.SetParamSimple(map, prefix + "InstanceChargeType", this.InstanceChargeType);
this.SetParamObj(map, prefix + "InstanceChargePrepaid.", this.InstanceChargePrepaid);
}
}
}