/*
* 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 DataDisk : AbstractModel
{
///
/// 数据盘大小,单位:GB。最小调整步长为10G,不同数据盘类型取值范围不同,具体限制详见:[存储概述](https://cloud.tencent.com/document/product/213/4952)。默认值为0,表示不购买数据盘。更多限制详见产品文档。
///
[JsonProperty("DiskSize")]
public long? DiskSize{ get; set; }
///
/// 数据盘类型。数据盘类型限制详见[存储概述](https://cloud.tencent.com/document/product/213/4952)。取值范围:
LOCAL_BASIC:本地硬盘
LOCAL_SSD:本地SSD硬盘
CLOUD_BASIC:普通云硬盘
CLOUD_PREMIUM:高性能云硬盘
CLOUD_SSD:SSD云硬盘
默认取值:LOCAL_BASIC。
该参数对`ResizeInstanceDisk`接口无效。
///
[JsonProperty("DiskType")]
public string DiskType{ get; set; }
///
/// 数据盘ID。LOCAL_BASIC 和 LOCAL_SSD 类型没有ID,暂时不支持该参数。
///
[JsonProperty("DiskId")]
public string DiskId{ get; set; }
///
/// 数据盘是否随子机销毁。取值范围:
/// TRUE:子机销毁时,销毁数据盘,只支持按小时后付费云盘
/// FALSE:子机销毁时,保留数据盘
/// 默认取值:TRUE
/// 该参数目前仅用于 `RunInstances` 接口。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("DeleteWithInstance")]
public bool? DeleteWithInstance{ get; set; }
///
/// 数据盘快照ID。选择的数据盘快照大小需小于数据盘大小。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("SnapshotId")]
public string SnapshotId{ get; set; }
///
/// 数据盘是加密。取值范围:
/// TRUE:加密
/// FALSE:不加密
/// 默认取值:FALSE
/// 该参数目前仅用于 `RunInstances` 接口。
/// 注意:此字段可能返回 null,表示取不到有效值。
///
[JsonProperty("Encrypt")]
public bool? Encrypt{ get; set; }
///
/// For internal usage only. DO NOT USE IT.
///
internal override void ToMap(Dictionary map, string prefix)
{
this.SetParamSimple(map, prefix + "DiskSize", this.DiskSize);
this.SetParamSimple(map, prefix + "DiskType", this.DiskType);
this.SetParamSimple(map, prefix + "DiskId", this.DiskId);
this.SetParamSimple(map, prefix + "DeleteWithInstance", this.DeleteWithInstance);
this.SetParamSimple(map, prefix + "SnapshotId", this.SnapshotId);
this.SetParamSimple(map, prefix + "Encrypt", this.Encrypt);
}
}
}