generated/api/Models/AlertDefinitionsEditAlertCriteria.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>AlertDefinitionsEditAlertCriteria</summary>
    public partial class AlertDefinitionsEditAlertCriteria :
        Commvault.Powershell.Models.IAlertDefinitionsEditAlertCriteria,
        Commvault.Powershell.Models.IAlertDefinitionsEditAlertCriteriaInternal
    {

        /// <summary>Internal Acessors for NotificationCriteria</summary>
        Commvault.Powershell.Models.INotificationCriteriaOptions Commvault.Powershell.Models.IAlertDefinitionsEditAlertCriteriaInternal.NotificationCriteria { get => (this._notificationCriteria = this._notificationCriteria ?? new Commvault.Powershell.Models.NotificationCriteriaOptions()); set { {_notificationCriteria = value;} } }

        /// <summary>Backing field for <see cref="NotificationCriteria" /> property.</summary>
        private Commvault.Powershell.Models.INotificationCriteriaOptions _notificationCriteria;

        /// <summary>NotificationCriteriaOptions</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.INotificationCriteriaOptions NotificationCriteria { get => (this._notificationCriteria = this._notificationCriteria ?? new Commvault.Powershell.Models.NotificationCriteriaOptions()); set => this._notificationCriteria = value; }

        /// <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.INotificationCriteriaOptionsInternal)NotificationCriteria).DelayTime; set => ((Commvault.Powershell.Models.INotificationCriteriaOptionsInternal)NotificationCriteria).DelayTime = 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.INotificationCriteriaOptionsInternal)NotificationCriteria).PersistTime; set => ((Commvault.Powershell.Models.INotificationCriteriaOptionsInternal)NotificationCriteria).PersistTime = 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.INotificationCriteriaOptionsInternal)NotificationCriteria).Value; set => ((Commvault.Powershell.Models.INotificationCriteriaOptionsInternal)NotificationCriteria).Value = value ?? default(long); }

        /// <summary>Backing field for <see cref="ParamsList" /> property.</summary>
        private System.Collections.Generic.List<Commvault.Powershell.Models.IAlertDefinitionsCriteriaParams> _paramsList;

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

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

        }
    }
    /// AlertDefinitionsEditAlertCriteria
    public partial interface IAlertDefinitionsEditAlertCriteria :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <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; }

        [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> ParamsList { get; set; }

    }
    /// AlertDefinitionsEditAlertCriteria
    internal partial interface IAlertDefinitionsEditAlertCriteriaInternal

    {
        /// <summary>NotificationCriteriaOptions</summary>
        Commvault.Powershell.Models.INotificationCriteriaOptions NotificationCriteria { 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; }

        System.Collections.Generic.List<Commvault.Powershell.Models.IAlertDefinitionsCriteriaParams> ParamsList { get; set; }

    }
}