generated/api/Models/HyperScaleNodeDetails.cs

// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.9.4, generator: @autorest/powershell@3.0.415)
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

namespace Commvault.Powershell.Models
{
    using static Commvault.Powershell.Runtime.Extensions;

    /// <summary>HyperScaleNodeDetails</summary>
    public partial class HyperScaleNodeDetails :
        Commvault.Powershell.Models.IHyperScaleNodeDetails,
        Commvault.Powershell.Models.IHyperScaleNodeDetailsInternal
    {

        /// <summary>Internal Acessors for DiskInformation</summary>
        Commvault.Powershell.Models.IHyperScaleDiskInfo Commvault.Powershell.Models.IHyperScaleNodeDetailsInternal.DiskInformation { get => (this._diskInformation = this._diskInformation ?? new Commvault.Powershell.Models.HyperScaleDiskInfo()); set { {_diskInformation = value;} } }

        /// <summary>Internal Acessors for Node</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IHyperScaleNodeDetailsInternal.Node { get => (this._node = this._node ?? new Commvault.Powershell.Models.IdName()); set { {_node = value;} } }

        /// <summary>Internal Acessors for ServerInformation</summary>
        Commvault.Powershell.Models.IHyperScaleServerInfo Commvault.Powershell.Models.IHyperScaleNodeDetailsInternal.ServerInformation { get => (this._serverInformation = this._serverInformation ?? new Commvault.Powershell.Models.HyperScaleServerInfo()); set { {_serverInformation = value;} } }

        /// <summary>Backing field for <see cref="DiskInformation" /> property.</summary>
        private Commvault.Powershell.Models.IHyperScaleDiskInfo _diskInformation;

        /// <summary>HyperScaleDiskInfo</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IHyperScaleDiskInfo DiskInformation { get => (this._diskInformation = this._diskInformation ?? new Commvault.Powershell.Models.HyperScaleDiskInfo()); set => this._diskInformation = value; }

        /// <summary>The file system on the node</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string DiskInformationFileSystem { get => ((Commvault.Powershell.Models.IHyperScaleDiskInfoInternal)DiskInformation).FileSystem; set => ((Commvault.Powershell.Models.IHyperScaleDiskInfoInternal)DiskInformation).FileSystem = value ?? null; }

        /// <summary>The name of the product</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string DiskInformationProduct { get => ((Commvault.Powershell.Models.IHyperScaleDiskInfoInternal)DiskInformation).Product; set => ((Commvault.Powershell.Models.IHyperScaleDiskInfoInternal)DiskInformation).Product = value ?? null; }

        /// <summary>The status of the node - whether the node is online or offline and is healthy</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string DiskInformationStatus { get => ((Commvault.Powershell.Models.IHyperScaleDiskInfoInternal)DiskInformation).Status; set => ((Commvault.Powershell.Models.IHyperScaleDiskInfoInternal)DiskInformation).Status = value ?? null; }

        /// <summary>The name of the vendor</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string DiskInformationVendor { get => ((Commvault.Powershell.Models.IHyperScaleDiskInfoInternal)DiskInformation).Vendor; set => ((Commvault.Powershell.Models.IHyperScaleDiskInfoInternal)DiskInformation).Vendor = value ?? null; }

        /// <summary>Backing field for <see cref="Disks" /> property.</summary>
        private Commvault.Powershell.Models.IHyperScaleNodeDisk[] _disks;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IHyperScaleNodeDisk[] Disks { get => this._disks; set => this._disks = value; }

        /// <summary>Backing field for <see cref="Node" /> property.</summary>
        private Commvault.Powershell.Models.IIdName _node;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IIdName Node { get => (this._node = this._node ?? new Commvault.Powershell.Models.IdName()); set => this._node = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? NodeId { get => ((Commvault.Powershell.Models.IIdNameInternal)Node).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)Node).Id = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string NodeName { get => ((Commvault.Powershell.Models.IIdNameInternal)Node).Name; set => ((Commvault.Powershell.Models.IIdNameInternal)Node).Name = value ?? null; }

        /// <summary>Backing field for <see cref="ServerInformation" /> property.</summary>
        private Commvault.Powershell.Models.IHyperScaleServerInfo _serverInformation;

        /// <summary>HyperScaleServerInfo</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IHyperScaleServerInfo ServerInformation { get => (this._serverInformation = this._serverInformation ?? new Commvault.Powershell.Models.HyperScaleServerInfo()); set => this._serverInformation = value; }

        /// <summary>The status of the cache drive</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ServerInformationCacheDrive { get => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).CacheDrive; set => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).CacheDrive = value ?? null; }

        /// <summary>The CPU related information</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ServerInformationCpu { get => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).Cpu; set => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).Cpu = value ?? null; }

        /// <summary>The CPU performance</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ServerInformationCpuUsage { get => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).CpuUsage; set => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).CpuUsage = value ?? null; }

        /// <summary>The status of the fan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ServerInformationFan { get => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).Fan; set => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).Fan = value ?? null; }

        /// <summary>The amount of physical memory currently used</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ServerInformationMemoryUsage { get => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).MemoryUsage; set => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).MemoryUsage = value ?? null; }

        /// <summary>The status of the NIC cards in the mount path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ServerInformationNicStatus { get => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).NicStatus; set => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).NicStatus = value ?? null; }

        /// <summary>The status of the power supply</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ServerInformationPowerSupply { get => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).PowerSupply; set => ((Commvault.Powershell.Models.IHyperScaleServerInfoInternal)ServerInformation).PowerSupply = value ?? null; }

        /// <summary>Creates an new <see cref="HyperScaleNodeDetails" /> instance.</summary>
        public HyperScaleNodeDetails()
        {

        }
    }
    /// HyperScaleNodeDetails
    public partial interface IHyperScaleNodeDetails :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>The file system on the node</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The file system on the node",
        SerializedName = @"fileSystem",
        PossibleTypes = new [] { typeof(string) })]
        string DiskInformationFileSystem { get; set; }
        /// <summary>The name of the product</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The name of the product",
        SerializedName = @"product",
        PossibleTypes = new [] { typeof(string) })]
        string DiskInformationProduct { get; set; }
        /// <summary>The status of the node - whether the node is online or offline and is healthy</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The status of the node - whether the node is online or offline and is healthy",
        SerializedName = @"status",
        PossibleTypes = new [] { typeof(string) })]
        string DiskInformationStatus { get; set; }
        /// <summary>The name of the vendor</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The name of the vendor",
        SerializedName = @"vendor",
        PossibleTypes = new [] { typeof(string) })]
        string DiskInformationVendor { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"disks",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IHyperScaleNodeDisk) })]
        Commvault.Powershell.Models.IHyperScaleNodeDisk[] Disks { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? NodeId { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string NodeName { get; set; }
        /// <summary>The status of the cache drive</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The status of the cache drive",
        SerializedName = @"cacheDrive",
        PossibleTypes = new [] { typeof(string) })]
        string ServerInformationCacheDrive { get; set; }
        /// <summary>The CPU related information</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The CPU related information",
        SerializedName = @"cpu",
        PossibleTypes = new [] { typeof(string) })]
        string ServerInformationCpu { get; set; }
        /// <summary>The CPU performance</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The CPU performance",
        SerializedName = @"cpuUsage",
        PossibleTypes = new [] { typeof(string) })]
        string ServerInformationCpuUsage { get; set; }
        /// <summary>The status of the fan</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The status of the fan",
        SerializedName = @"fan",
        PossibleTypes = new [] { typeof(string) })]
        string ServerInformationFan { get; set; }
        /// <summary>The amount of physical memory currently used</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The amount of physical memory currently used",
        SerializedName = @"memoryUsage",
        PossibleTypes = new [] { typeof(string) })]
        string ServerInformationMemoryUsage { get; set; }
        /// <summary>The status of the NIC cards in the mount path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The status of the NIC cards in the mount path",
        SerializedName = @"nicStatus",
        PossibleTypes = new [] { typeof(string) })]
        string ServerInformationNicStatus { get; set; }
        /// <summary>The status of the power supply</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The status of the power supply",
        SerializedName = @"powerSupply",
        PossibleTypes = new [] { typeof(string) })]
        string ServerInformationPowerSupply { get; set; }

    }
    /// HyperScaleNodeDetails
    internal partial interface IHyperScaleNodeDetailsInternal

    {
        /// <summary>HyperScaleDiskInfo</summary>
        Commvault.Powershell.Models.IHyperScaleDiskInfo DiskInformation { get; set; }
        /// <summary>The file system on the node</summary>
        string DiskInformationFileSystem { get; set; }
        /// <summary>The name of the product</summary>
        string DiskInformationProduct { get; set; }
        /// <summary>The status of the node - whether the node is online or offline and is healthy</summary>
        string DiskInformationStatus { get; set; }
        /// <summary>The name of the vendor</summary>
        string DiskInformationVendor { get; set; }

        Commvault.Powershell.Models.IHyperScaleNodeDisk[] Disks { get; set; }

        Commvault.Powershell.Models.IIdName Node { get; set; }

        long? NodeId { get; set; }

        string NodeName { get; set; }
        /// <summary>HyperScaleServerInfo</summary>
        Commvault.Powershell.Models.IHyperScaleServerInfo ServerInformation { get; set; }
        /// <summary>The status of the cache drive</summary>
        string ServerInformationCacheDrive { get; set; }
        /// <summary>The CPU related information</summary>
        string ServerInformationCpu { get; set; }
        /// <summary>The CPU performance</summary>
        string ServerInformationCpuUsage { get; set; }
        /// <summary>The status of the fan</summary>
        string ServerInformationFan { get; set; }
        /// <summary>The amount of physical memory currently used</summary>
        string ServerInformationMemoryUsage { get; set; }
        /// <summary>The status of the NIC cards in the mount path</summary>
        string ServerInformationNicStatus { get; set; }
        /// <summary>The status of the power supply</summary>
        string ServerInformationPowerSupply { get; set; }

    }
}