generated/api/Models/AlertDefinitionsCreateAlertType.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>AlertDefinitionsCreateAlertType</summary>
    public partial class AlertDefinitionsCreateAlertType :
        Commvault.Powershell.Models.IAlertDefinitionsCreateAlertType,
        Commvault.Powershell.Models.IAlertDefinitionsCreateAlertTypeInternal
    {

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

        /// <summary>Defines the category of the alert</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Category { get => this._category; set => this._category = value; }

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

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

        /// <summary>Defines the criteria of the alert</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public string Criteria { get => this._criteria; set => this._criteria = 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="AlertDefinitionsCreateAlertType" /> instance.</summary>
        public AlertDefinitionsCreateAlertType()
        {

        }
    }
    /// AlertDefinitionsCreateAlertType
    public partial interface IAlertDefinitionsCreateAlertType :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>Defines the category of the alert</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Defines the category of the alert",
        SerializedName = @"category",
        PossibleTypes = new [] { typeof(string) })]
        string Category { get; set; }
        /// <summary>Defines the criteria of the alert</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"Defines the criteria of the alert",
        SerializedName = @"criteria",
        PossibleTypes = new [] { typeof(string) })]
        string Criteria { 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; }

        [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; }

    }
    /// AlertDefinitionsCreateAlertType
    internal partial interface IAlertDefinitionsCreateAlertTypeInternal

    {
        /// <summary>Defines the category of the alert</summary>
        string Category { get; set; }
        /// <summary>Defines the criteria of the alert</summary>
        string Criteria { get; set; }
        /// <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; }

    }
}