generated/api/Models/RecoveryOptions.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>Recovery options to be specified for a continuous replication group</summary>
    public partial class RecoveryOptions :
        Commvault.Powershell.Models.IRecoveryOptions,
        Commvault.Powershell.Models.IRecoveryOptionsInternal
    {

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

        /// <summary>Option to create crash-consistent recovery points</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? CrashConsistentRpInterval { get => this._crashConsistentRpInterval; set => this._crashConsistentRpInterval = value; }

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

        /// <summary>Option to combine older recovery points into larger recovery points</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? MergeRecoveryPointsOlderThan { get => this._mergeRecoveryPointsOlderThan; set => this._mergeRecoveryPointsOlderThan = value; }

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

        /// <summary>
        /// Specify whether to transfer updates for the oldest recovery points to destination computer during off-peak hours.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? PruneAndMergeRecoveryPoints { get => this._pruneAndMergeRecoveryPoints; set => this._pruneAndMergeRecoveryPoints = value; }

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

        /// <summary>
        /// Option to specify the time interval between the oldest recovery points in the RP Store
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? RecoveryPointInterval { get => this._recoveryPointInterval; set => this._recoveryPointInterval = value; }

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

        /// <summary>
        /// Select the Recovery Point Store on the destination site where journal entries for each recovery point are stored
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string RecoveryPointStore { get => this._recoveryPointStore; set => this._recoveryPointStore = value; }

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

        /// <summary>Type of recovery. Values are case sensitive</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string RecoveryType { get => this._recoveryType; set => this._recoveryType = value; }

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

        /// <summary>
        /// Option to specify how long journal entries for a recovery point should be retained
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? RetainRecoveryPointsFor { get => this._retainRecoveryPointsFor; set => this._retainRecoveryPointsFor = value; }

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

        }
    }
    /// Recovery options to be specified for a continuous replication group
    public partial interface IRecoveryOptions :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Option to create crash-consistent recovery points</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Option to create crash-consistent recovery points",
        SerializedName = @"crashConsistentRpInterval",
        PossibleTypes = new [] { typeof(long) })]
        long? CrashConsistentRpInterval { get; set; }
        /// <summary>Option to combine older recovery points into larger recovery points</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Option to combine older recovery points into larger recovery points",
        SerializedName = @"mergeRecoveryPointsOlderThan",
        PossibleTypes = new [] { typeof(long) })]
        long? MergeRecoveryPointsOlderThan { get; set; }
        /// <summary>
        /// Specify whether to transfer updates for the oldest recovery points to destination computer during off-peak hours.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specify whether to transfer updates for the oldest recovery points to destination computer during off-peak hours.",
        SerializedName = @"pruneAndMergeRecoveryPoints",
        PossibleTypes = new [] { typeof(bool) })]
        bool? PruneAndMergeRecoveryPoints { get; set; }
        /// <summary>
        /// Option to specify the time interval between the oldest recovery points in the RP Store
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Option to specify the time interval between the oldest recovery points in the RP Store",
        SerializedName = @"recoveryPointInterval",
        PossibleTypes = new [] { typeof(long) })]
        long? RecoveryPointInterval { get; set; }
        /// <summary>
        /// Select the Recovery Point Store on the destination site where journal entries for each recovery point are stored
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Select the Recovery Point Store on the destination site where journal entries for each recovery point are stored",
        SerializedName = @"recoveryPointStore",
        PossibleTypes = new [] { typeof(string) })]
        string RecoveryPointStore { get; set; }
        /// <summary>Type of recovery. Values are case sensitive</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Type of recovery. Values are case sensitive",
        SerializedName = @"recoveryType",
        PossibleTypes = new [] { typeof(string) })]
        string RecoveryType { get; set; }
        /// <summary>
        /// Option to specify how long journal entries for a recovery point should be retained
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Option to specify how long journal entries for a recovery point should be retained",
        SerializedName = @"retainRecoveryPointsFor",
        PossibleTypes = new [] { typeof(long) })]
        long? RetainRecoveryPointsFor { get; set; }

    }
    /// Recovery options to be specified for a continuous replication group
    internal partial interface IRecoveryOptionsInternal

    {
        /// <summary>Option to create crash-consistent recovery points</summary>
        long? CrashConsistentRpInterval { get; set; }
        /// <summary>Option to combine older recovery points into larger recovery points</summary>
        long? MergeRecoveryPointsOlderThan { get; set; }
        /// <summary>
        /// Specify whether to transfer updates for the oldest recovery points to destination computer during off-peak hours.
        /// </summary>
        bool? PruneAndMergeRecoveryPoints { get; set; }
        /// <summary>
        /// Option to specify the time interval between the oldest recovery points in the RP Store
        /// </summary>
        long? RecoveryPointInterval { get; set; }
        /// <summary>
        /// Select the Recovery Point Store on the destination site where journal entries for each recovery point are stored
        /// </summary>
        string RecoveryPointStore { get; set; }
        /// <summary>Type of recovery. Values are case sensitive</summary>
        string RecoveryType { get; set; }
        /// <summary>
        /// Option to specify how long journal entries for a recovery point should be retained
        /// </summary>
        long? RetainRecoveryPointsFor { get; set; }

    }
}