generated/api/Models/AlertTypeItem.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;

    public partial class AlertTypeItem :
        Commvault.Powershell.Models.IAlertTypeItem,
        Commvault.Powershell.Models.IAlertTypeItemInternal
    {

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

        /// <summary>
        /// bit flag indicating actions allowed on this alert type. 128 means subscription support is present.
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? ActionsAllowed { get => this._actionsAllowed; set => this._actionsAllowed = value; }

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

        /// <summary>category utilized in alert definition creation</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IAlertCategoryIdNameValue1 Category { get => (this._category = this._category ?? new Commvault.Powershell.Models.AlertCategoryIdNameValue1()); set => this._category = value; }

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

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

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

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

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

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CategoryValue { get => ((Commvault.Powershell.Models.IAlertCategoryIdNameValue1Internal)Category).Value; set => ((Commvault.Powershell.Models.IAlertCategoryIdNameValue1Internal)Category).Value = value ?? null; }

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

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

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

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

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

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

        /// <summary>criteria utilized in alert definition creation</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        internal Commvault.Powershell.Models.IAlertCriteriaIdNameValue1 Criteria { get => (this._criteria = this._criteria ?? new Commvault.Powershell.Models.AlertCriteriaIdNameValue1()); set => this._criteria = 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; }

        /// <summary>
        /// Delayed time in seconds when the notification criteria value contains delayed flag
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public long? CriterionNotificationCriterionDelayTime { 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? CriterionNotificationCriterionPersistTime { 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? CriterionNotificationCriterionValue { get => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).NotificationCriterionValue; set => ((Commvault.Powershell.Models.IAlertCriteriaIdName1Internal)Criteria).NotificationCriterionValue = value ?? default(long); }

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

        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Inlined)]
        public string CriterionValue { get => ((Commvault.Powershell.Models.IAlertCriteriaIdNameValue1Internal)Criteria).Value; set => ((Commvault.Powershell.Models.IAlertCriteriaIdNameValue1Internal)Criteria).Value = value ?? null; }

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

        /// <summary>
        /// Bit flag indicating notification criteria value. 1 means immediate, 2 means repeated and 8 means delayed
        /// </summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public long? NotificationOptionsAllowed { get => this._notificationOptionsAllowed; set => this._notificationOptionsAllowed = value; }

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

        /// <summary>whether process discovered virtual machines enabled or not</summary>
        [Commvault.Powershell.Origin(Commvault.Powershell.PropertyOrigin.Owned)]
        public bool? ProcessDiscoveredVMS { get => this._processDiscoveredVMS; set => this._processDiscoveredVMS = value; }

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

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

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

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

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

        }
    }
    public partial interface IAlertTypeItem :
        Commvault.Powershell.Runtime.IJsonSerializable
    {
        /// <summary>
        /// bit flag indicating actions allowed on this alert type. 128 means subscription support is present.
        /// </summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"bit flag indicating actions allowed on this alert type. 128 means subscription support is present.",
        SerializedName = @"actionsAllowed",
        PossibleTypes = new [] { typeof(long) })]
        long? ActionsAllowed { 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? CategoryId { 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 CategoryName { get; set; }
        /// <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? CategoryTypeId { 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 CategoryTypeName { get; set; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"",
        SerializedName = @"value",
        PossibleTypes = new [] { typeof(string) })]
        string CategoryValue { 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; }
        /// <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? CriterionNotificationCriterionDelayTime { 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? CriterionNotificationCriterionPersistTime { 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? CriterionNotificationCriterionValue { 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; }

        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"",
        SerializedName = @"value",
        PossibleTypes = new [] { typeof(string) })]
        string CriterionValue { 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 = @"notificationOptionsAllowed",
        PossibleTypes = new [] { typeof(long) })]
        long? NotificationOptionsAllowed { get; set; }
        /// <summary>whether process discovered virtual machines enabled or not</summary>
        [Commvault.Powershell.Runtime.Info(
        Required = false,
        ReadOnly = false,
        Read = true,
        Create = true,
        Update = true,
        Description = @"whether process discovered virtual machines enabled or not",
        SerializedName = @"processDiscoveredVMs",
        PossibleTypes = new [] { typeof(bool) })]
        bool? ProcessDiscoveredVMS { get; set; }

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

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

    }
    internal partial interface IAlertTypeItemInternal

    {
        /// <summary>
        /// bit flag indicating actions allowed on this alert type. 128 means subscription support is present.
        /// </summary>
        long? ActionsAllowed { get; set; }
        /// <summary>category utilized in alert definition creation</summary>
        Commvault.Powershell.Models.IAlertCategoryIdNameValue1 Category { get; set; }
        /// <summary>id of the alert definition</summary>
        long? CategoryId { get; set; }
        /// <summary>type of the alert definitions</summary>
        string CategoryName { get; set; }

        Commvault.Powershell.Models.IAlertCategoryIdName1 CategoryType { get; set; }
        /// <summary>id of the category of the alert definition</summary>
        long? CategoryTypeId { get; set; }
        /// <summary>category of the alert definition</summary>
        string CategoryTypeName { get; set; }

        string CategoryValue { get; set; }
        /// <summary>criteria utilized in alert definition creation</summary>
        Commvault.Powershell.Models.IAlertCriteriaIdNameValue1 Criteria { 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; }
        /// <summary>
        /// Delayed time in seconds when the notification criteria value contains delayed flag
        /// </summary>
        long? CriterionNotificationCriterionDelayTime { get; set; }
        /// <summary>
        /// Persisting time in seconds when the notification criteria value contains repeated flag
        /// </summary>
        long? CriterionNotificationCriterionPersistTime { get; set; }
        /// <summary>
        /// Bit flag indicating notification criteria value. 1 means immediate, 2 means repeated and 8 means delayed
        /// </summary>
        long? CriterionNotificationCriterionValue { get; set; }

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

        string CriterionValue { get; set; }
        /// <summary>
        /// Bit flag indicating notification criteria value. 1 means immediate, 2 means repeated and 8 means delayed
        /// </summary>
        long? NotificationOptionsAllowed { get; set; }
        /// <summary>whether process discovered virtual machines enabled or not</summary>
        bool? ProcessDiscoveredVMS { get; set; }

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

        long? QueryDetailId { get; set; }

        string QueryDetailName { get; set; }

    }
}