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>username to access the network path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ApplicationCredentialsName { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).ApplicationCredentialsName; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).ApplicationCredentialsName = value ?? null; }

        /// <summary>password to access the network path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ApplicationCredentialsPassword { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).ApplicationCredentialsPassword; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).ApplicationCredentialsPassword = value ?? null; }

        /// <summary>denotes the activity type being considered</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string BackupActivityControlOptionActivityType { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionActivityType; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionActivityType = value ?? null; }

        /// <summary>True if the activity type is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? BackupActivityControlOptionEnableActivityType { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionEnableActivityType; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionEnableActivityType = value ?? default(bool); }

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

        /// <summary>delay time in unix timestamp</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? BackupActivityControlOptionsDelayTime { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsDelayTimeTime; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsDelayTimeTime = value ?? default(long); }

        /// <summary>actual delay time value in string format according to the timezone</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string BackupActivityControlOptionsDelayTimeValue { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsDelayTimeValue; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsDelayTimeValue = value ?? null; }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string BackupActivityControlOptionsDelayTimeZoneName { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsDelayTimeTimeZoneName; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsDelayTimeTimeZoneName = 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.IActivityControlOptionsProp 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.IActivityControlOptionsProp Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.ActivityControlRestoreActivityControlOptions { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptions; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptions = value; }

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

        /// <summary>Internal Acessors for BackupActivityControlOptionsDelayTimeZone</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.BackupActivityControlOptionsDelayTimeZone { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsDelayTimeTimeZone; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).BackupActivityControlOptionsDelayTimeTimeZone = 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 RestoreActivityControlOptionDelayTime</summary>
        Commvault.Powershell.Models.IActivityControlTileDelayTime Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.RestoreActivityControlOptionDelayTime { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionDelayTime; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionDelayTime = value; }

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

        /// <summary>Internal Acessors for SettingApplicationCredentials</summary>
        Commvault.Powershell.Models.IUserNamePassword Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.SettingApplicationCredentials { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).ApplicationCredentials; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).ApplicationCredentials = value; }

        /// <summary>Internal Acessors for SettingGuestCredentials</summary>
        Commvault.Powershell.Models.IUserNamePassword Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.SettingGuestCredentials { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).GuestCredentials; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).GuestCredentials = 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 SettingMountAccessNode</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IHypervisorPropertiesRespInternal.SettingMountAccessNode { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MountAccessNode; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MountAccessNode = 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>username to access the network path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string GuestCredentialsName { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).GuestCredentialsName; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).GuestCredentialsName = value ?? null; }

        /// <summary>password to access the network path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string GuestCredentialsPassword { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).GuestCredentialsPassword; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).GuestCredentialsPassword = 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>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; }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string MountAccessNodeName { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MountAccessNodeName; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).MountAccessNodeName = 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>denotes the activity type being considered</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RestoreActivityControlOptionActivityType { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionActivityType; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionActivityType = value ?? null; }

        /// <summary>True if the activity type is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? RestoreActivityControlOptionEnableActivityType { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionEnableActivityType; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionEnableActivityType = value ?? default(bool); }

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

        /// <summary>delay time in unix timestamp</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? RestoreActivityControlOptionsDelayTime { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionsDelayTimeTime; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionsDelayTimeTime = value ?? default(long); }

        /// <summary>actual delay time value in string format according to the timezone</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RestoreActivityControlOptionsDelayTimeValue { get => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionsDelayTimeValue; set => ((Commvault.Powershell.Models.IActivityControlOptionsInternal)ActivityControl).RestoreActivityControlOptionsDelayTimeValue = value ?? null; }

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

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

        /// <summary>Array of all the customAttributes associated with hypervisor.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IHypervisorCustomAttribute[] SettingCustomAttributes { get => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).CustomAttributes; set => ((Commvault.Powershell.Models.IHypervisorSettingsInternal)Settings).CustomAttributes = value ?? null /* arrayOf */; }

        /// <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 = @"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>username to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"username to access the network path",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string ApplicationCredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"password to access the network path",
        SerializedName = @"password",
        PossibleTypes = new [] { typeof(string) })]
        string ApplicationCredentialsPassword { get; set; }
        /// <summary>denotes the activity type being considered</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"denotes the activity type being considered",
        SerializedName = @"activityType",
        PossibleTypes = new [] { typeof(string) })]
        string BackupActivityControlOptionActivityType { get; set; }
        /// <summary>True if the activity type is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if the activity type is enabled",
        SerializedName = @"enableActivityType",
        PossibleTypes = new [] { typeof(bool) })]
        bool? BackupActivityControlOptionEnableActivityType { 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 = @"enableAfterADelay",
        PossibleTypes = new [] { typeof(bool) })]
        bool? BackupActivityControlOptionEnableAfterADelay { get; set; }
        /// <summary>delay time in unix timestamp</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"delay time in unix timestamp",
        SerializedName = @"time",
        PossibleTypes = new [] { typeof(long) })]
        long? BackupActivityControlOptionsDelayTime { get; set; }
        /// <summary>actual delay time value in string format according to the timezone</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"actual delay time value in string format according to the timezone",
        SerializedName = @"value",
        PossibleTypes = new [] { typeof(string) })]
        string BackupActivityControlOptionsDelayTimeValue { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string BackupActivityControlOptionsDelayTimeZoneName { 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>username to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"username to access the network path",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string GuestCredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"password to access the network path",
        SerializedName = @"password",
        PossibleTypes = new [] { typeof(string) })]
        string GuestCredentialsPassword { 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>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; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string MountAccessNodeName { 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>denotes the activity type being considered</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"denotes the activity type being considered",
        SerializedName = @"activityType",
        PossibleTypes = new [] { typeof(string) })]
        string RestoreActivityControlOptionActivityType { get; set; }
        /// <summary>True if the activity type is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if the activity type is enabled",
        SerializedName = @"enableActivityType",
        PossibleTypes = new [] { typeof(bool) })]
        bool? RestoreActivityControlOptionEnableActivityType { 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 = @"enableAfterADelay",
        PossibleTypes = new [] { typeof(bool) })]
        bool? RestoreActivityControlOptionEnableAfterADelay { get; set; }
        /// <summary>delay time in unix timestamp</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"delay time in unix timestamp",
        SerializedName = @"time",
        PossibleTypes = new [] { typeof(long) })]
        long? RestoreActivityControlOptionsDelayTime { get; set; }
        /// <summary>actual delay time value in string format according to the timezone</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"actual delay time value in string format according to the timezone",
        SerializedName = @"value",
        PossibleTypes = new [] { typeof(string) })]
        string RestoreActivityControlOptionsDelayTimeValue { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string RestoreActivityControlOptionsDelayTimeZoneName { get; set; }
        /// <summary>Array of all the customAttributes associated with hypervisor.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Array of all the customAttributes associated with hypervisor.",
        SerializedName = @"customAttributes",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IHypervisorCustomAttribute) })]
        Commvault.Powershell.Models.IHypervisorCustomAttribute[] SettingCustomAttributes { 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

    {
        /// <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.IActivityControlOptionsProp 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.IActivityControlOptionsProp ActivityControlRestoreActivityControlOptions { get; set; }
        /// <summary>username to access the network path</summary>
        string ApplicationCredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        string ApplicationCredentialsPassword { get; set; }
        /// <summary>denotes the activity type being considered</summary>
        string BackupActivityControlOptionActivityType { get; set; }
        /// <summary>ActivityControlTileDelayTime</summary>
        Commvault.Powershell.Models.IActivityControlTileDelayTime BackupActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity type is enabled</summary>
        bool? BackupActivityControlOptionEnableActivityType { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        bool? BackupActivityControlOptionEnableAfterADelay { get; set; }
        /// <summary>delay time in unix timestamp</summary>
        long? BackupActivityControlOptionsDelayTime { get; set; }
        /// <summary>actual delay time value in string format according to the timezone</summary>
        string BackupActivityControlOptionsDelayTimeValue { get; set; }

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

        long? BackupActivityControlOptionsDelayTimeZoneId { get; set; }

        string BackupActivityControlOptionsDelayTimeZoneName { 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>username to access the network path</summary>
        string GuestCredentialsName { get; set; }
        /// <summary>password to access the network path</summary>
        string GuestCredentialsPassword { 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>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; }

        long? MountAccessNodeId { get; set; }

        string MountAccessNodeName { 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>denotes the activity type being considered</summary>
        string RestoreActivityControlOptionActivityType { get; set; }
        /// <summary>ActivityControlTileDelayTime</summary>
        Commvault.Powershell.Models.IActivityControlTileDelayTime RestoreActivityControlOptionDelayTime { get; set; }
        /// <summary>True if the activity type is enabled</summary>
        bool? RestoreActivityControlOptionEnableActivityType { get; set; }
        /// <summary>True if the activity will be enabled after a delay time interval</summary>
        bool? RestoreActivityControlOptionEnableAfterADelay { get; set; }
        /// <summary>delay time in unix timestamp</summary>
        long? RestoreActivityControlOptionsDelayTime { get; set; }
        /// <summary>actual delay time value in string format according to the timezone</summary>
        string RestoreActivityControlOptionsDelayTimeValue { get; set; }

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

        long? RestoreActivityControlOptionsDelayTimeZoneId { get; set; }

        string RestoreActivityControlOptionsDelayTimeZoneName { get; set; }

        Commvault.Powershell.Models.IUserNamePassword SettingApplicationCredentials { get; set; }
        /// <summary>Array of all the customAttributes associated with hypervisor.</summary>
        Commvault.Powershell.Models.IHypervisorCustomAttribute[] SettingCustomAttributes { get; set; }

        Commvault.Powershell.Models.IUserNamePassword SettingGuestCredentials { get; set; }

        Commvault.Powershell.Models.IHypervisorMonitoringPolicy SettingMetricsMonitoringPolicy { get; set; }

        Commvault.Powershell.Models.IIdName SettingMountAccessNode { 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; }

    }
}