generated/api/Models/HypervisorPropertiesResp.cs

// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.8.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="AccessNodes" /> property.</summary>
        private Commvault.Powershell.Models.IAccessNodeModel[] _accessNodes;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IAccessNodeModel[] AccessNodes { get => this._accessNodes; set => this._accessNodes = value; }

        /// <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 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 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; }

        /// <summary>Internal Acessors for SettingMetricsMonitoringPolicy</summary>
        Commvault.Powershell.Models.IHypervisorMonitoringPolicy Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.SettingMetricsMonitoringPolicy { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MetricsMonitoringPolicy; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MetricsMonitoringPolicy = value; }

        /// <summary>Internal Acessors for SettingRegionInfo</summary>
        Commvault.Powershell.Models.IRegionInfo Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.SettingRegionInfo { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfo; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfo = value; }

        /// <summary>Internal Acessors for SettingTimeZone</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.SettingTimeZone { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).TimeZone; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).TimeZone = value; }

        /// <summary>Internal Acessors for Settings</summary>
        Commvault.Powershell.Models.IHypervisorSettings Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.Settings { get => (this._settings = this._settings ?? new Commvault.Powershell.Models.HypervisorSettings()); set { {_settings = 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>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>Metrics Moitoring PolicyId</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? MetricMonitoringPolicyId { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MetricMonitoringPolicyId; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MetricMonitoringPolicyId = value ?? default(long); }

        /// <summary>True if Metrics Monioring policy is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? MetricMonitoringPolicyIsEnabled { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MetricMonitoringPolicyIsEnabled; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MetricMonitoringPolicyIsEnabled = value ?? default(bool); }

        /// <summary>Metrics Moitoring Policy Name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string MetricMonitoringPolicyName { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MetricMonitoringPolicyName; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MetricMonitoringPolicyName = 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>Display Name of Region</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RegionInfoDisplayName { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfoDisplayName; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfoDisplayName = value ?? null; }

        /// <summary>Region Id</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? RegionInfoId { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfoId; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfoId = value ?? default(long); }

        /// <summary>Geolocation Latitude</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RegionInfoLatitude { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfoLatitude; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfoLatitude = value ?? null; }

        /// <summary>Geolocation Longitude</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RegionInfoLongitude { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfoLongitude; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfoLongitude = value ?? null; }

        /// <summary>Region Name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RegionInfoName { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfoName; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).RegionInfoName = value ?? null; }

        /// <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)]
        internal Commvault.Powershell.Models.IHypervisorSettings Settings { get => (this._settings = this._settings ?? new Commvault.Powershell.Models.HypervisorSettings()); set => this._settings = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? TimeZoneId { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).TimeZoneId; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).TimeZoneId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string TimeZoneName { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).TimeZoneName; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).TimeZoneName = value ?? null; }

        /// <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 = @"accessNodes",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IAccessNodeModel) })]
        Commvault.Powershell.Models.IAccessNodeModel[] AccessNodes { 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>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; }
        /// <summary>Metrics Moitoring PolicyId</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Metrics Moitoring PolicyId",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? MetricMonitoringPolicyId { get; set; }
        /// <summary>True if Metrics Monioring policy is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if Metrics Monioring policy is enabled",
        SerializedName = @"isEnabled",
        PossibleTypes = new [] { typeof(bool) })]
        bool? MetricMonitoringPolicyIsEnabled { get; set; }
        /// <summary>Metrics Moitoring Policy Name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Metrics Moitoring Policy Name",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string MetricMonitoringPolicyName { 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>Display Name of Region</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Display Name of Region",
        SerializedName = @"displayName",
        PossibleTypes = new [] { typeof(string) })]
        string RegionInfoDisplayName { get; set; }
        /// <summary>Region Id</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Region Id",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? RegionInfoId { get; set; }
        /// <summary>Geolocation Latitude</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Geolocation Latitude",
        SerializedName = @"latitude",
        PossibleTypes = new [] { typeof(string) })]
        string RegionInfoLatitude { get; set; }
        /// <summary>Geolocation Longitude</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Geolocation Longitude",
        SerializedName = @"longitude",
        PossibleTypes = new [] { typeof(string) })]
        string RegionInfoLongitude { get; set; }
        /// <summary>Region Name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Region Name",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string RegionInfoName { 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; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string TimeZoneName { 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

    {
        Commvault.Powershell.Models.IAccessNodeModel[] AccessNodes { 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>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; }
        /// <summary>Metrics Moitoring PolicyId</summary>
        long? MetricMonitoringPolicyId { get; set; }
        /// <summary>True if Metrics Monioring policy is enabled</summary>
        bool? MetricMonitoringPolicyIsEnabled { get; set; }
        /// <summary>Metrics Moitoring Policy Name</summary>
        string MetricMonitoringPolicyName { get; set; }
        /// <summary>Hypervisor Name</summary>
        string Name { get; set; }
        /// <summary>Display Name of Region</summary>
        string RegionInfoDisplayName { get; set; }
        /// <summary>Region Id</summary>
        long? RegionInfoId { get; set; }
        /// <summary>Geolocation Latitude</summary>
        string RegionInfoLatitude { get; set; }
        /// <summary>Geolocation Longitude</summary>
        string RegionInfoLongitude { get; set; }
        /// <summary>Region Name</summary>
        string RegionInfoName { 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; }

        Commvault.Powershell.Models.IHypervisorMonitoringPolicy SettingMetricsMonitoringPolicy { get; set; }
        /// <summary>RegionInfo</summary>
        Commvault.Powershell.Models.IRegionInfo SettingRegionInfo { get; set; }

        Commvault.Powershell.Models.IIdName SettingTimeZone { get; set; }
        /// <summary>hypervisorSettings</summary>
        Commvault.Powershell.Models.IHypervisorSettings Settings { get; set; }

        long? TimeZoneId { get; set; }

        string TimeZoneName { 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; }

    }
}