generated/api/Models/GetRecoveryGroupDetailsResp.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>GetRecoveryGroupDetailsResp</summary>
    public partial class GetRecoveryGroupDetailsResp :
        Commvault.Powershell.Models.IGetRecoveryGroupDetailsResp,
        Commvault.Powershell.Models.IGetRecoveryGroupDetailsRespInternal
    {

        /// <summary>Internal Acessors for RecoveryGroup</summary>
        Commvault.Powershell.Models.IRecoveryGroup Commvault.Powershell.Models.IGetRecoveryGroupDetailsRespInternal.RecoveryGroup { get => (this._recoveryGroup = this._recoveryGroup ?? new Commvault.Powershell.Models.RecoveryGroup()); set { {_recoveryGroup = value;} } }

        /// <summary>Internal Acessors for RecoveryGroupRecoveryPointDetails</summary>
        Commvault.Powershell.Models.IRecoveryGroupRpDetails Commvault.Powershell.Models.IGetRecoveryGroupDetailsRespInternal.RecoveryGroupRecoveryPointDetails { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).RecoveryPointDetails; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).RecoveryPointDetails = value; }

        /// <summary>Internal Acessors for RecoveryGroupTarget</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IGetRecoveryGroupDetailsRespInternal.RecoveryGroupTarget { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).Target; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).Target = value; }

        /// <summary>Backing field for <see cref="Entities" /> property.</summary>
        private Commvault.Powershell.Models.IRecoveryEntity[] _entities;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IRecoveryEntity[] Entities { get => this._entities; set => this._entities = value; }

        /// <summary>Backing field for <see cref="RecoveryGroup" /> property.</summary>
        private Commvault.Powershell.Models.IRecoveryGroup _recoveryGroup;

        /// <summary>Model to provide basic detail of recovery group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IRecoveryGroup RecoveryGroup { get => (this._recoveryGroup = this._recoveryGroup ?? new Commvault.Powershell.Models.RecoveryGroup()); set => this._recoveryGroup = value; }

        /// <summary>Recovery Action</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RecoveryGroupAction { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).Action; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).Action = value ?? null; }

        /// <summary>Set to true to continue to the next priority machines on failure</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? RecoveryGroupContinueOnFailure { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).ContinueOnFailure; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).ContinueOnFailure = value ?? default(bool); }

        /// <summary>The delay between machines in different priorities in minutes</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? RecoveryGroupDelayBetweenPriorityMachines { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).DelayBetweenPriorityMachines; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).DelayBetweenPriorityMachines = value ?? default(long); }

        /// <summary>Id of the recovery group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? RecoveryGroupId { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).Id; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).Id = value ?? default(long); }

        /// <summary>Name of the recovery group</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RecoveryGroupName { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).Name; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).Name = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IDrOperationScript[] RecoveryGroupPostRecoveryActions { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).PostRecoveryActions; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).PostRecoveryActions = value ?? null /* arrayOf */; }

        /// <summary>
        /// Timestamp for group restore in case of disaster, default value is 0 as latest recovery point
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? RecoveryGroupRecoveryPoint { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).RecoveryPoint; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).RecoveryPoint = value ?? default(long); }

        /// <summary>
        /// Timestamp for group restore in case of disaster, default value is 0 as latest recovery point
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? RecoveryPointDetailRecoveryPoint { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).RecoveryPointDetailRecoveryPoint; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).RecoveryPointDetailRecoveryPoint = value ?? default(long); }

        /// <summary>Type of recovery point category that can be selected. Default is Latest</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string RecoveryPointDetailRecoveryPointCategory { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).RecoveryPointDetailRecoveryPointCategory; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).RecoveryPointDetailRecoveryPointCategory = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? TargetId { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).TargetId; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).TargetId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string TargetName { get => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).TargetName; set => ((Commvault.Powershell.Models.IRecoveryGroupInternal)RecoveryGroup).TargetName = value ?? null; }

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

        }
    }
    /// GetRecoveryGroupDetailsResp
    public partial interface IGetRecoveryGroupDetailsResp :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"entities",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IRecoveryEntity) })]
        Commvault.Powershell.Models.IRecoveryEntity[] Entities { get; set; }
        /// <summary>Recovery Action</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Recovery Action",
        SerializedName = @"action",
        PossibleTypes = new [] { typeof(string) })]
        string RecoveryGroupAction { get; set; }
        /// <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? RecoveryGroupContinueOnFailure { get; set; }
        /// <summary>The delay between machines in different priorities in minutes</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"The delay between machines in different priorities in minutes",
        SerializedName = @"delayBetweenPriorityMachines",
        PossibleTypes = new [] { typeof(long) })]
        long? RecoveryGroupDelayBetweenPriorityMachines { get; set; }
        /// <summary>Id of the recovery group</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Id of the recovery group",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? RecoveryGroupId { get; set; }
        /// <summary>Name of the recovery group</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Name of the recovery group",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string RecoveryGroupName { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"postRecoveryActions",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IDrOperationScript) })]
        Commvault.Powershell.Models.IDrOperationScript[] RecoveryGroupPostRecoveryActions { get; set; }
        /// <summary>
        /// Timestamp for group restore in case of disaster, default value is 0 as latest recovery point
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Timestamp for group restore in case of disaster, default value is 0 as latest recovery point",
        SerializedName = @"recoveryPoint",
        PossibleTypes = new [] { typeof(long) })]
        long? RecoveryGroupRecoveryPoint { get; set; }
        /// <summary>
        /// Timestamp for group restore in case of disaster, default value is 0 as latest recovery point
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Timestamp for group restore in case of disaster, default value is 0 as latest recovery point",
        SerializedName = @"recoveryPoint",
        PossibleTypes = new [] { typeof(long) })]
        long? RecoveryPointDetailRecoveryPoint { get; set; }
        /// <summary>Type of recovery point category that can be selected. Default is Latest</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Type of recovery point category that can be selected. Default is Latest",
        SerializedName = @"recoveryPointCategory",
        PossibleTypes = new [] { typeof(string) })]
        string RecoveryPointDetailRecoveryPointCategory { get; set; }

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

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

    }
    /// GetRecoveryGroupDetailsResp
    internal partial interface IGetRecoveryGroupDetailsRespInternal

    {
        Commvault.Powershell.Models.IRecoveryEntity[] Entities { get; set; }
        /// <summary>Model to provide basic detail of recovery group</summary>
        Commvault.Powershell.Models.IRecoveryGroup RecoveryGroup { get; set; }
        /// <summary>Recovery Action</summary>
        string RecoveryGroupAction { get; set; }
        /// <summary>Set to true to continue to the next priority machines on failure</summary>
        bool? RecoveryGroupContinueOnFailure { get; set; }
        /// <summary>The delay between machines in different priorities in minutes</summary>
        long? RecoveryGroupDelayBetweenPriorityMachines { get; set; }
        /// <summary>Id of the recovery group</summary>
        long? RecoveryGroupId { get; set; }
        /// <summary>Name of the recovery group</summary>
        string RecoveryGroupName { get; set; }

        Commvault.Powershell.Models.IDrOperationScript[] RecoveryGroupPostRecoveryActions { get; set; }
        /// <summary>
        /// Timestamp for group restore in case of disaster, default value is 0 as latest recovery point
        /// </summary>
        long? RecoveryGroupRecoveryPoint { get; set; }
        /// <summary>
        /// Contains the information regarding the recovery group level recoveryPoint selection
        /// </summary>
        Commvault.Powershell.Models.IRecoveryGroupRpDetails RecoveryGroupRecoveryPointDetails { get; set; }

        Commvault.Powershell.Models.IIdName RecoveryGroupTarget { get; set; }
        /// <summary>
        /// Timestamp for group restore in case of disaster, default value is 0 as latest recovery point
        /// </summary>
        long? RecoveryPointDetailRecoveryPoint { get; set; }
        /// <summary>Type of recovery point category that can be selected. Default is Latest</summary>
        string RecoveryPointDetailRecoveryPointCategory { get; set; }

        long? TargetId { get; set; }

        string TargetName { get; set; }

    }
}