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

    [OutputType]
    public sealed class ContainerGroupVolume
    {
        /// <summary>
        /// ConfigFileVolumeConfigFileToPaths.
        /// </summary>
        public readonly ImmutableArray<Outputs.ContainerGroupVolumeConfigFileVolumeConfigFileToPath> ConfigFileVolumeConfigFileToPaths;
        /// <summary>
        /// The ID of DiskVolume.
        /// </summary>
        public readonly string? DiskVolumeDiskId;
        /// <summary>
        /// The system type of DiskVolume.
        /// </summary>
        public readonly string? DiskVolumeFsType;
        /// <summary>
        /// The name of the FlexVolume driver.
        /// </summary>
        public readonly string? FlexVolumeDriver;
        /// <summary>
        /// The type of the mounted file system. The default value is determined by the script of FlexVolume.
        /// </summary>
        public readonly string? FlexVolumeFsType;
        /// <summary>
        /// The list of FlexVolume objects. Each object is a key-value pair contained in a JSON string.
        /// </summary>
        public readonly string? FlexVolumeOptions;
        /// <summary>
        /// The name of the security context that the container group runs.
        /// </summary>
        public readonly string? Name;
        /// <summary>
        /// The path to the NFS volume.
        /// </summary>
        public readonly string? NfsVolumePath;
        /// <summary>
        /// The nfs volume read only. Default to `false`.
        /// </summary>
        public readonly bool? NfsVolumeReadOnly;
        /// <summary>
        /// The address of the NFS server.
        /// </summary>
        public readonly string? NfsVolumeServer;
        /// <summary>
        /// The type of the volume.
        /// </summary>
        public readonly string? Type;

        [OutputConstructor]
        private ContainerGroupVolume(
            ImmutableArray<Outputs.ContainerGroupVolumeConfigFileVolumeConfigFileToPath> configFileVolumeConfigFileToPaths,

            string? diskVolumeDiskId,

            string? diskVolumeFsType,

            string? flexVolumeDriver,

            string? flexVolumeFsType,

            string? flexVolumeOptions,

            string? name,

            string? nfsVolumePath,

            bool? nfsVolumeReadOnly,

            string? nfsVolumeServer,

            string? type)
        {
            ConfigFileVolumeConfigFileToPaths = configFileVolumeConfigFileToPaths;
            DiskVolumeDiskId = diskVolumeDiskId;
            DiskVolumeFsType = diskVolumeFsType;
            FlexVolumeDriver = flexVolumeDriver;
            FlexVolumeFsType = flexVolumeFsType;
            FlexVolumeOptions = flexVolumeOptions;
            Name = name;
            NfsVolumePath = nfsVolumePath;
            NfsVolumeReadOnly = nfsVolumeReadOnly;
            NfsVolumeServer = nfsVolumeServer;
            Type = type;
        }
    }
}
