<filename>sdk/dotnet/Tencentcloud/Instance/Inputs/InstanceDataDiskArgs.cs<gh_stars>0// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;
using Pulumi;

namespace TencentCloudIAC.PulumiPackage.Tencentcloud.Instance.Inputs
{

    public sealed class InstanceDataDiskArgs : Pulumi.ResourceArgs
    {
        /// <summary>
        /// Data disk ID used to initialize the data disk. When data disk type is `LOCAL_BASIC` and `LOCAL_SSD`, disk id is not supported.
        /// </summary>
        [Input("dataDiskId")]
        public Input<string>? DataDiskId { get; set; }

        /// <summary>
        /// Size of the data disk, and unit is GB.
        /// </summary>
        [Input("dataDiskSize", required: true)]
        public Input<int> DataDiskSize { get; set; } = null!;

        /// <summary>
        /// Snapshot ID of the data disk. The selected data disk snapshot size must be smaller than the data disk size.
        /// </summary>
        [Input("dataDiskSnapshotId")]
        public Input<string>? DataDiskSnapshotId { get; set; }

        /// <summary>
        /// Data disk type. For more information about limits on different data disk types, see [Storage Overview](https://intl.cloud.tencent.com/document/product/213/4952). Valid values: LOCAL_BASIC: local disk, LOCAL_SSD: local SSD disk, LOCAL_NVME: local NVME disk, specified in the InstanceType, LOCAL_PRO: local HDD disk, specified in the InstanceType, CLOUD_BASIC: HDD cloud disk, CLOUD_PREMIUM: Premium Cloud Storage, CLOUD_SSD: SSD, CLOUD_HSSD: Enhanced SSD, CLOUD_TSSD: Tremendous SSD, CLOUD_BSSD: Balanced SSD.
        /// </summary>
        [Input("dataDiskType", required: true)]
        public Input<string> DataDiskType { get; set; } = null!;

        /// <summary>
        /// Decides whether the disk is deleted with instance(only applied to `CLOUD_BASIC`, `CLOUD_SSD` and `CLOUD_PREMIUM` disk with `POSTPAID_BY_HOUR` instance), default is true.
        /// </summary>
        [Input("deleteWithInstance")]
        public Input<bool>? DeleteWithInstance { get; set; }

        /// <summary>
        /// Decides whether the disk is encrypted. Default is `false`.
        /// </summary>
        [Input("encrypt")]
        public Input<bool>? Encrypt { get; set; }

        /// <summary>
        /// Add extra performance to the data disk. Only works when disk type is `CLOUD_TSSD` or `CLOUD_HSSD`.
        /// </summary>
        [Input("throughputPerformance")]
        public Input<int>? ThroughputPerformance { get; set; }

        public InstanceDataDiskArgs()
        {
        }
    }
}
