// *** 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.Cvm.Outputs
{

    [OutputType]
    public sealed class LaunchTemplateDataDisk
    {
        /// <summary>
        /// Cloud Dedicated Cluster(CDC) ID.
        /// </summary>
        public readonly string? CdcId;
        /// <summary>
        /// Whether the data disk is destroyed along with the instance, true or false.
        /// </summary>
        public readonly bool? DeleteWithInstance;
        /// <summary>
        /// Data disk ID.
        /// </summary>
        public readonly string? DiskId;
        /// <summary>
        /// The size of the data disk.
        /// </summary>
        public readonly int DiskSize;
        /// <summary>
        /// The type of data disk.
        /// </summary>
        public readonly string? DiskType;
        /// <summary>
        /// Whether the data disk is encrypted, TRUE or FALSE.
        /// </summary>
        public readonly bool? Encrypt;
        /// <summary>
        /// The id of custom CMK.
        /// </summary>
        public readonly string? KmsKeyId;
        /// <summary>
        /// Data disk snapshot ID.
        /// </summary>
        public readonly string? SnapshotId;
        /// <summary>
        /// Cloud disk performance, MB/s.
        /// </summary>
        public readonly int? ThroughputPerformance;

        [OutputConstructor]
        private LaunchTemplateDataDisk(
            string? cdcId,

            bool? deleteWithInstance,

            string? diskId,

            int diskSize,

            string? diskType,

            bool? encrypt,

            string? kmsKeyId,

            string? snapshotId,

            int? throughputPerformance)
        {
            CdcId = cdcId;
            DeleteWithInstance = deleteWithInstance;
            DiskId = diskId;
            DiskSize = diskSize;
            DiskType = diskType;
            Encrypt = encrypt;
            KmsKeyId = kmsKeyId;
            SnapshotId = snapshotId;
            ThroughputPerformance = throughputPerformance;
        }
    }
}
