generated/api/Models/ServerPlanSettings.cs

// Code generated by Microsoft (R) AutoRest Code Generator (autorest: 3.8.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;

    public partial class ServerPlanSettings :
        Commvault.Powershell.Models.IServerPlanSettings,
        Commvault.Powershell.Models.IServerPlanSettingsInternal
    {

        /// <summary>Internal Acessors for FileSearch</summary>
        Commvault.Powershell.Models.IPlanFileSearch Commvault.Powershell.Models.IServerPlanSettingsInternal.FileSearch { get => (this._fileSearch = this._fileSearch ?? new Commvault.Powershell.Models.PlanFileSearch()); set { {_fileSearch = value;} } }

        /// <summary>Backing field for <see cref="FileSearch" /> property.</summary>
        private Commvault.Powershell.Models.IPlanFileSearch _fileSearch;

        /// <summary>
        /// This feature applies to file servers and virtualization. Enabling this feature allows you to search for backed-up files
        /// using the global search bar, and creates resource pools with required infrastructure entities.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IPlanFileSearch FileSearch { get => (this._fileSearch = this._fileSearch ?? new Commvault.Powershell.Models.PlanFileSearch()); set => this._fileSearch = value; }

        /// <summary>Flag for enabling indexing</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? FileSearchEnabled { get => ((Commvault.Powershell.Models.IPlanFileSearchInternal)FileSearch).Enabled; set => ((Commvault.Powershell.Models.IPlanFileSearchInternal)FileSearch).Enabled = value ?? default(bool); }

        /// <summary>Type of indexing status.</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string FileSearchStatus { get => ((Commvault.Powershell.Models.IPlanFileSearchInternal)FileSearch).Status; set => ((Commvault.Powershell.Models.IPlanFileSearchInternal)FileSearch).Status = value ?? null; }

        /// <summary>
        /// Tells what is happening behind the scene, so that user can knows why indexing is not enabled or if its in progress
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string FileSearchStatusMessage { get => ((Commvault.Powershell.Models.IPlanFileSearchInternal)FileSearch).StatusMessage; set => ((Commvault.Powershell.Models.IPlanFileSearchInternal)FileSearch).StatusMessage = value ?? null; }

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

        }
    }
    public partial interface IServerPlanSettings :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Flag for enabling indexing</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Flag for enabling indexing",
        SerializedName = @"enabled",
        PossibleTypes = new [] { typeof(bool) })]
        bool? FileSearchEnabled { get; set; }
        /// <summary>Type of indexing status.</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Type of indexing status.",
        SerializedName = @"status",
        PossibleTypes = new [] { typeof(string) })]
        string FileSearchStatus { get; set; }
        /// <summary>
        /// Tells what is happening behind the scene, so that user can knows why indexing is not enabled or if its in progress
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Tells what is happening behind the scene, so that user can knows why indexing is not enabled or if its in progress",
        SerializedName = @"statusMessage",
        PossibleTypes = new [] { typeof(string) })]
        string FileSearchStatusMessage { get; set; }

    }
    internal partial interface IServerPlanSettingsInternal

    {
        /// <summary>
        /// This feature applies to file servers and virtualization. Enabling this feature allows you to search for backed-up files
        /// using the global search bar, and creates resource pools with required infrastructure entities.
        /// </summary>
        Commvault.Powershell.Models.IPlanFileSearch FileSearch { get; set; }
        /// <summary>Flag for enabling indexing</summary>
        bool? FileSearchEnabled { get; set; }
        /// <summary>Type of indexing status.</summary>
        string FileSearchStatus { get; set; }
        /// <summary>
        /// Tells what is happening behind the scene, so that user can knows why indexing is not enabled or if its in progress
        /// </summary>
        string FileSearchStatusMessage { get; set; }

    }
}