generated/api/Models/ReplicationGroupAdvancedOptions.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>The advanced option for replication group</summary>
    public partial class ReplicationGroupAdvancedOptions :
        Commvault.Powershell.Models.IReplicationGroupAdvancedOptions,
        Commvault.Powershell.Models.IReplicationGroupAdvancedOptionsInternal
    {

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

        /// <summary>Set to true to continue to the next priority machines on failure.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? ContinueOnFailure { get => this._continueOnFailure; set => this._continueOnFailure = value; }

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

        /// <summary>The delay between machines in different priorities. Mention in minutes</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? DelayBetweenPriorityMachines { get => this._delayBetweenPriorityMachines; set => this._delayBetweenPriorityMachines = value; }

        /// <summary>Backing field for <see cref="Script" /> property.</summary>
        private Commvault.Powershell.Models.IReplicationGroupScript _script;

        /// <summary>Pre/post failover and failback scripts at group level</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IReplicationGroupScript Script { get => (this._script = this._script ?? new Commvault.Powershell.Models.ReplicationGroupScript()); set => this._script = value; }

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

        }
    }
    /// The advanced option for replication group
    public partial interface IReplicationGroupAdvancedOptions :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Set to true to continue to the next priority machines on failure.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Set to true to continue to the next priority machines on failure.",
        SerializedName = @"continueOnFailure",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ContinueOnFailure { get; set; }
        /// <summary>The delay between machines in different priorities. Mention in minutes</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The delay between machines in different priorities. Mention in minutes",
        SerializedName = @"delayBetweenPriorityMachines",
        PossibleTypes = new [] { typeof(long) })]
        long? DelayBetweenPriorityMachines { get; set; }
        /// <summary>Pre/post failover and failback scripts at group level</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Pre/post failover and failback scripts at group level",
        SerializedName = @"script",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IReplicationGroupScript) })]
        Commvault.Powershell.Models.IReplicationGroupScript Script { get; set; }

    }
    /// The advanced option for replication group
    internal partial interface IReplicationGroupAdvancedOptionsInternal

    {
        /// <summary>Set to true to continue to the next priority machines on failure.</summary>
        bool? ContinueOnFailure { get; set; }
        /// <summary>The delay between machines in different priorities. Mention in minutes</summary>
        long? DelayBetweenPriorityMachines { get; set; }
        /// <summary>Pre/post failover and failback scripts at group level</summary>
        Commvault.Powershell.Models.IReplicationGroupScript Script { get; set; }

    }
}