// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

// <auto-generated/>

#nullable disable

using System;
using Azure.Core;

namespace NotificationHubs.Models
{
    /// <summary> Represents an ADM template based Azure Notification Hubs registration description. </summary>
    public partial class AdmTemplateRegistrationDescription
    {
        /// <summary> Initializes a new instance of AdmTemplateRegistrationDescription. </summary>
        /// <param name="admRegistrationId"></param>
        /// <param name="bodyTemplate"></param>
        /// <exception cref="ArgumentNullException"> <paramref name="admRegistrationId"/> or <paramref name="bodyTemplate"/> is null. </exception>
        public AdmTemplateRegistrationDescription(string admRegistrationId, string bodyTemplate)
        {
            Argument.AssertNotNull(admRegistrationId, nameof(admRegistrationId));
            Argument.AssertNotNull(bodyTemplate, nameof(bodyTemplate));

            AdmRegistrationId = admRegistrationId;
            BodyTemplate = bodyTemplate;
        }
        /// <summary> Initializes a new instance of AdmTemplateRegistrationDescription. </summary>
        /// <param name="admRegistrationId"></param>
        /// <param name="bodyTemplate"></param>
        /// <param name="templateName"></param>
        internal AdmTemplateRegistrationDescription(string admRegistrationId, string bodyTemplate, string templateName)
        {
            AdmRegistrationId = admRegistrationId;
            BodyTemplate = bodyTemplate;
            TemplateName = templateName;
        }

        public string AdmRegistrationId { get; set; }

        public string BodyTemplate { get; set; }

        public string TemplateName { get; set; }
    }
}
