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

    [OutputType]
    public sealed class ClusterAdditionalVolume
    {
        /// <summary>
        /// The queue of the nodes to which the additional file system is attached.
        /// </summary>
        public readonly string? JobQueue;
        /// <summary>
        /// The local directory on which the additional file system is mounted.
        /// </summary>
        public readonly string? LocalDirectory;
        /// <summary>
        /// The type of the cluster. Valid value: `PublicCloud`.
        /// </summary>
        public readonly string? Location;
        /// <summary>
        /// The remote directory to which the additional file system is mounted.
        /// </summary>
        public readonly string? RemoteDirectory;
        /// <summary>
        /// The roles. See the following `Block roles`.
        /// </summary>
        public readonly ImmutableArray<Outputs.ClusterAdditionalVolumeRole> Roles;
        /// <summary>
        /// The ID of the additional file system.
        /// </summary>
        public readonly string? VolumeId;
        /// <summary>
        /// The mount options of the file system.
        /// </summary>
        public readonly string? VolumeMountOption;
        /// <summary>
        /// The mount target of the additional file system.
        /// </summary>
        public readonly string? VolumeMountpoint;
        /// <summary>
        /// The type of the protocol that is used by the additional file system. Valid values: `NFS`, `SMB`. Default value: `NFS`
        /// </summary>
        public readonly string? VolumeProtocol;
        /// <summary>
        /// The type of the additional shared storage. Only NAS file systems are supported.
        /// </summary>
        public readonly string? VolumeType;

        [OutputConstructor]
        private ClusterAdditionalVolume(
            string? jobQueue,

            string? localDirectory,

            string? location,

            string? remoteDirectory,

            ImmutableArray<Outputs.ClusterAdditionalVolumeRole> roles,

            string? volumeId,

            string? volumeMountOption,

            string? volumeMountpoint,

            string? volumeProtocol,

            string? volumeType)
        {
            JobQueue = jobQueue;
            LocalDirectory = localDirectory;
            Location = location;
            RemoteDirectory = remoteDirectory;
            Roles = roles;
            VolumeId = volumeId;
            VolumeMountOption = volumeMountOption;
            VolumeMountpoint = volumeMountpoint;
            VolumeProtocol = volumeProtocol;
            VolumeType = volumeType;
        }
    }
}
