generated/api/Models/KubernetesAppGroupApplicationRestore.cs

// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.10.2, generator: @autorest/powershell@4.0.708)
// 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>Request body for Full Application Restore of Application Group</summary>
    public partial class KubernetesAppGroupApplicationRestore :
        Commvault.Powershell.Models.IKubernetesAppGroupApplicationRestore,
        Commvault.Powershell.Models.IKubernetesAppGroupApplicationRestoreInternal,
        Commvault.Powershell.Runtime.IValidates
    {
        /// <summary>
        /// Backing field for Inherited model <see cref= "Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItem" />
        /// </summary>
        private Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItem __kubernetesAppGroupAppAndNamespaceItem = new Commvault.Powershell.Models.KubernetesAppGroupAppAndNamespaceItem();

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        internal Commvault.Powershell.Models.IIdName AccessNode { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).AccessNode; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).AccessNode = value ?? null /* model class */; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? AccessNodeId { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).AccessNodeId; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).AccessNodeId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string AccessNodeName { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).AccessNodeName; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).AccessNodeName = value ?? null; }

        /// <summary>Backing field for <see cref="Applications" /> property.</summary>
        private System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesApplicationRestoreItem> _applications;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesApplicationRestoreItem> Applications { get => this._applications; set => this._applications = value; }

        /// <summary>Internal Acessors for AccessNode</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal.AccessNode { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).AccessNode; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).AccessNode = value; }

        /// <summary>Internal Acessors for DestinationCluster</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal.DestinationCluster { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).DestinationCluster; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).DestinationCluster = value; }

        /// <summary>Internal Acessors for TimeRange</summary>
        Commvault.Powershell.Models.ITimeRange Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal.TimeRange { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).TimeRange; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).TimeRange = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        internal Commvault.Powershell.Models.IIdName DestinationCluster { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).DestinationCluster; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).DestinationCluster = value ?? null /* model class */; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public long? DestinationClusterId { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).DestinationClusterId; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).DestinationClusterId = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string DestinationClusterName { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).DestinationClusterName; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).DestinationClusterName = value ?? null; }

        /// <summary>Run In-Place restore job</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public bool? InPlace { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).InPlace; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).InPlace = value ?? default(bool); }

        /// <summary>Specify list of resource modifier YAML as a string</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string Modifier { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).Modifier; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).Modifier = value ?? null; }

        /// <summary>Overwrite if already present</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public bool? Overwrite { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).Overwrite; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).Overwrite = value ?? default(bool); }

        /// <summary>
        /// Time range is for time related token rule values to specify from and to time in unix timestamp format.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        internal Commvault.Powershell.Models.ITimeRange TimeRange { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).TimeRange; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).TimeRange = value ?? null /* model class */; }

        /// <summary>From time value in unix timestamp format</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string TimeRangeFromTime { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).TimeRangeFromTime; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).TimeRangeFromTime = value ?? null; }

        /// <summary>To time value in unix timestamp format</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inherited)]
        public string TimeRangeToTime { get => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).TimeRangeToTime; set => ((Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal)__kubernetesAppGroupAppAndNamespaceItem).TimeRangeToTime = value ?? null; }

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

        }

        /// <summary>Validates that this object meets the validation criteria.</summary>
        /// <param name="eventListener">an <see cref="Commvault.Powershell.Runtime.IEventListener" /> instance that will receive validation
        /// events.</param>
        /// <returns>
        /// A <see cref = "global::System.Threading.Tasks.Task" /> that will be complete when validation is completed.
        /// </returns>
        public async global::System.Threading.Tasks.Task Validate(Commvault.Powershell.Runtime.IEventListener eventListener)
        {
            await eventListener.AssertNotNull(nameof(__kubernetesAppGroupAppAndNamespaceItem), __kubernetesAppGroupAppAndNamespaceItem);
            await eventListener.AssertObjectIsValid(nameof(__kubernetesAppGroupAppAndNamespaceItem), __kubernetesAppGroupAppAndNamespaceItem);
        }
    }
    /// Request body for Full Application Restore of Application Group
    public partial interface IKubernetesAppGroupApplicationRestore :
        Commvault.Powershell.Runtime.IJsonSerializable,
        Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItem
    {
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"",
        SerializedName = @"applications",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IKubernetesApplicationRestoreItem) })]
        System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesApplicationRestoreItem> Applications { get; set; }

    }
    /// Request body for Full Application Restore of Application Group
    internal partial interface IKubernetesAppGroupApplicationRestoreInternal :
        Commvault.Powershell.Models.IKubernetesAppGroupAppAndNamespaceItemInternal
    {
        System.Collections.Generic.List<Commvault.Powershell.Models.IKubernetesApplicationRestoreItem> Applications { get; set; }

    }
}