// *** 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;

namespace Pulumi.AliCloud.Ecs.Outputs
{

    [OutputType]
    public sealed class EcsLaunchTemplateDataDisk
    {
        /// <summary>
        /// The category of the disk.
        /// </summary>
        public readonly string? Category;
        /// <summary>
        /// Indicates whether the data disk is released with the instance.
        /// </summary>
        public readonly bool? DeleteWithInstance;
        /// <summary>
        /// The description of the data disk.
        /// </summary>
        public readonly string? Description;
        /// <summary>
        /// Encrypted the data in this disk.
        /// </summary>
        public readonly bool? Encrypted;
        /// <summary>
        /// The name of the data disk.
        /// </summary>
        public readonly string? Name;
        /// <summary>
        /// The performance level of the ESSD used as the data disk.
        /// </summary>
        public readonly string? PerformanceLevel;
        /// <summary>
        /// The size of the data disk.
        /// </summary>
        public readonly int? Size;
        /// <summary>
        /// The snapshot ID used to initialize the data disk. If the size specified by snapshot is greater that the size of the disk, use the size specified by snapshot as the size of the data disk.
        /// </summary>
        public readonly string? SnapshotId;

        [OutputConstructor]
        private EcsLaunchTemplateDataDisk(
            string? category,

            bool? deleteWithInstance,

            string? description,

            bool? encrypted,

            string? name,

            string? performanceLevel,

            int? size,

            string? snapshotId)
        {
            Category = category;
            DeleteWithInstance = deleteWithInstance;
            Description = description;
            Encrypted = encrypted;
            Name = name;
            PerformanceLevel = performanceLevel;
            Size = size;
            SnapshotId = snapshotId;
        }
    }
}
