generated/api/Models/LiveMountOptions.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>LiveMountOptions</summary>
    public partial class LiveMountOptions :
        Commvault.Powershell.Models.ILiveMountOptions,
        Commvault.Powershell.Models.ILiveMountOptionsInternal
    {

        /// <summary>Internal Acessors for ExpirationTime</summary>
        Commvault.Powershell.Models.IExpirationTime Commvault.Powershell.Models.ILiveMountOptionsInternal.ExpirationTime { get => (this._expirationTime = this._expirationTime ?? new Commvault.Powershell.Models.ExpirationTime()); set { {_expirationTime = value;} } }

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

        /// <summary>Backing field for <see cref="ExpirationTime" /> property.</summary>
        private Commvault.Powershell.Models.IExpirationTime _expirationTime;

        /// <summary>ExpirationTime</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IExpirationTime ExpirationTime { get => (this._expirationTime = this._expirationTime ?? new Commvault.Powershell.Models.ExpirationTime()); set => this._expirationTime = value; }

        /// <summary>Expiration Time if in days</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ExpirationTimeDaysRetainUntil { get => ((Commvault.Powershell.Models.IExpirationTimeInternal)ExpirationTime).DaysRetainUntil; set => ((Commvault.Powershell.Models.IExpirationTimeInternal)ExpirationTime).DaysRetainUntil = value ?? null; }

        /// <summary>Expiration Time if in minutes</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ExpirationTimeMinutesRetainUntil { get => ((Commvault.Powershell.Models.IExpirationTimeInternal)ExpirationTime).MinutesRetainUntil; set => ((Commvault.Powershell.Models.IExpirationTimeInternal)ExpirationTime).MinutesRetainUntil = value ?? null; }

        /// <summary>Backing field for <see cref="IsLiveMountEnabled" /> property.</summary>
        private bool? _isLiveMountEnabled;

        /// <summary>Indiciates whether the Live mount is allowed from this recovery target</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? IsLiveMountEnabled { get => this._isLiveMountEnabled; set => this._isLiveMountEnabled = value; }

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

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

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

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

        /// <summary>Backing field for <see cref="MigrateVMS" /> property.</summary>
        private bool? _migrateVMS;

        /// <summary>Whether migrate VMs options is turned on for test failover</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? MigrateVMS { get => this._migrateVMS; set => this._migrateVMS = value; }

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

        }
    }
    /// LiveMountOptions
    public partial interface ILiveMountOptions :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Expiration Time if in days</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Expiration Time if in days",
        SerializedName = @"daysRetainUntil",
        PossibleTypes = new [] { typeof(string) })]
        string ExpirationTimeDaysRetainUntil { get; set; }
        /// <summary>Expiration Time if in minutes</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Expiration Time if in minutes",
        SerializedName = @"minutesRetainUntil",
        PossibleTypes = new [] { typeof(string) })]
        string ExpirationTimeMinutesRetainUntil { get; set; }
        /// <summary>Indiciates whether the Live mount is allowed from this recovery target</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Indiciates whether the Live mount is allowed from this recovery target",
        SerializedName = @"isLiveMountEnabled",
        PossibleTypes = new [] { typeof(bool) })]
        bool? IsLiveMountEnabled { get; set; }

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string MediaAgentName { get; set; }
        /// <summary>Whether migrate VMs options is turned on for test failover</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Whether migrate VMs options is turned on for test failover",
        SerializedName = @"migrateVMs",
        PossibleTypes = new [] { typeof(bool) })]
        bool? MigrateVMS { get; set; }

    }
    /// LiveMountOptions
    internal partial interface ILiveMountOptionsInternal

    {
        /// <summary>ExpirationTime</summary>
        Commvault.Powershell.Models.IExpirationTime ExpirationTime { get; set; }
        /// <summary>Expiration Time if in days</summary>
        string ExpirationTimeDaysRetainUntil { get; set; }
        /// <summary>Expiration Time if in minutes</summary>
        string ExpirationTimeMinutesRetainUntil { get; set; }
        /// <summary>Indiciates whether the Live mount is allowed from this recovery target</summary>
        bool? IsLiveMountEnabled { get; set; }

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

        long? MediaAgentId { get; set; }

        string MediaAgentName { get; set; }
        /// <summary>Whether migrate VMs options is turned on for test failover</summary>
        bool? MigrateVMS { get; set; }

    }
}