generated/api/Models/DcPlanDetails.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>Describes the Data Classification Plan response object</summary>
    public partial class DcPlanDetails :
        Commvault.Powershell.Models.IDcPlanDetails,
        Commvault.Powershell.Models.IDcPlanDetailsInternal
    {

        /// <summary>Backing field for <see cref="AssociatedEntities" /> property.</summary>
        private Commvault.Powershell.Models.IIdNameCount[] _associatedEntities;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IIdNameCount[] AssociatedEntities { get => this._associatedEntities; set => this._associatedEntities = value; }

        /// <summary>Internal Acessors for ContentIndexing</summary>
        Commvault.Powershell.Models.IGetDcPlanCipolicy Commvault.Powershell.Models.IDcPlanDetailsInternal.ContentIndexing { get => (this._contentIndexing = this._contentIndexing ?? new Commvault.Powershell.Models.GetDcPlanCipolicy()); set { {_contentIndexing = value;} } }

        /// <summary>Internal Acessors for ContentIndexingFileFilters</summary>
        Commvault.Powershell.Models.IDcPlanCifileFilters Commvault.Powershell.Models.IDcPlanDetailsInternal.ContentIndexingFileFilters { get => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).FileFilters; set => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).FileFilters = value; }

        /// <summary>Internal Acessors for EntityDetection</summary>
        Commvault.Powershell.Models.IDcPlanEepolicy Commvault.Powershell.Models.IDcPlanDetailsInternal.EntityDetection { get => (this._entityDetection = this._entityDetection ?? new Commvault.Powershell.Models.DcPlanEepolicy()); set { {_entityDetection = value;} } }

        /// <summary>Internal Acessors for IndexServer</summary>
        Commvault.Powershell.Models.IIdName Commvault.Powershell.Models.IDcPlanDetailsInternal.IndexServer { get => (this._indexServer = this._indexServer ?? new Commvault.Powershell.Models.IdName()); set { {_indexServer = value;} } }

        /// <summary>Internal Acessors for Schedule</summary>
        Commvault.Powershell.Models.IDcPlanJobSchedule Commvault.Powershell.Models.IDcPlanDetailsInternal.Schedule { get => (this._schedule = this._schedule ?? new Commvault.Powershell.Models.DcPlanJobSchedule()); set { {_schedule = value;} } }

        /// <summary>Internal Acessors for SchedulePattern</summary>
        Commvault.Powershell.Models.IContentIndexingFrequencyPattern Commvault.Powershell.Models.IDcPlanDetailsInternal.SchedulePattern { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).Pattern; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).Pattern = value; }

        /// <summary>Backing field for <see cref="ContentAnalyzer" /> property.</summary>
        private Commvault.Powershell.Models.IIdName[] _contentAnalyzer;

        /// <summary>Content Analyzer details for Data Classification plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IIdName[] ContentAnalyzer { get => this._contentAnalyzer; set => this._contentAnalyzer = value; }

        /// <summary>Backing field for <see cref="ContentIndexing" /> property.</summary>
        private Commvault.Powershell.Models.IGetDcPlanCipolicy _contentIndexing;

        /// <summary>Fetch Content Indexing Policy Model for DC Plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IGetDcPlanCipolicy ContentIndexing { get => (this._contentIndexing = this._contentIndexing ?? new Commvault.Powershell.Models.GetDcPlanCipolicy()); set => this._contentIndexing = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IDcBackupCopyDetail[] ContentIndexingBackupCopy { get => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).BackupCopy; set => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).BackupCopy = value ?? null /* arrayOf */; }

        /// <summary>OCR Languages Supported By DC Plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ContentIndexingContentLanguage { get => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).ContentLanguage; set => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).ContentLanguage = value ?? null; }

        /// <summary>Associated Domain of user having access to preview path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ContentIndexingDomainName { get => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).DomainName; set => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).DomainName = value ?? null; }

        /// <summary>Whether Exact Search is enabled or disabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? ContentIndexingExactSearch { get => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).ExactSearch; set => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).ExactSearch = value ?? default(bool); }

        /// <summary>Whether Image Extraction is Enabled</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public bool? ContentIndexingExtractTextFromImage { get => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).ExtractTextFromImage; set => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).ExtractTextFromImage = value ?? default(bool); }

        /// <summary>
        /// Describes the Preview path for Content Indexed Data when search type is METADATA_CONTENT_PREVIEW
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ContentIndexingPreviewPath { get => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).PreviewPath; set => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).PreviewPath = value ?? null; }

        /// <summary>Describes the Content Indexing Operation Type for Data Classification Plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ContentIndexingSearchType { get => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).SearchType; set => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).SearchType = value ?? null; }

        /// <summary>Associated user name of user having access to preview path</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ContentIndexingUserName { get => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).UserName; set => ((Commvault.Powershell.Models.IDcPlanContentIndexingDetailsInternal)ContentIndexing).UserName = value ?? null; }

        /// <summary>Backing field for <see cref="EntityDetection" /> property.</summary>
        private Commvault.Powershell.Models.IDcPlanEepolicy _entityDetection;

        /// <summary>Entity Extraction Model for Data Classification Plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IDcPlanEepolicy EntityDetection { get => (this._entityDetection = this._entityDetection ?? new Commvault.Powershell.Models.DcPlanEepolicy()); set => this._entityDetection = value; }

        /// <summary>Classifier TagId For Extraction</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IIdName[] EntityDetectionClassifiers { get => ((Commvault.Powershell.Models.IDcPlanEepolicyInternal)EntityDetection).Classifiers; set => ((Commvault.Powershell.Models.IDcPlanEepolicyInternal)EntityDetection).Classifiers = value ?? null /* arrayOf */; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? EntityDetectionCopyPrecendence { get => ((Commvault.Powershell.Models.IDcPlanEepolicyInternal)EntityDetection).CopyPrecendence; set => ((Commvault.Powershell.Models.IDcPlanEepolicyInternal)EntityDetection).CopyPrecendence = value ?? default(long); }

        /// <summary>Entity TagId for Extraction</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IIdName[] EntityDetectionEntities { get => ((Commvault.Powershell.Models.IDcPlanEepolicyInternal)EntityDetection).Entities; set => ((Commvault.Powershell.Models.IDcPlanEepolicyInternal)EntityDetection).Entities = value ?? null /* arrayOf */; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string[] FileFilterExcludePaths { get => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).FileFilterExcludePaths; set => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).FileFilterExcludePaths = value ?? null /* arrayOf */; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string FileFilterIncludeDocTypes { get => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).FileFilterIncludeDocTypes; set => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).FileFilterIncludeDocTypes = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? FileFilterMaxDocSize { get => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).FileFilterMaxDocSize; set => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).FileFilterMaxDocSize = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? FileFilterMinDocSize { get => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).FileFilterMinDocSize; set => ((Commvault.Powershell.Models.IGetDcPlanCipolicyInternal)ContentIndexing).FileFilterMinDocSize = value ?? default(long); }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? Id { get => this._id; set => this._id = value; }

        /// <summary>Backing field for <see cref="IndexServer" /> property.</summary>
        private Commvault.Powershell.Models.IIdName _indexServer;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IIdName IndexServer { get => (this._indexServer = this._indexServer ?? new Commvault.Powershell.Models.IdName()); set => this._indexServer = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? IndexServerId { get => ((Commvault.Powershell.Models.IIdNameInternal)IndexServer).Id; set => ((Commvault.Powershell.Models.IIdNameInternal)IndexServer).Id = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string IndexServerName { get => ((Commvault.Powershell.Models.IIdNameInternal)IndexServer).Name; set => ((Commvault.Powershell.Models.IIdNameInternal)IndexServer).Name = value ?? null; }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Name { get => this._name; set => this._name = value; }

        /// <summary>Day on which to run the schedule, applicable for monthly, yearly</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? PatternDayOfMonth { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternDayOfMonth; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternDayOfMonth = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string PatternDayOfWeek { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternDayOfWeek; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternDayOfWeek = value ?? null; }

        /// <summary>
        /// Exceptions to when a schedule should not run, either in dates or week of month and day
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public Commvault.Powershell.Models.IScheduleRunException[] PatternExceptions { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternExceptions; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternExceptions = value ?? null /* arrayOf */; }

        /// <summary>
        /// Frequency of the schedule based on schedule frequency type eg. for Hours, value 2 is 2 hours, for Minutes, 30 is 30 minutes,
        /// for Daily, 2 is 2 days. for Monthly 2 is it repeats every 2 months
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? PatternFrequency { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternFrequency; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternFrequency = value ?? default(long); }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string PatternMonthOfYear { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternMonthOfYear; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternMonthOfYear = value ?? null; }

        /// <summary>schedule frequency type</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string PatternScheduleFrequencyType { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternScheduleFrequencyType; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternScheduleFrequencyType = value ?? null; }

        /// <summary>start date of schedule in epoch format</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? PatternStartDate { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternStartDate; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternStartDate = value ?? default(long); }

        /// <summary>start time of schedule in seconds for daily, weekly, monthly, yearly frequency</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? PatternStartTime { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternStartTime; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternStartTime = value ?? default(long); }

        /// <summary>Specific week of a month</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string PatternWeekOfMonth { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternWeekOfMonth; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternWeekOfMonth = value ?? null; }

        /// <summary>Days of the week for weekly frequency</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string[] PatternWeeklyDays { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternWeeklyDays; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).PatternWeeklyDays = value ?? null /* arrayOf */; }

        /// <summary>Backing field for <see cref="Permissions" /> property.</summary>
        private Commvault.Powershell.Models.IIdName[] _permissions;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public Commvault.Powershell.Models.IIdName[] Permissions { get => this._permissions; set => this._permissions = value; }

        /// <summary>Backing field for <see cref="Schedule" /> property.</summary>
        private Commvault.Powershell.Models.IDcPlanJobSchedule _schedule;

        /// <summary>Describes the Schedule object for Data Classification Plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IDcPlanJobSchedule Schedule { get => (this._schedule = this._schedule ?? new Commvault.Powershell.Models.DcPlanJobSchedule()); set => this._schedule = value; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string ScheduleName { get => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).Name; set => ((Commvault.Powershell.Models.IDcPlanJobScheduleInternal)Schedule).Name = value ?? null; }

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

        /// <summary>Content indexing target app</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string TargetApplication { get => this._targetApplication; set => this._targetApplication = value; }

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

        /// <summary>Whether Threat Analysis is enabled for plan</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? ThreatAnalysis { get => this._threatAnalysis; set => this._threatAnalysis = value; }

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

        }
    }
    /// Describes the Data Classification Plan response object
    public partial interface IDcPlanDetails :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"associatedEntities",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdNameCount) })]
        Commvault.Powershell.Models.IIdNameCount[] AssociatedEntities { get; set; }
        /// <summary>Content Analyzer details for Data Classification plan</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Content Analyzer details for Data Classification plan",
        SerializedName = @"contentAnalyzer",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdName) })]
        Commvault.Powershell.Models.IIdName[] ContentAnalyzer { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"backupCopy",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IDcBackupCopyDetail) })]
        Commvault.Powershell.Models.IDcBackupCopyDetail[] ContentIndexingBackupCopy { get; set; }
        /// <summary>OCR Languages Supported By DC Plan</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"OCR Languages Supported By DC Plan",
        SerializedName = @"contentLanguage",
        PossibleTypes = new [] { typeof(string) })]
        string ContentIndexingContentLanguage { get; set; }
        /// <summary>Associated Domain of user having access to preview path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Associated Domain of user having access to preview path",
        SerializedName = @"domainName",
        PossibleTypes = new [] { typeof(string) })]
        string ContentIndexingDomainName { get; set; }
        /// <summary>Whether Exact Search is enabled or disabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Whether Exact Search is enabled or disabled",
        SerializedName = @"exactSearch",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ContentIndexingExactSearch { get; set; }
        /// <summary>Whether Image Extraction is Enabled</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Whether Image Extraction is Enabled",
        SerializedName = @"extractTextFromImage",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ContentIndexingExtractTextFromImage { get; set; }
        /// <summary>
        /// Describes the Preview path for Content Indexed Data when search type is METADATA_CONTENT_PREVIEW
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Describes the Preview path for Content Indexed Data when search type is METADATA_CONTENT_PREVIEW",
        SerializedName = @"previewPath",
        PossibleTypes = new [] { typeof(string) })]
        string ContentIndexingPreviewPath { get; set; }
        /// <summary>Describes the Content Indexing Operation Type for Data Classification Plan</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Describes the Content Indexing Operation Type for Data Classification Plan",
        SerializedName = @"searchType",
        PossibleTypes = new [] { typeof(string) })]
        string ContentIndexingSearchType { get; set; }
        /// <summary>Associated user name of user having access to preview path</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Associated user name of user having access to preview path",
        SerializedName = @"userName",
        PossibleTypes = new [] { typeof(string) })]
        string ContentIndexingUserName { get; set; }
        /// <summary>Classifier TagId For Extraction</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Classifier TagId For Extraction",
        SerializedName = @"classifiers",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdName) })]
        Commvault.Powershell.Models.IIdName[] EntityDetectionClassifiers { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"copyPrecendence",
        PossibleTypes = new [] { typeof(long) })]
        long? EntityDetectionCopyPrecendence { get; set; }
        /// <summary>Entity TagId for Extraction</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Entity TagId for Extraction",
        SerializedName = @"entities",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdName) })]
        Commvault.Powershell.Models.IIdName[] EntityDetectionEntities { get; set; }

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

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

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

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

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

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

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

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string Name { get; set; }
        /// <summary>Day on which to run the schedule, applicable for monthly, yearly</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Day on which to run the schedule, applicable for monthly, yearly",
        SerializedName = @"dayOfMonth",
        PossibleTypes = new [] { typeof(long) })]
        long? PatternDayOfMonth { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"dayOfWeek",
        PossibleTypes = new [] { typeof(string) })]
        string PatternDayOfWeek { get; set; }
        /// <summary>
        /// Exceptions to when a schedule should not run, either in dates or week of month and day
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Exceptions to when a schedule should not run, either in dates or week of month and day",
        SerializedName = @"exceptions",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IScheduleRunException) })]
        Commvault.Powershell.Models.IScheduleRunException[] PatternExceptions { get; set; }
        /// <summary>
        /// Frequency of the schedule based on schedule frequency type eg. for Hours, value 2 is 2 hours, for Minutes, 30 is 30 minutes,
        /// for Daily, 2 is 2 days. for Monthly 2 is it repeats every 2 months
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Frequency of the schedule based on schedule frequency type eg. for Hours, value 2 is 2 hours, for Minutes, 30 is 30 minutes, for Daily, 2 is 2 days. for Monthly 2 is it repeats every 2 months",
        SerializedName = @"frequency",
        PossibleTypes = new [] { typeof(long) })]
        long? PatternFrequency { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"monthOfYear",
        PossibleTypes = new [] { typeof(string) })]
        string PatternMonthOfYear { get; set; }
        /// <summary>schedule frequency type</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"schedule frequency type",
        SerializedName = @"scheduleFrequencyType",
        PossibleTypes = new [] { typeof(string) })]
        string PatternScheduleFrequencyType { get; set; }
        /// <summary>start date of schedule in epoch format</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"start date of schedule in epoch format",
        SerializedName = @"startDate",
        PossibleTypes = new [] { typeof(long) })]
        long? PatternStartDate { get; set; }
        /// <summary>start time of schedule in seconds for daily, weekly, monthly, yearly frequency</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"start time of schedule in seconds for daily, weekly, monthly, yearly frequency",
        SerializedName = @"startTime",
        PossibleTypes = new [] { typeof(long) })]
        long? PatternStartTime { get; set; }
        /// <summary>Specific week of a month</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Specific week of a month",
        SerializedName = @"weekOfMonth",
        PossibleTypes = new [] { typeof(string) })]
        string PatternWeekOfMonth { get; set; }
        /// <summary>Days of the week for weekly frequency</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Days of the week for weekly frequency",
        SerializedName = @"weeklyDays",
        PossibleTypes = new [] { typeof(string) })]
        string[] PatternWeeklyDays { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"permissions",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IIdName) })]
        Commvault.Powershell.Models.IIdName[] Permissions { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string ScheduleName { get; set; }
        /// <summary>Content indexing target app</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Content indexing target app",
        SerializedName = @"targetApplication",
        PossibleTypes = new [] { typeof(string) })]
        string TargetApplication { get; set; }
        /// <summary>Whether Threat Analysis is enabled for plan</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Description = @"Whether Threat Analysis is enabled for plan",
        SerializedName = @"threatAnalysis",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ThreatAnalysis { get; set; }

    }
    /// Describes the Data Classification Plan response object
    internal partial interface IDcPlanDetailsInternal

    {
        Commvault.Powershell.Models.IIdNameCount[] AssociatedEntities { get; set; }
        /// <summary>Content Analyzer details for Data Classification plan</summary>
        Commvault.Powershell.Models.IIdName[] ContentAnalyzer { get; set; }
        /// <summary>Fetch Content Indexing Policy Model for DC Plan</summary>
        Commvault.Powershell.Models.IGetDcPlanCipolicy ContentIndexing { get; set; }

        Commvault.Powershell.Models.IDcBackupCopyDetail[] ContentIndexingBackupCopy { get; set; }
        /// <summary>OCR Languages Supported By DC Plan</summary>
        string ContentIndexingContentLanguage { get; set; }
        /// <summary>Associated Domain of user having access to preview path</summary>
        string ContentIndexingDomainName { get; set; }
        /// <summary>Whether Exact Search is enabled or disabled</summary>
        bool? ContentIndexingExactSearch { get; set; }
        /// <summary>Whether Image Extraction is Enabled</summary>
        bool? ContentIndexingExtractTextFromImage { get; set; }
        /// <summary>DCPlanCIFileFilters</summary>
        Commvault.Powershell.Models.IDcPlanCifileFilters ContentIndexingFileFilters { get; set; }
        /// <summary>
        /// Describes the Preview path for Content Indexed Data when search type is METADATA_CONTENT_PREVIEW
        /// </summary>
        string ContentIndexingPreviewPath { get; set; }
        /// <summary>Describes the Content Indexing Operation Type for Data Classification Plan</summary>
        string ContentIndexingSearchType { get; set; }
        /// <summary>Associated user name of user having access to preview path</summary>
        string ContentIndexingUserName { get; set; }
        /// <summary>Entity Extraction Model for Data Classification Plan</summary>
        Commvault.Powershell.Models.IDcPlanEepolicy EntityDetection { get; set; }
        /// <summary>Classifier TagId For Extraction</summary>
        Commvault.Powershell.Models.IIdName[] EntityDetectionClassifiers { get; set; }

        long? EntityDetectionCopyPrecendence { get; set; }
        /// <summary>Entity TagId for Extraction</summary>
        Commvault.Powershell.Models.IIdName[] EntityDetectionEntities { get; set; }

        string[] FileFilterExcludePaths { get; set; }

        string FileFilterIncludeDocTypes { get; set; }

        long? FileFilterMaxDocSize { get; set; }

        long? FileFilterMinDocSize { get; set; }

        long? Id { get; set; }

        Commvault.Powershell.Models.IIdName IndexServer { get; set; }

        long? IndexServerId { get; set; }

        string IndexServerName { get; set; }

        string Name { get; set; }
        /// <summary>Day on which to run the schedule, applicable for monthly, yearly</summary>
        long? PatternDayOfMonth { get; set; }

        string PatternDayOfWeek { get; set; }
        /// <summary>
        /// Exceptions to when a schedule should not run, either in dates or week of month and day
        /// </summary>
        Commvault.Powershell.Models.IScheduleRunException[] PatternExceptions { get; set; }
        /// <summary>
        /// Frequency of the schedule based on schedule frequency type eg. for Hours, value 2 is 2 hours, for Minutes, 30 is 30 minutes,
        /// for Daily, 2 is 2 days. for Monthly 2 is it repeats every 2 months
        /// </summary>
        long? PatternFrequency { get; set; }

        string PatternMonthOfYear { get; set; }
        /// <summary>schedule frequency type</summary>
        string PatternScheduleFrequencyType { get; set; }
        /// <summary>start date of schedule in epoch format</summary>
        long? PatternStartDate { get; set; }
        /// <summary>start time of schedule in seconds for daily, weekly, monthly, yearly frequency</summary>
        long? PatternStartTime { get; set; }
        /// <summary>Specific week of a month</summary>
        string PatternWeekOfMonth { get; set; }
        /// <summary>Days of the week for weekly frequency</summary>
        string[] PatternWeeklyDays { get; set; }

        Commvault.Powershell.Models.IIdName[] Permissions { get; set; }
        /// <summary>Describes the Schedule object for Data Classification Plan</summary>
        Commvault.Powershell.Models.IDcPlanJobSchedule Schedule { get; set; }

        string ScheduleName { get; set; }

        Commvault.Powershell.Models.IContentIndexingFrequencyPattern SchedulePattern { get; set; }
        /// <summary>Content indexing target app</summary>
        string TargetApplication { get; set; }
        /// <summary>Whether Threat Analysis is enabled for plan</summary>
        bool? ThreatAnalysis { get; set; }

    }
}