generated/api/Models/AlertDetailsSummary.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>AlertDetailsSummary</summary>
    public partial class AlertDetailsSummary :
        Commvault.Powershell.Models.IAlertDetailsSummary,
        Commvault.Powershell.Models.IAlertDetailsSummaryInternal
    {

        /// <summary>Backing field for <see cref="Category" /> property.</summary>
        private Commvault.Powershell.Models.IAlertCategoryIdName1 _category;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IAlertCategoryIdName1 Category { get => (this._category = this._category ?? new Commvault.Powershell.Models.AlertCategoryIdName1()); set => this._category = value; }

        /// <summary>id of the category of the alert definition</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? CategoryId { get => ((Commvault.Powershell.Models.IAlertCategoryIdName1Internal)Category).Id; set => ((Commvault.Powershell.Models.IAlertCategoryIdName1Internal)Category).Id = value ?? default(long); }

        /// <summary>category of the alert definition</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CategoryName { get => ((Commvault.Powershell.Models.IAlertCategoryIdName1Internal)Category).Name; set => ((Commvault.Powershell.Models.IAlertCategoryIdName1Internal)Category).Name = value ?? null; }

        /// <summary>Internal Acessors for Category</summary>
        Commvault.Powershell.Models.IAlertCategoryIdName1 Commvault.Powershell.Models.IAlertDetailsSummaryInternal.Category { get => (this._category = this._category ?? new Commvault.Powershell.Models.AlertCategoryIdName1()); set { {_category = value;} } }

        /// <summary>Internal Acessors for Criteria</summary>
        Commvault.Powershell.Models.IAlertCriteriaIdName1 Commvault.Powershell.Models.IAlertDetailsSummaryInternal.Criteria { get => (this._criteria = this._criteria ?? new Commvault.Powershell.Models.AlertCriteriaIdName1()); set { {_criteria = value;} } }

        /// <summary>Internal Acessors for CriterionNotificationCriteria</summary>
        Commvault.Powershell.Models.INotificationCriteriaOptions Commvault.Powershell.Models.IAlertDetailsSummaryInternal.CriterionNotificationCriteria { get => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).NotificationCriteria; set => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).NotificationCriteria = value; }

        /// <summary>Internal Acessors for Type</summary>
        Commvault.Powershell.Models.IAlertTypeIdName1 Commvault.Powershell.Models.IAlertDetailsSummaryInternal.Type { get => (this._type = this._type ?? new Commvault.Powershell.Models.AlertTypeIdName1()); set { {_type = value;} } }

        /// <summary>Backing field for <see cref="Criteria" /> property.</summary>
        private Commvault.Powershell.Models.IAlertCriteriaIdName1 _criteria;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IAlertCriteriaIdName1 Criteria { get => (this._criteria = this._criteria ?? new Commvault.Powershell.Models.AlertCriteriaIdName1()); set => this._criteria = value; }

        /// <summary>Backing field for <see cref="CriteriaList" /> property.</summary>
        private System.Collections.Generic.List<Commvault.Powershell.Models.IAlertCriteriaIdName1> _criteriaList;

        /// <summary>List of alert criteria</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public System.Collections.Generic.List<Commvault.Powershell.Models.IAlertCriteriaIdName1> CriteriaList { get => this._criteriaList; set => this._criteriaList = value; }

        /// <summary>id of the criteria of detection for the alert definition</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? CriterionId { get => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).Id; set => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).Id = value ?? default(long); }

        /// <summary>criteria of detection for the alert definition</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CriterionName { get => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).Name; set => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).Name = value ?? null; }

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public System.Collections.Generic.List<Commvault.Powershell.Models.IAlertDefinitionsCriteriaParams> CriterionParamsList { get => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).ParamsList; set => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).ParamsList = value ?? null /* arrayOf */; }

        /// <summary>
        /// Delayed time in seconds when the notification criteria value contains delayed flag
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? NotificationCriterionDelayTime { get => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).NotificationCriterionDelayTime; set => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).NotificationCriterionDelayTime = value ?? default(long); }

        /// <summary>
        /// Persisting time in seconds when the notification criteria value contains repeated flag
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? NotificationCriterionPersistTime { get => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).NotificationCriterionPersistTime; set => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).NotificationCriterionPersistTime = value ?? default(long); }

        /// <summary>
        /// Bit flag indicating notification criteria value. 1 means immediate, 2 means repeated and 8 means delayed
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? NotificationCriterionValue { get => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).NotificationCriterionValue; set => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).NotificationCriterionValue = value ?? default(long); }

        /// <summary>Backing field for <see cref="Type" /> property.</summary>
        private Commvault.Powershell.Models.IAlertTypeIdName1 _type;

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IAlertTypeIdName1 Type { get => (this._type = this._type ?? new Commvault.Powershell.Models.AlertTypeIdName1()); set => this._type = value; }

        /// <summary>id of the alert definition</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? TypeId { get => ((Commvault.Powershell.Models.IAlertTypeIdName1Internal)Type).Id; set => ((Commvault.Powershell.Models.IAlertTypeIdName1Internal)Type).Id = value ?? default(long); }

        /// <summary>type of the alert definitions</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string TypeName { get => ((Commvault.Powershell.Models.IAlertTypeIdName1Internal)Type).Name; set => ((Commvault.Powershell.Models.IAlertTypeIdName1Internal)Type).Name = value ?? null; }

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

        }
    }
    /// AlertDetailsSummary
    public partial interface IAlertDetailsSummary :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>id of the category of the alert definition</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"id of the category of the alert definition",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? CategoryId { get; set; }
        /// <summary>category of the alert definition</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"category of the alert definition",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string CategoryName { get; set; }
        /// <summary>List of alert criteria</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"List of alert criteria",
        SerializedName = @"criteriaList",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IAlertCriteriaIdName1) })]
        System.Collections.Generic.List<Commvault.Powershell.Models.IAlertCriteriaIdName1> CriteriaList { get; set; }
        /// <summary>id of the criteria of detection for the alert definition</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"id of the criteria of detection for the alert definition",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? CriterionId { get; set; }
        /// <summary>criteria of detection for the alert definition</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"criteria of detection for the alert definition",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string CriterionName { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"",
        SerializedName = @"paramsList",
        PossibleTypes = new [] { typeof(Commvault.Powershell.Models.IAlertDefinitionsCriteriaParams) })]
        System.Collections.Generic.List<Commvault.Powershell.Models.IAlertDefinitionsCriteriaParams> CriterionParamsList { get; set; }
        /// <summary>
        /// Delayed time in seconds when the notification criteria value contains delayed flag
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Delayed time in seconds when the notification criteria value contains delayed flag",
        SerializedName = @"delayTime",
        PossibleTypes = new [] { typeof(long) })]
        long? NotificationCriterionDelayTime { get; set; }
        /// <summary>
        /// Persisting time in seconds when the notification criteria value contains repeated flag
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Persisting time in seconds when the notification criteria value contains repeated flag",
        SerializedName = @"persistTime",
        PossibleTypes = new [] { typeof(long) })]
        long? NotificationCriterionPersistTime { get; set; }
        /// <summary>
        /// Bit flag indicating notification criteria value. 1 means immediate, 2 means repeated and 8 means delayed
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Bit flag indicating notification criteria value. 1 means immediate, 2 means repeated and 8 means delayed",
        SerializedName = @"value",
        PossibleTypes = new [] { typeof(long) })]
        long? NotificationCriterionValue { get; set; }
        /// <summary>id of the alert definition</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"id of the alert definition",
        SerializedName = @"id",
        PossibleTypes = new [] { typeof(long) })]
        long? TypeId { get; set; }
        /// <summary>type of the alert definitions</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"type of the alert definitions",
        SerializedName = @"name",
        PossibleTypes = new [] { typeof(string) })]
        string TypeName { get; set; }

    }
    /// AlertDetailsSummary
    internal partial interface IAlertDetailsSummaryInternal

    {
        Commvault.Powershell.Models.IAlertCategoryIdName1 Category { get; set; }
        /// <summary>id of the category of the alert definition</summary>
        long? CategoryId { get; set; }
        /// <summary>category of the alert definition</summary>
        string CategoryName { get; set; }

        Commvault.Powershell.Models.IAlertCriteriaIdName1 Criteria { get; set; }
        /// <summary>List of alert criteria</summary>
        System.Collections.Generic.List<Commvault.Powershell.Models.IAlertCriteriaIdName1> CriteriaList { get; set; }
        /// <summary>id of the criteria of detection for the alert definition</summary>
        long? CriterionId { get; set; }
        /// <summary>criteria of detection for the alert definition</summary>
        string CriterionName { get; set; }
        /// <summary>NotificationCriteriaOptions</summary>
        Commvault.Powershell.Models.INotificationCriteriaOptions CriterionNotificationCriteria { get; set; }

        System.Collections.Generic.List<Commvault.Powershell.Models.IAlertDefinitionsCriteriaParams> CriterionParamsList { get; set; }
        /// <summary>
        /// Delayed time in seconds when the notification criteria value contains delayed flag
        /// </summary>
        long? NotificationCriterionDelayTime { get; set; }
        /// <summary>
        /// Persisting time in seconds when the notification criteria value contains repeated flag
        /// </summary>
        long? NotificationCriterionPersistTime { get; set; }
        /// <summary>
        /// Bit flag indicating notification criteria value. 1 means immediate, 2 means repeated and 8 means delayed
        /// </summary>
        long? NotificationCriterionValue { get; set; }

        Commvault.Powershell.Models.IAlertTypeIdName1 Type { get; set; }
        /// <summary>id of the alert definition</summary>
        long? TypeId { get; set; }
        /// <summary>type of the alert definitions</summary>
        string TypeName { get; set; }

    }
}