generated/api/Models/GetVMGroupResp.cs

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

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

    /// <summary>GetVMGroupResp</summary>
    public partial class GetVMGroupResp :
        Commvault.Powershell.Models.IGetVMGroupResp,
        Commvault.Powershell.Models.IGetVMGroupRespInternal
    {

        /// <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>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>Backing field for <see cref="ApplicationValidation" /> property.</summary>
        private Commvault.Powershell.Models.IVMAppValidation _applicationValidation;

        /// <summary>vmAppValidation</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IVMAppValidation ApplicationValidation { get => (this._applicationValidation = this._applicationValidation ?? new Commvault.Powershell.Models.VMAppValidation()); set => this._applicationValidation = value; }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? BackupsetId { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).BackupsetId; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).BackupsetId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string BackupsetName { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).BackupsetName; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).BackupsetName = value ?? null; }

        /// <summary>Backing field for <see cref="CommonProperties" /> property.</summary>
        private Commvault.Powershell.Models.IVMGroupCommonProperties _commonProperties;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IVMGroupCommonProperties CommonProperties { get => (this._commonProperties = this._commonProperties ?? new Commvault.Powershell.Models.VMGroupCommonProperties()); set => this._commonProperties = value; }

        /// <summary>Common properties of hypervisor in vmgroup</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IHypervisorvmGroupCommonProp CommonPropertyHypervisor { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).Hypervisor; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).Hypervisor = value ?? null /* model class */; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CommonPropertyHypervisorType { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).HypervisorType; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).HypervisorType = value ?? null; }

        /// <summary>True if the hypervisor is deleted</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CommonPropertyIsDeletedHypervisor { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IsDeletedHypervisor; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IsDeletedHypervisor = value ?? default(bool); }

        /// <summary>True if this is a ETCD Subclient</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CommonPropertyIsEtcdSubclient { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IsEtcdSubclient; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IsEtcdSubclient = value ?? default(bool); }

        /// <summary>true if the hypervisor has been deconfigured</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CommonPropertyIsHypervisorDeconfigured { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IsHypervisorDeconfigured; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IsHypervisorDeconfigured = value ?? default(bool); }

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

        /// <summary>True if we need to show full backup level</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? CommonPropertyShowFullBackupLevel { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).ShowFullBackupLevel; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).ShowFullBackupLevel = value ?? default(bool); }

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

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

        /// <summary>Internal Acessors for CommonProperties</summary>
        Commvault.Powershell.Models.IVMGroupCommonProperties Commvault.Powershell.Models.IGetVMGroupRespInternal.CommonProperties { get => (this._commonProperties = this._commonProperties ?? new Commvault.Powershell.Models.VMGroupCommonProperties()); set { {_commonProperties = value;} } }

        /// <summary>Internal Acessors for CommonPropertyBackupset</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IGetVMGroupRespInternal.CommonPropertyBackupset { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).Backupset; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).Backupset = value; }

        /// <summary>Internal Acessors for CommonPropertyDataBackupStoragePolicy</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IGetVMGroupRespInternal.CommonPropertyDataBackupStoragePolicy { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).DataBackupStoragePolicy; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).DataBackupStoragePolicy = value; }

        /// <summary>Internal Acessors for CommonPropertyIDataAgent</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IGetVMGroupRespInternal.CommonPropertyIDataAgent { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IDataAgent; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IDataAgent = value; }

        /// <summary>Internal Acessors for CommonPropertyIndexingInfo</summary>
        Commvault.Powershell.Models.IIndexingInfo Commvault.Powershell.Models.IGetVMGroupRespInternal.CommonPropertyIndexingInfo { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IndexingInfo; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IndexingInfo = value; }

        /// <summary>Internal Acessors for CommonPropertyInstance</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IGetVMGroupRespInternal.CommonPropertyInstance { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).Instance; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).Instance = value; }

        /// <summary>Internal Acessors for LastBackup</summary>
        Commvault.Powershell.Models.ILastBackupJobInfo Commvault.Powershell.Models.IGetVMGroupRespInternal.LastBackup { get => (this._lastBackup = this._lastBackup ?? new Commvault.Powershell.Models.LastBackupJobInfo()); set { {_lastBackup = value;} } }

        /// <summary>Internal Acessors for MeditechSystemUserAccount</summary>
        Commvault.Powershell.Models.IUserNamePassword Commvault.Powershell.Models.IGetVMGroupRespInternal.MeditechSystemUserAccount { get => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).UserAccount; set => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).UserAccount = value; }

        /// <summary>Internal Acessors for MeditechSystems</summary>
        Commvault.Powershell.Models.IMeditechPropResp Commvault.Powershell.Models.IGetVMGroupRespInternal.MeditechSystems { get => (this._meditechSystems = this._meditechSystems ?? new Commvault.Powershell.Models.MeditechPropResp()); set { {_meditechSystems = value;} } }

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

        /// <summary>Internal Acessors for SnapshotManagement</summary>
        Commvault.Powershell.Models.ISnapCopyInfo Commvault.Powershell.Models.IGetVMGroupRespInternal.SnapshotManagement { get => (this._snapshotManagement = this._snapshotManagement ?? new Commvault.Powershell.Models.SnapCopyInfo()); set { {_snapshotManagement = value;} } }

        /// <summary>Internal Acessors for SnapshotManagementSnapEngine</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IGetVMGroupRespInternal.SnapshotManagementSnapEngine { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapEngine; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapEngine = value; }

        /// <summary>Internal Acessors for SnapshotManagementSnapMountProxy</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IGetVMGroupRespInternal.SnapshotManagementSnapMountProxy { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapMountProxy; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapMountProxy = value; }

        /// <summary>Internal Acessors for Summary</summary>
        Commvault.Powershell.Models.IVMGroupDetailsSummary Commvault.Powershell.Models.IGetVMGroupRespInternal.Summary { get => (this._summary = this._summary ?? new Commvault.Powershell.Models.VMGroupDetailsSummary()); set { {_summary = value;} } }

        /// <summary>Internal Acessors for SummaryPlan</summary>
        Commvault.Powershell.Models.IPlanIdNameType Commvault.Powershell.Models.IGetVMGroupRespInternal.SummaryPlan { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).Plan; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).Plan = value; }

        /// <summary>Internal Acessors for SummaryRegion</summary>
        Commvault.Powershell.Models.IRegionInfo Commvault.Powershell.Models.IGetVMGroupRespInternal.SummaryRegion { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).Region; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).Region = value; }

        /// <summary>Internal Acessors for SummaryReplicationGroup</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IGetVMGroupRespInternal.SummaryReplicationGroup { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).ReplicationGroup; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).ReplicationGroup = value; }

        /// <summary>Internal Acessors for SummaryTimeZone</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IGetVMGroupRespInternal.SummaryTimeZone { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).TimeZone; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).TimeZone = value; }

        /// <summary>Internal Acessors for VMBackupInfo</summary>
        Commvault.Powershell.Models.IVMBackupInfo Commvault.Powershell.Models.IGetVMGroupRespInternal.VMBackupInfo { get => (this._vMBackupInfo = this._vMBackupInfo ?? new Commvault.Powershell.Models.VMBackupInfo()); set { {_vMBackupInfo = value;} } }

        /// <summary>Backing field for <see cref="Content" /> property.</summary>
        private Commvault.Powershell.Models.IVMContent[] _content;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IVMContent[] Content { get => this._content; set => this._content = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? DataBackupStoragePolicyId { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).DataBackupStoragePolicyId; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).DataBackupStoragePolicyId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string DataBackupStoragePolicyName { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).DataBackupStoragePolicyName; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).DataBackupStoragePolicyName = value ?? null; }

        /// <summary>Backing field for <see cref="DiskFilters" /> property.</summary>
        private Commvault.Powershell.Models.IVMDiskFilterProp[] _diskFilters;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IVMDiskFilterProp[] DiskFilters { get => this._diskFilters; set => this._diskFilters = value; }

        /// <summary>Backing field for <see cref="Filters" /> property.</summary>
        private Commvault.Powershell.Models.IVMContent[] _filters;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IVMContent[] Filters { get => this._filters; set => this._filters = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? IDataAgentId { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IDataAgentId; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IDataAgentId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string IDataAgentName { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IDataAgentName; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IDataAgentName = 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>Indexing Message</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string IndexingInfoMessage { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IndexingInfoMessage; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IndexingInfoMessage = value ?? null; }

        /// <summary>Type of indexing status.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string IndexingInfoStatus { get => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IndexingInfoStatus; set => ((Commvault.Powershell.Models.IVMGroupCommonPropertiesInternal)CommonProperties).IndexingInfoStatus = value ?? null; }

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

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

        /// <summary>Backing field for <see cref="LastBackup" /> property.</summary>
        private Commvault.Powershell.Models.ILastBackupJobInfo _lastBackup;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.ILastBackupJobInfo LastBackup { get => (this._lastBackup = this._lastBackup ?? new Commvault.Powershell.Models.LastBackupJobInfo()); set => this._lastBackup = value; }

        /// <summary>Gives the reason for the last backup job failing, if the last backup job fails.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string LastBackupFailureReason { get => ((Commvault.Powershell.Models.ILastBackupJobInfoInternal)LastBackup).FailureReason; set => ((Commvault.Powershell.Models.ILastBackupJobInfoInternal)LastBackup).FailureReason = value ?? null; }

        /// <summary>Returns the job id of the last backup job performed.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? LastBackupJobId { get => ((Commvault.Powershell.Models.ILastBackupJobInfoInternal)LastBackup).JobId; set => ((Commvault.Powershell.Models.ILastBackupJobInfoInternal)LastBackup).JobId = value ?? default(long); }

        /// <summary>Status of the last backup job performed.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string LastBackupStatus { get => ((Commvault.Powershell.Models.ILastBackupJobInfoInternal)LastBackup).Status; set => ((Commvault.Powershell.Models.ILastBackupJobInfoInternal)LastBackup).Status = value ?? null; }

        /// <summary>
        /// Shows the time when the last back up job was carried out. The time is provided in unix time format.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? LastBackupTime { get => ((Commvault.Powershell.Models.ILastBackupJobInfoInternal)LastBackup).Time; set => ((Commvault.Powershell.Models.ILastBackupJobInfoInternal)LastBackup).Time = value ?? default(long); }

        /// <summary>Meditech Listener IP of FQDN name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string MeditechSystemListenerIP { get => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).ListenerIP; set => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).ListenerIP = value ?? null; }

        /// <summary>Meditech Listener Port</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? MeditechSystemListenerPort { get => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).ListenerPort; set => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).ListenerPort = value ?? default(long); }

        /// <summary>MBF timeout (in seconds)</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? MeditechSystemMbFtimeout { get => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).MbFtimeout; set => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).MbFtimeout = value ?? default(long); }

        /// <summary>Meditech system name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string MeditechSystemName { get => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).SystemName; set => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).SystemName = value ?? null; }

        /// <summary>Backing field for <see cref="MeditechSystems" /> property.</summary>
        private Commvault.Powershell.Models.IMeditechPropResp _meditechSystems;

        /// <summary>meditechPropResp</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IMeditechPropResp MeditechSystems { get => (this._meditechSystems = this._meditechSystems ?? new Commvault.Powershell.Models.MeditechPropResp()); set => this._meditechSystems = value; }

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

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? PlanId { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).PlanId; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).PlanId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string PlanName { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).PlanName; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).PlanName = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string PlanSubType { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).PlanSubType; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).PlanSubType = value ?? null; }

        /// <summary>Display Name of Region</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RegionDisplayName { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).RegionDisplayName; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).RegionDisplayName = value ?? null; }

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

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

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

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? ReplicationGroupId { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).ReplicationGroupId; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).ReplicationGroupId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ReplicationGroupName { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).ReplicationGroupName; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).ReplicationGroupName = 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>Backing field for <see cref="SecurityAssociations" /> property.</summary>
        private Commvault.Powershell.Models.ISecurityAssoc[] _securityAssociations;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.ISecurityAssoc[] SecurityAssociations { get => this._securityAssociations; set => this._securityAssociations = value; }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IVMGroupSettings Settings { get => (this._settings = this._settings ?? new Commvault.Powershell.Models.VMGroupSettings()); set => this._settings = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? SnapEngineId { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapEngineId; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapEngineId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string SnapEngineName { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapEngineName; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapEngineName = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? SnapMountProxyId { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapMountProxyId; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapMountProxyId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string SnapMountProxyName { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapMountProxyName; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapMountProxyName = value ?? null; }

        /// <summary>Backing field for <see cref="SnapshotManagement" /> property.</summary>
        private Commvault.Powershell.Models.ISnapCopyInfo _snapshotManagement;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.ISnapCopyInfo SnapshotManagement { get => (this._snapshotManagement = this._snapshotManagement ?? new Commvault.Powershell.Models.SnapCopyInfo()); set => this._snapshotManagement = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string SnapshotManagementBackupCopyInterface { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).BackupCopyInterface; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).BackupCopyInterface = value ?? null; }

        /// <summary>True if hardware snapshot is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? SnapshotManagementEnableHardwareSnapshot { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).EnableHardwareSnapshot; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).EnableHardwareSnapshot = value ?? default(bool); }

        /// <summary>True if independent disk option is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? SnapshotManagementIsIndependentDisksEnabled { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).IsIndependentDisksEnabled; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).IsIndependentDisksEnabled = value ?? default(bool); }

        /// <summary>True if raw device maps option is enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? SnapshotManagementIsRawDeviceMapsEnabled { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).IsRawDeviceMapsEnabled; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).IsRawDeviceMapsEnabled = value ?? default(bool); }

        /// <summary>Name of ESX Host</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string SnapshotManagementSnapMountEsxHost { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapMountEsxHost; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).SnapMountEsxHost = value ?? null; }

        /// <summary>True if separate proxy client is used for snap to tape</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? SnapshotManagementUseSeparateProxyForSnapToTape { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).UseSeparateProxyForSnapToTape; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).UseSeparateProxyForSnapToTape = value ?? default(bool); }

        /// <summary>Virtual machine application user name</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string SnapshotManagementVMApplicationUserName { get => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).VMApplicationUserName; set => ((Commvault.Powershell.Models.ISnapCopyInfoInternal)SnapshotManagement).VMApplicationUserName = value ?? null; }

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

        /// <summary>subclient entity status</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? Status { get => this._status; set => this._status = value; }

        /// <summary>Backing field for <see cref="Summary" /> property.</summary>
        private Commvault.Powershell.Models.IVMGroupDetailsSummary _summary;

        /// <summary>vmGroupDetailsSummary</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IVMGroupDetailsSummary Summary { get => (this._summary = this._summary ?? new Commvault.Powershell.Models.VMGroupDetailsSummary()); set => this._summary = value; }

        /// <summary>Current backup activity status</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string SummaryBackupActivityStatus { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).BackupActivityStatus; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).BackupActivityStatus = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string SummaryHypervisorName { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).HypervisorName; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).HypervisorName = value ?? null; }

        /// <summary>True if subclient is default subclient</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? SummaryIsDefaultVMGroup { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).IsDefaultVMGroup; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).IsDefaultVMGroup = value ?? default(bool); }

        /// <summary>Last Backup Job Size</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? SummaryLastBackupSize { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).LastBackupSize; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).LastBackupSize = value ?? default(long); }

        /// <summary>Last Backup time of the VMGroup</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? SummaryLastBackupTime { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).LastBackupTime; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).LastBackupTime = value ?? default(long); }

        /// <summary>Next Backup Job start time</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? SummaryNextBackupTime { get => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).NextBackupTime; set => ((Commvault.Powershell.Models.IVMGroupDetailsSummaryInternal)Summary).NextBackupTime = value ?? default(long); }

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

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

        /// <summary>username to access the network path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string UserAccountName { get => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).UserAccountName; set => ((Commvault.Powershell.Models.IMeditechPropRespInternal)MeditechSystems).UserAccountName = value ?? null; }

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

        /// <summary>Backing field for <see cref="VMBackupInfo" /> property.</summary>
        private Commvault.Powershell.Models.IVMBackupInfo _vMBackupInfo;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IVMBackupInfo VMBackupInfo { get => (this._vMBackupInfo = this._vMBackupInfo ?? new Commvault.Powershell.Models.VMBackupInfo()); set => this._vMBackupInfo = value; }

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

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

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

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

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

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

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

        }
    }
    /// GetVMGroupResp
    public partial interface IGetVMGroupResp :
        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>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>vmAppValidation</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"vmAppValidation",
        SerializedName = @"applicationValidation",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IVMAppValidation) })]
        Commvault.Powershell.Models.IVMAppValidation ApplicationValidation { 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? BackupsetId { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string BackupsetName { get; set; }
        /// <summary>Common properties of hypervisor in vmgroup</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Common properties of hypervisor in vmgroup",
        SerializedName = @"hypervisor",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IHypervisorvmGroupCommonProp) })]
        Commvault.Powershell.Models.IHypervisorvmGroupCommonProp CommonPropertyHypervisor { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"hypervisorType",
        PossibleTypes = new [] { typeof(string) })]
        string CommonPropertyHypervisorType { get; set; }
        /// <summary>True if the hypervisor is deleted</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if the hypervisor is deleted",
        SerializedName = @"isDeletedHypervisor",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CommonPropertyIsDeletedHypervisor { get; set; }
        /// <summary>True if this is a ETCD Subclient</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if this is a ETCD Subclient",
        SerializedName = @"isETCDSubclient",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CommonPropertyIsEtcdSubclient { get; set; }
        /// <summary>true if the hypervisor has been deconfigured</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"true if the hypervisor has been deconfigured",
        SerializedName = @"isHypervisorDeconfigured",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CommonPropertyIsHypervisorDeconfigured { 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? CommonPropertyIsIndexingV2 { get; set; }
        /// <summary>True if we need to show full backup level</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if we need to show full backup level",
        SerializedName = @"showFullBackupLevel",
        PossibleTypes = new [] { typeof(bool) })]
        bool? CommonPropertyShowFullBackupLevel { get; set; }

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

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

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

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

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

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

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? Id { get; set; }
        /// <summary>Indexing Message</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Indexing Message",
        SerializedName = @"message",
        PossibleTypes = new [] { typeof(string) })]
        string IndexingInfoMessage { get; set; }
        /// <summary>Type of indexing status.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Type of indexing status.",
        SerializedName = @"status",
        PossibleTypes = new [] { typeof(string) })]
        string IndexingInfoStatus { 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>Gives the reason for the last backup job failing, if the last backup job fails.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Gives the reason for the last backup job failing, if the last backup job fails.",
        SerializedName = @"failureReason",
        PossibleTypes = new [] { typeof(string) })]
        string LastBackupFailureReason { get; set; }
        /// <summary>Returns the job id of the last backup job performed.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Returns the job id of the last backup job performed.",
        SerializedName = @"jobId",
        PossibleTypes = new [] { typeof(long) })]
        long? LastBackupJobId { get; set; }
        /// <summary>Status of the last backup job performed.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Status of the last backup job performed.",
        SerializedName = @"status",
        PossibleTypes = new [] { typeof(string) })]
        string LastBackupStatus { get; set; }
        /// <summary>
        /// Shows the time when the last back up job was carried out. The time is provided in unix time format.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Shows the time when the last back up job was carried out. The time is provided in unix time format.",
        SerializedName = @"time",
        PossibleTypes = new [] { typeof(long) })]
        long? LastBackupTime { get; set; }
        /// <summary>Meditech Listener IP of FQDN name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Meditech Listener IP of FQDN name",
        SerializedName = @"listenerIP",
        PossibleTypes = new [] { typeof(string) })]
        string MeditechSystemListenerIP { get; set; }
        /// <summary>Meditech Listener Port</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Meditech Listener Port",
        SerializedName = @"listenerPort",
        PossibleTypes = new [] { typeof(long) })]
        long? MeditechSystemListenerPort { get; set; }
        /// <summary>MBF timeout (in seconds)</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"MBF timeout (in seconds)",
        SerializedName = @"MBFtimeout",
        PossibleTypes = new [] { typeof(long) })]
        long? MeditechSystemMbFtimeout { get; set; }
        /// <summary>Meditech system name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Meditech system name",
        SerializedName = @"systemName",
        PossibleTypes = new [] { typeof(string) })]
        string MeditechSystemName { get; set; }

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

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

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"subType",
        PossibleTypes = new [] { typeof(string) })]
        string PlanSubType { 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 RegionDisplayName { get; set; }
        /// <summary>Region Id</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Region Id",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? RegionId { get; set; }
        /// <summary>Geolocation Latitude</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Geolocation Latitude",
        SerializedName = @"latitude",
        PossibleTypes = new [] { typeof(string) })]
        string RegionLatitude { get; set; }
        /// <summary>Geolocation Longitude</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Geolocation Longitude",
        SerializedName = @"longitude",
        PossibleTypes = new [] { typeof(string) })]
        string RegionLongitude { get; set; }
        /// <summary>Region Name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Region Name",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string RegionName { get; set; }

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

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

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

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

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

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

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

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"backupCopyInterface",
        PossibleTypes = new [] { typeof(string) })]
        string SnapshotManagementBackupCopyInterface { get; set; }
        /// <summary>True if hardware snapshot is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if hardware snapshot is enabled",
        SerializedName = @"enableHardwareSnapshot",
        PossibleTypes = new [] { typeof(bool) })]
        bool? SnapshotManagementEnableHardwareSnapshot { get; set; }
        /// <summary>True if independent disk option is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if independent disk option is enabled",
        SerializedName = @"isIndependentDisksEnabled",
        PossibleTypes = new [] { typeof(bool) })]
        bool? SnapshotManagementIsIndependentDisksEnabled { get; set; }
        /// <summary>True if raw device maps option is enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if raw device maps option is enabled",
        SerializedName = @"isRawDeviceMapsEnabled",
        PossibleTypes = new [] { typeof(bool) })]
        bool? SnapshotManagementIsRawDeviceMapsEnabled { get; set; }
        /// <summary>Name of ESX Host</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Name of ESX Host",
        SerializedName = @"snapMountESXHost",
        PossibleTypes = new [] { typeof(string) })]
        string SnapshotManagementSnapMountEsxHost { get; set; }
        /// <summary>True if separate proxy client is used for snap to tape</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if separate proxy client is used for snap to tape",
        SerializedName = @"useSeparateProxyForSnapToTape",
        PossibleTypes = new [] { typeof(bool) })]
        bool? SnapshotManagementUseSeparateProxyForSnapToTape { get; set; }
        /// <summary>Virtual machine application user name</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Virtual machine application user name",
        SerializedName = @"vmApplicationUserName",
        PossibleTypes = new [] { typeof(string) })]
        string SnapshotManagementVMApplicationUserName { get; set; }
        /// <summary>subclient entity status</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"subclient entity status",
        SerializedName = @"status",
        PossibleTypes = new [] { typeof(long) })]
        long? Status { get; set; }
        /// <summary>Current backup activity status</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Current backup activity status",
        SerializedName = @"backupActivityStatus",
        PossibleTypes = new [] { typeof(string) })]
        string SummaryBackupActivityStatus { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"hypervisorName",
        PossibleTypes = new [] { typeof(string) })]
        string SummaryHypervisorName { get; set; }
        /// <summary>True if subclient is default subclient</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"True if subclient is default subclient",
        SerializedName = @"isDefaultVMGroup",
        PossibleTypes = new [] { typeof(bool) })]
        bool? SummaryIsDefaultVMGroup { get; set; }
        /// <summary>Last Backup Job Size</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Last Backup Job Size",
        SerializedName = @"lastBackupSize",
        PossibleTypes = new [] { typeof(long) })]
        long? SummaryLastBackupSize { get; set; }
        /// <summary>Last Backup time of the VMGroup</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Last Backup time of the VMGroup",
        SerializedName = @"lastBackupTime",
        PossibleTypes = new [] { typeof(long) })]
        long? SummaryLastBackupTime { get; set; }
        /// <summary>Next Backup Job start time</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Next Backup Job start time",
        SerializedName = @"nextBackupTime",
        PossibleTypes = new [] { typeof(long) })]
        long? SummaryNextBackupTime { 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>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 UserAccountName { 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 UserAccountPassword { 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; }

    }
    /// GetVMGroupResp
    internal partial interface IGetVMGroupRespInternal

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

        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>vmAppValidation</summary>
        Commvault.Powershell.Models.IVMAppValidation ApplicationValidation { 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? BackupsetId { get; set; }

        string BackupsetName { get; set; }

        Commvault.Powershell.Models.IVMGroupCommonProperties CommonProperties { get; set; }

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

        Commvault.Powershell.Models.IIdName CommonPropertyDataBackupStoragePolicy { get; set; }
        /// <summary>Common properties of hypervisor in vmgroup</summary>
        Commvault.Powershell.Models.IHypervisorvmGroupCommonProp CommonPropertyHypervisor { get; set; }

        string CommonPropertyHypervisorType { get; set; }

        Commvault.Powershell.Models.IIdName CommonPropertyIDataAgent { get; set; }
        /// <summary>indexingInfo</summary>
        Commvault.Powershell.Models.IIndexingInfo CommonPropertyIndexingInfo { get; set; }

        Commvault.Powershell.Models.IIdName CommonPropertyInstance { get; set; }
        /// <summary>True if the hypervisor is deleted</summary>
        bool? CommonPropertyIsDeletedHypervisor { get; set; }
        /// <summary>True if this is a ETCD Subclient</summary>
        bool? CommonPropertyIsEtcdSubclient { get; set; }
        /// <summary>true if the hypervisor has been deconfigured</summary>
        bool? CommonPropertyIsHypervisorDeconfigured { get; set; }
        /// <summary>True if Indexing version is 2</summary>
        bool? CommonPropertyIsIndexingV2 { get; set; }
        /// <summary>True if we need to show full backup level</summary>
        bool? CommonPropertyShowFullBackupLevel { get; set; }

        Commvault.Powershell.Models.IVMContent[] Content { get; set; }

        long? DataBackupStoragePolicyId { get; set; }

        string DataBackupStoragePolicyName { get; set; }

        Commvault.Powershell.Models.IVMDiskFilterProp[] DiskFilters { get; set; }

        Commvault.Powershell.Models.IVMContent[] Filters { get; set; }

        long? IDataAgentId { get; set; }

        string IDataAgentName { get; set; }

        long? Id { get; set; }
        /// <summary>Indexing Message</summary>
        string IndexingInfoMessage { get; set; }
        /// <summary>Type of indexing status.</summary>
        string IndexingInfoStatus { get; set; }

        long? InstanceId { get; set; }

        string InstanceName { get; set; }

        Commvault.Powershell.Models.ILastBackupJobInfo LastBackup { get; set; }
        /// <summary>Gives the reason for the last backup job failing, if the last backup job fails.</summary>
        string LastBackupFailureReason { get; set; }
        /// <summary>Returns the job id of the last backup job performed.</summary>
        long? LastBackupJobId { get; set; }
        /// <summary>Status of the last backup job performed.</summary>
        string LastBackupStatus { get; set; }
        /// <summary>
        /// Shows the time when the last back up job was carried out. The time is provided in unix time format.
        /// </summary>
        long? LastBackupTime { get; set; }
        /// <summary>Meditech Listener IP of FQDN name</summary>
        string MeditechSystemListenerIP { get; set; }
        /// <summary>Meditech Listener Port</summary>
        long? MeditechSystemListenerPort { get; set; }
        /// <summary>MBF timeout (in seconds)</summary>
        long? MeditechSystemMbFtimeout { get; set; }
        /// <summary>Meditech system name</summary>
        string MeditechSystemName { get; set; }

        Commvault.Powershell.Models.IUserNamePassword MeditechSystemUserAccount { get; set; }
        /// <summary>meditechPropResp</summary>
        Commvault.Powershell.Models.IMeditechPropResp MeditechSystems { get; set; }

        string Name { get; set; }

        long? PlanId { get; set; }

        string PlanName { get; set; }

        string PlanSubType { get; set; }
        /// <summary>Display Name of Region</summary>
        string RegionDisplayName { get; set; }
        /// <summary>Region Id</summary>
        long? RegionId { get; set; }
        /// <summary>Geolocation Latitude</summary>
        string RegionLatitude { get; set; }
        /// <summary>Geolocation Longitude</summary>
        string RegionLongitude { get; set; }
        /// <summary>Region Name</summary>
        string RegionName { get; set; }

        long? ReplicationGroupId { get; set; }

        string ReplicationGroupName { 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.ISecurityAssoc[] SecurityAssociations { get; set; }

        Commvault.Powershell.Models.IVMGroupSettings Settings { get; set; }

        long? SnapEngineId { get; set; }

        string SnapEngineName { get; set; }

        long? SnapMountProxyId { get; set; }

        string SnapMountProxyName { get; set; }

        Commvault.Powershell.Models.ISnapCopyInfo SnapshotManagement { get; set; }

        string SnapshotManagementBackupCopyInterface { get; set; }
        /// <summary>True if hardware snapshot is enabled</summary>
        bool? SnapshotManagementEnableHardwareSnapshot { get; set; }
        /// <summary>True if independent disk option is enabled</summary>
        bool? SnapshotManagementIsIndependentDisksEnabled { get; set; }
        /// <summary>True if raw device maps option is enabled</summary>
        bool? SnapshotManagementIsRawDeviceMapsEnabled { get; set; }

        Commvault.Powershell.Models.IIdName SnapshotManagementSnapEngine { get; set; }
        /// <summary>Name of ESX Host</summary>
        string SnapshotManagementSnapMountEsxHost { get; set; }

        Commvault.Powershell.Models.IIdName SnapshotManagementSnapMountProxy { get; set; }
        /// <summary>True if separate proxy client is used for snap to tape</summary>
        bool? SnapshotManagementUseSeparateProxyForSnapToTape { get; set; }
        /// <summary>Virtual machine application user name</summary>
        string SnapshotManagementVMApplicationUserName { get; set; }
        /// <summary>subclient entity status</summary>
        long? Status { get; set; }
        /// <summary>vmGroupDetailsSummary</summary>
        Commvault.Powershell.Models.IVMGroupDetailsSummary Summary { get; set; }
        /// <summary>Current backup activity status</summary>
        string SummaryBackupActivityStatus { get; set; }

        string SummaryHypervisorName { get; set; }
        /// <summary>True if subclient is default subclient</summary>
        bool? SummaryIsDefaultVMGroup { get; set; }
        /// <summary>Last Backup Job Size</summary>
        long? SummaryLastBackupSize { get; set; }
        /// <summary>Last Backup time of the VMGroup</summary>
        long? SummaryLastBackupTime { get; set; }
        /// <summary>Next Backup Job start time</summary>
        long? SummaryNextBackupTime { get; set; }

        Commvault.Powershell.Models.IPlanIdNameType SummaryPlan { get; set; }
        /// <summary>RegionInfo</summary>
        Commvault.Powershell.Models.IRegionInfo SummaryRegion { get; set; }

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

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

        long? TimeZoneId { get; set; }

        string TimeZoneName { get; set; }
        /// <summary>username to access the network path</summary>
        string UserAccountName { get; set; }
        /// <summary>password to access the network path</summary>
        string UserAccountPassword { get; set; }

        Commvault.Powershell.Models.IVMBackupInfo VMBackupInfo { 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; }

    }
}