internal static QueueAnalyticsLogging DeserializeQueueAnalyticsLogging(XElement element)
        {
            string version = default;
            bool   delete  = default;
            bool   read    = default;
            bool   write   = default;
            QueueRetentionPolicy retentionPolicy = default;

            if (element.Element("Version") is XElement versionElement)
            {
                version = (string)versionElement;
            }
            if (element.Element("Delete") is XElement deleteElement)
            {
                delete = (bool)deleteElement;
            }
            if (element.Element("Read") is XElement readElement)
            {
                read = (bool)readElement;
            }
            if (element.Element("Write") is XElement writeElement)
            {
                write = (bool)writeElement;
            }
            if (element.Element("RetentionPolicy") is XElement retentionPolicyElement)
            {
                retentionPolicy = QueueRetentionPolicy.DeserializeQueueRetentionPolicy(retentionPolicyElement);
            }
            return(new QueueAnalyticsLogging(version, delete, read, write, retentionPolicy));
        }
        internal static QueueMetrics DeserializeQueueMetrics(XElement element)
        {
            string version     = default;
            bool   enabled     = default;
            bool?  includeApis = default;
            QueueRetentionPolicy retentionPolicy = default;

            if (element.Element("Version") is XElement versionElement)
            {
                version = (string)versionElement;
            }
            if (element.Element("Enabled") is XElement enabledElement)
            {
                enabled = (bool)enabledElement;
            }
            if (element.Element("IncludeAPIs") is XElement includeAPIsElement)
            {
                includeApis = (bool?)includeAPIsElement;
            }
            if (element.Element("RetentionPolicy") is XElement retentionPolicyElement)
            {
                retentionPolicy = QueueRetentionPolicy.DeserializeQueueRetentionPolicy(retentionPolicyElement);
            }
            return(new QueueMetrics(version, enabled, includeApis, retentionPolicy));
        }
 internal QueueAnalyticsLogging(
     string version,
     bool delete,
     bool read,
     bool write,
     QueueRetentionPolicy retentionPolicy)
 {
     Version         = version;
     Delete          = delete;
     Read            = read;
     Write           = write;
     RetentionPolicy = retentionPolicy;
 }