generated/api/Models/HypervisorPropertiesResp.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;

    public partial class HypervisorPropertiesResp :
        Commvault.Powershell.Models.IHypervisorPropertiesResp,
        Commvault.Powershell.Models.IHypervisorPropertiesRespInternal
    {

        /// <summary>Backing field for <see cref="AccessNodeList" /> property.</summary>
        private Commvault.Powershell.Models.IAccessNodeListModel _accessNodeList;

        /// <summary>accessNodeListModel</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IAccessNodeListModel AccessNodeList { get => (this._accessNodeList = this._accessNodeList ?? new Commvault.Powershell.Models.AccessNodeListModel()); set => this._accessNodeList = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IAccessNodeModel[] AccessNodeListAccessNode { get => ((Commvault.Powershell.Models.IAccessNodeListModelInternal)AccessNodeList).AccessNode; set => ((Commvault.Powershell.Models.IAccessNodeListModelInternal)AccessNodeList).AccessNode = value ?? null /* arrayOf */; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string AccessNodeListAccessNodeMessage { get => ((Commvault.Powershell.Models.IAccessNodeListModelInternal)AccessNodeList).AccessNodeMessage; set => ((Commvault.Powershell.Models.IAccessNodeListModelInternal)AccessNodeList).AccessNodeMessage = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string AccessNodeListResourcePoolName { get => ((Commvault.Powershell.Models.IAccessNodeListModelInternal)AccessNodeList).ResourcePoolName; set => ((Commvault.Powershell.Models.IAccessNodeListModelInternal)AccessNodeList).ResourcePoolName = value ?? null; }

        /// <summary>Host Name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string AccountDetailHostName { get => ((Commvault.Powershell.Models.IHypervisorAccountDetailsInternal)AccountDetails).HostName; set => ((Commvault.Powershell.Models.IHypervisorAccountDetailsInternal)AccountDetails).HostName = value ?? null; }

        /// <summary>Backing field for <see cref="AccountDetails" /> property.</summary>
        private Commvault.Powershell.Models.IHypervisorAccountDetails _accountDetails;

        /// <summary>hypervisorAccountDetails</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IHypervisorAccountDetails AccountDetails { get => (this._accountDetails = this._accountDetails ?? new Commvault.Powershell.Models.HypervisorAccountDetails()); set => this._accountDetails = value; }

        /// <summary>Backing field for <see cref="ActivityControl" /> property.</summary>
        private Commvault.Powershell.Models.IActivityControlOptions _activityControl;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IActivityControlOptions ActivityControl { get => (this._activityControl = this._activityControl ?? new Commvault.Powershell.Models.ActivityControlOptions()); set => this._activityControl = value; }

        /// <summary>true if Backup is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? ActivityControlEnableBackup { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).EnableBackup; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).EnableBackup = value ?? default(bool); }

        /// <summary>true if Restore is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? ActivityControlEnableRestore { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).EnableRestore; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).EnableRestore = value ?? default(bool); }

        /// <summary>Delayed by n Hrs</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string BackupActivityControlOptionDelayTime { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionDelayTime; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionDelayTime = value ?? null; }

        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? BackupActivityControlOptionEnableAfterDelay { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionEnableAfterDelay; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionEnableAfterDelay = value ?? default(bool); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? BackupActivityControlOptionsTimeZoneId { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsTimeZoneId; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsTimeZoneId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string BackupActivityControlOptionsTimeZoneName { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsTimeZoneName; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsTimeZoneName = value ?? null; }

        /// <summary>Internal Acessors for AccessNodeList</summary>
        Commvault.Powershell.Models.IAccessNodeListModel Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.AccessNodeList { get => (this._accessNodeList = this._accessNodeList ?? new Commvault.Powershell.Models.AccessNodeListModel()); set { {_accessNodeList = value;} } }

        /// <summary>Internal Acessors for AccountDetails</summary>
        Commvault.Powershell.Models.IHypervisorAccountDetails Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.AccountDetails { get => (this._accountDetails = this._accountDetails ?? new Commvault.Powershell.Models.HypervisorAccountDetails()); set { {_accountDetails = value;} } }

        /// <summary>Internal Acessors for ActivityControl</summary>
        Commvault.Powershell.Models.IActivityControlOptions Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.ActivityControl { get => (this._activityControl = this._activityControl ?? new Commvault.Powershell.Models.ActivityControlOptions()); set { {_activityControl = value;} } }

        /// <summary>Internal Acessors for ActivityControlBackupActivityControlOptions</summary>
        Commvault.Powershell.Models.IBackupActivityControlOptionsProp Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.ActivityControlBackupActivityControlOptions { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptions; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptions = value; }

        /// <summary>Internal Acessors for ActivityControlRestoreActivityControlOptions</summary>
        Commvault.Powershell.Models.IBackupActivityControlOptionsProp Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.ActivityControlRestoreActivityControlOptions { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptions; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptions = value; }

        /// <summary>Internal Acessors for BackupActivityControlOptionTimeZone</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.BackupActivityControlOptionTimeZone { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionTimeZone; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionTimeZone = value; }

        /// <summary>Internal Acessors for General</summary>
        Commvault.Powershell.Models.IHypervisorGeneralProperties Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.General { get => (this._general = this._general ?? new Commvault.Powershell.Models.HypervisorGeneralProperties()); set { {_general = value;} } }

        /// <summary>Internal Acessors for GeneralVMBackupInfo</summary>
        Commvault.Powershell.Models.IVMBackupInfo Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.GeneralVMBackupInfo { get => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfo; set => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfo = value; }

        /// <summary>Internal Acessors for HypervisorCommonProperties</summary>
        Commvault.Powershell.Models.IHypervisorCommonProps Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.HypervisorCommonProperties { get => (this._hypervisorCommonProperties = this._hypervisorCommonProperties ?? new Commvault.Powershell.Models.HypervisorCommonProps()); set { {_hypervisorCommonProperties = value;} } }

        /// <summary>Internal Acessors for HypervisorCommonPropertyCompany</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.HypervisorCommonPropertyCompany { get => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).Company; set => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).Company = value; }

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

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

        /// <summary>Internal Acessors for RestoreActivityControlOptionTimeZone</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.RestoreActivityControlOptionTimeZone { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionTimeZone; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionTimeZone = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? CompanyId { get => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).CompanyId; set => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).CompanyId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CompanyName { get => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).CompanyName; set => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).CompanyName = value ?? null; }

        /// <summary>Backing field for <see cref="DisplayName" /> property.</summary>
        private string _displayName;

        /// <summary>Display Name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string DisplayName { get => this._displayName; set => this._displayName = value; }

        /// <summary>Backing field for <see cref="General" /> property.</summary>
        private Commvault.Powershell.Models.IHypervisorGeneralProperties _general;

        /// <summary>hypervisorGeneralProperties</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IHypervisorGeneralProperties General { get => (this._general = this._general ?? new Commvault.Powershell.Models.HypervisorGeneralProperties()); set => this._general = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string GeneralVendor { get => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).Vendor; set => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).Vendor = value ?? null; }

        /// <summary>Hypervisor OS version</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string GeneralVersion { get => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).Version; set => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).Version = value ?? null; }

        /// <summary>Backing field for <see cref="HypervisorCommonProperties" /> property.</summary>
        private Commvault.Powershell.Models.IHypervisorCommonProps _hypervisorCommonProperties;

        /// <summary>hypervisorCommonProps</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IHypervisorCommonProps HypervisorCommonProperties { get => (this._hypervisorCommonProperties = this._hypervisorCommonProperties ?? new Commvault.Powershell.Models.HypervisorCommonProps()); set => this._hypervisorCommonProperties = value; }

        /// <summary>True if the hypervisor is deconfigured</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? HypervisorCommonPropertyIsDeconfigured { get => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).IsDeconfigured; set => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).IsDeconfigured = value ?? default(bool); }

        /// <summary>True if Indexing version is 2</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? HypervisorCommonPropertyIsIndexingV2 { get => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).IsIndexingV2; set => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).IsIndexingV2 = value ?? default(bool); }

        /// <summary>True if region based backup is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? HypervisorCommonPropertyIsRegionBasedBackup { get => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).IsRegionBasedBackup; set => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).IsRegionBasedBackup = value ?? default(bool); }

        /// <summary>True if the hypervisor is snap backup enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? HypervisorCommonPropertyIsSnapBackupEnabled { get => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).IsSnapBackupEnabled; set => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).IsSnapBackupEnabled = value ?? default(bool); }

        /// <summary>RetireClientPhase</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string HypervisorCommonPropertyRetirePhase { get => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).RetirePhase; set => ((Commvault.Powershell.Models.IHypervisorCommonPropsInternal)HypervisorCommonProperties).RetirePhase = value ?? null; }

        /// <summary>Backing field for <see cref="Id" /> property.</summary>
        private long? _id;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? Id { get => this._id; set => this._id = value; }

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

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

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

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

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

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

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

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

        /// <summary>Backing field for <see cref="Name" /> property.</summary>
        private string _name;

        /// <summary>Hypervisor Name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Name { get => this._name; set => this._name = value; }

        /// <summary>Delayed by n Hrs</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RestoreActivityControlOptionDelayTime { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionDelayTime; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionDelayTime = value ?? null; }

        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? RestoreActivityControlOptionEnableAfterDelay { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionEnableAfterDelay; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionEnableAfterDelay = value ?? default(bool); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? RestoreActivityControlOptionsTimeZoneId { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionsTimeZoneId; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionsTimeZoneId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RestoreActivityControlOptionsTimeZoneName { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionsTimeZoneName; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionsTimeZoneName = value ?? null; }

        /// <summary>Backing field for <see cref="Settings" /> property.</summary>
        private Commvault.Powershell.Models.IHypervisorSettings _settings;

        /// <summary>hypervisorSettings</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IHypervisorSettings Settings { get => (this._settings = this._settings ?? new Commvault.Powershell.Models.HypervisorSettings()); set => this._settings = value; }

        /// <summary>VM Backed up with error count</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? VMBackupInfoVmbackedUpWithErrorCount { get => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmbackedUpWithErrorCount; set => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmbackedUpWithErrorCount = value ?? default(long); }

        /// <summary>vm never Backed up count</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? VMBackupInfoVmneverBackedUpCount { get => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmneverBackedUpCount; set => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmneverBackedUpCount = value ?? default(long); }

        /// <summary>VM Missed to protect count</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? VMBackupInfoVmnotProtectedCount { get => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmnotProtectedCount; set => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmnotProtectedCount = value ?? default(long); }

        /// <summary>VMs pending for Backup</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? VMBackupInfoVmpendingCount { get => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmpendingCount; set => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmpendingCount = value ?? default(long); }

        /// <summary>Protected vm Count</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? VMBackupInfoVmprotectedCount { get => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmprotectedCount; set => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmprotectedCount = value ?? default(long); }

        /// <summary>Total vm Count</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? VMBackupInfoVmtotalCount { get => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmtotalCount; set => ((Commvault.Powershell.Models.IHypervisorGeneralPropertiesInternal)General).VMBackupInfoVmtotalCount = value ?? default(long); }

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

        }
    }
    public partial interface IHypervisorPropertiesResp :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"accessNode",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IAccessNodeModel) })]
        Commvault.Powershell.Models.IAccessNodeModel[] AccessNodeListAccessNode { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"accessNodeMessage",
        PossibleTypes = new [] { typeof(string) })]
        string AccessNodeListAccessNodeMessage { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"resourcePoolName",
        PossibleTypes = new [] { typeof(string) })]
        string AccessNodeListResourcePoolName { get; set; }
        /// <summary>Host Name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Host Name",
        SerializedName = @"hostName",
        PossibleTypes = new [] { typeof(string) })]
        string AccountDetailHostName { get; set; }
        /// <summary>true if Backup is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"true if Backup is enabled",
        SerializedName = @"enableBackup",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ActivityControlEnableBackup { get; set; }
        /// <summary>true if Restore is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"true if Restore is enabled",
        SerializedName = @"enableRestore",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ActivityControlEnableRestore { get; set; }
        /// <summary>Delayed by n Hrs</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Delayed by n Hrs",
        SerializedName = @"delayTime",
        PossibleTypes = new [] { typeof(string) })]
        string BackupActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if the activity will be enabled after a delay time interval",
        SerializedName = @"enableAfterDelay",
        PossibleTypes = new [] { typeof(bool) })]
        bool? BackupActivityControlOptionEnableAfterDelay { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string BackupActivityControlOptionsTimeZoneName { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string CompanyName { get; set; }
        /// <summary>Display Name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Display Name",
        SerializedName = @"displayName",
        PossibleTypes = new [] { typeof(string) })]
        string DisplayName { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"vendor",
        PossibleTypes = new [] { typeof(string) })]
        string GeneralVendor { get; set; }
        /// <summary>Hypervisor OS version</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Hypervisor OS version",
        SerializedName = @"version",
        PossibleTypes = new [] { typeof(string) })]
        string GeneralVersion { get; set; }
        /// <summary>True if the hypervisor is deconfigured</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if the hypervisor is deconfigured",
        SerializedName = @"isDeconfigured",
        PossibleTypes = new [] { typeof(bool) })]
        bool? HypervisorCommonPropertyIsDeconfigured { get; set; }
        /// <summary>True if Indexing version is 2</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if Indexing version is 2",
        SerializedName = @"isIndexingV2",
        PossibleTypes = new [] { typeof(bool) })]
        bool? HypervisorCommonPropertyIsIndexingV2 { get; set; }
        /// <summary>True if region based backup is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if region based backup is enabled",
        SerializedName = @"isRegionBasedBackup",
        PossibleTypes = new [] { typeof(bool) })]
        bool? HypervisorCommonPropertyIsRegionBasedBackup { get; set; }
        /// <summary>True if the hypervisor is snap backup enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if the hypervisor is snap backup enabled",
        SerializedName = @"isSnapBackupEnabled",
        PossibleTypes = new [] { typeof(bool) })]
        bool? HypervisorCommonPropertyIsSnapBackupEnabled { get; set; }
        /// <summary>RetireClientPhase</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"RetireClientPhase",
        SerializedName = @"retirePhase",
        PossibleTypes = new [] { typeof(string) })]
        string HypervisorCommonPropertyRetirePhase { get; set; }

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

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string InstanceName { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string ManageSnapshotName { get; set; }
        /// <summary>Hypervisor Name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Hypervisor Name",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string Name { get; set; }
        /// <summary>Delayed by n Hrs</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Delayed by n Hrs",
        SerializedName = @"delayTime",
        PossibleTypes = new [] { typeof(string) })]
        string RestoreActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if the activity will be enabled after a delay time interval",
        SerializedName = @"enableAfterDelay",
        PossibleTypes = new [] { typeof(bool) })]
        bool? RestoreActivityControlOptionEnableAfterDelay { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string RestoreActivityControlOptionsTimeZoneName { get; set; }
        /// <summary>hypervisorSettings</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"hypervisorSettings",
        SerializedName = @"settings",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IHypervisorSettings) })]
        Commvault.Powershell.Models.IHypervisorSettings Settings { get; set; }
        /// <summary>VM Backed up with error count</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"VM Backed up with error count",
        SerializedName = @"vmBackedUpWithErrorCount",
        PossibleTypes = new [] { typeof(long) })]
        long? VMBackupInfoVmbackedUpWithErrorCount { get; set; }
        /// <summary>vm never Backed up count</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"vm never Backed up count",
        SerializedName = @"vmNeverBackedUpCount",
        PossibleTypes = new [] { typeof(long) })]
        long? VMBackupInfoVmneverBackedUpCount { get; set; }
        /// <summary>VM Missed to protect count</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"VM Missed to protect count",
        SerializedName = @"vmNotProtectedCount",
        PossibleTypes = new [] { typeof(long) })]
        long? VMBackupInfoVmnotProtectedCount { get; set; }
        /// <summary>VMs pending for Backup</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"VMs pending for Backup",
        SerializedName = @"vmPendingCount",
        PossibleTypes = new [] { typeof(long) })]
        long? VMBackupInfoVmpendingCount { get; set; }
        /// <summary>Protected vm Count</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Protected vm Count",
        SerializedName = @"vmProtectedCount",
        PossibleTypes = new [] { typeof(long) })]
        long? VMBackupInfoVmprotectedCount { get; set; }
        /// <summary>Total vm Count</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @" Total vm Count",
        SerializedName = @"vmTotalCount",
        PossibleTypes = new [] { typeof(long) })]
        long? VMBackupInfoVmtotalCount { get; set; }

    }
    internal partial interface IHypervisorPropertiesRespInternal

    {
        /// <summary>accessNodeListModel</summary>
        Commvault.Powershell.Models.IAccessNodeListModel AccessNodeList { get; set; }

        Commvault.Powershell.Models.IAccessNodeModel[] AccessNodeListAccessNode { get; set; }

        string AccessNodeListAccessNodeMessage { get; set; }

        string AccessNodeListResourcePoolName { get; set; }
        /// <summary>Host Name</summary>
        string AccountDetailHostName { get; set; }
        /// <summary>hypervisorAccountDetails</summary>
        Commvault.Powershell.Models.IHypervisorAccountDetails AccountDetails { get; set; }

        Commvault.Powershell.Models.IActivityControlOptions ActivityControl { get; set; }

        Commvault.Powershell.Models.IBackupActivityControlOptionsProp ActivityControlBackupActivityControlOptions { get; set; }
        /// <summary>true if Backup is enabled</summary>
        bool? ActivityControlEnableBackup { get; set; }
        /// <summary>true if Restore is enabled</summary>
        bool? ActivityControlEnableRestore { get; set; }

        Commvault.Powershell.Models.IBackupActivityControlOptionsProp ActivityControlRestoreActivityControlOptions { get; set; }
        /// <summary>Delayed by n Hrs</summary>
        string BackupActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        bool? BackupActivityControlOptionEnableAfterDelay { get; set; }

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

        long? BackupActivityControlOptionsTimeZoneId { get; set; }

        string BackupActivityControlOptionsTimeZoneName { get; set; }

        long? CompanyId { get; set; }

        string CompanyName { get; set; }
        /// <summary>Display Name</summary>
        string DisplayName { get; set; }
        /// <summary>hypervisorGeneralProperties</summary>
        Commvault.Powershell.Models.IHypervisorGeneralProperties General { get; set; }

        Commvault.Powershell.Models.IVMBackupInfo GeneralVMBackupInfo { get; set; }

        string GeneralVendor { get; set; }
        /// <summary>Hypervisor OS version</summary>
        string GeneralVersion { get; set; }
        /// <summary>hypervisorCommonProps</summary>
        Commvault.Powershell.Models.IHypervisorCommonProps HypervisorCommonProperties { get; set; }

        Commvault.Powershell.Models.IIdName HypervisorCommonPropertyCompany { get; set; }
        /// <summary>True if the hypervisor is deconfigured</summary>
        bool? HypervisorCommonPropertyIsDeconfigured { get; set; }
        /// <summary>True if Indexing version is 2</summary>
        bool? HypervisorCommonPropertyIsIndexingV2 { get; set; }
        /// <summary>True if region based backup is enabled</summary>
        bool? HypervisorCommonPropertyIsRegionBasedBackup { get; set; }
        /// <summary>True if the hypervisor is snap backup enabled</summary>
        bool? HypervisorCommonPropertyIsSnapBackupEnabled { get; set; }
        /// <summary>RetireClientPhase</summary>
        string HypervisorCommonPropertyRetirePhase { get; set; }

        long? Id { get; set; }

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

        long? InstanceId { get; set; }

        string InstanceName { get; set; }

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

        long? ManageSnapshotId { get; set; }

        string ManageSnapshotName { get; set; }
        /// <summary>Hypervisor Name</summary>
        string Name { get; set; }
        /// <summary>Delayed by n Hrs</summary>
        string RestoreActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        bool? RestoreActivityControlOptionEnableAfterDelay { get; set; }

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

        long? RestoreActivityControlOptionsTimeZoneId { get; set; }

        string RestoreActivityControlOptionsTimeZoneName { get; set; }
        /// <summary>hypervisorSettings</summary>
        Commvault.Powershell.Models.IHypervisorSettings Settings { get; set; }
        /// <summary>VM Backed up with error count</summary>
        long? VMBackupInfoVmbackedUpWithErrorCount { get; set; }
        /// <summary>vm never Backed up count</summary>
        long? VMBackupInfoVmneverBackedUpCount { get; set; }
        /// <summary>VM Missed to protect count</summary>
        long? VMBackupInfoVmnotProtectedCount { get; set; }
        /// <summary>VMs pending for Backup</summary>
        long? VMBackupInfoVmpendingCount { get; set; }
        /// <summary>Protected vm Count</summary>
        long? VMBackupInfoVmprotectedCount { get; set; }
        /// <summary>Total vm Count</summary>
        long? VMBackupInfoVmtotalCount { get; set; }

    }
}