// *** 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 ImageDiskDeviceMapping
    {
        /// <summary>
        /// Specifies the name of a disk in the combined custom image. Value range: /dev/xvda to /dev/xvdz.
        /// </summary>
        public readonly string? Device;
        /// <summary>
        /// Specifies the type of a disk in the combined custom image. If you specify this parameter, you can use a data disk snapshot as the data source of a system disk for creating an image. If it is not specified, the disk type is determined by the corresponding snapshot. Valid values: `system`, `data`,
        /// </summary>
        public readonly string? DiskType;
        /// <summary>
        /// Specifies the size of a disk in the combined custom image, in GiB. Value range: 5 to 2000.
        /// </summary>
        public readonly int? Size;
        /// <summary>
        /// Specifies a snapshot that is used to create a combined custom image.
        /// </summary>
        public readonly string? SnapshotId;

        [OutputConstructor]
        private ImageDiskDeviceMapping(
            string? device,

            string? diskType,

            int? size,

            string? snapshotId)
        {
            Device = device;
            DiskType = diskType;
            Size = size;
            SnapshotId = snapshotId;
        }
    }
}
