internal static LogSettings DeserializeLogSettings(JsonElement element)
        {
            Optional <object> enableCopyActivityLog = default;
            Optional <CopyActivityLogSettings> copyActivityLogSettings = default;
            LogLocationSettings logLocationSettings = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("enableCopyActivityLog"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    enableCopyActivityLog = property.Value.GetObject();
                    continue;
                }
                if (property.NameEquals("copyActivityLogSettings"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        property.ThrowNonNullablePropertyIsNull();
                        continue;
                    }
                    copyActivityLogSettings = CopyActivityLogSettings.DeserializeCopyActivityLogSettings(property.Value);
                    continue;
                }
                if (property.NameEquals("logLocationSettings"))
                {
                    logLocationSettings = LogLocationSettings.DeserializeLogLocationSettings(property.Value);
                    continue;
                }
            }
            return(new LogSettings(enableCopyActivityLog.Value, copyActivityLogSettings.Value, logLocationSettings));
        }
 internal LogSettings(object enableCopyActivityLog, CopyActivityLogSettings copyActivityLogSettings, LogLocationSettings logLocationSettings)
 {
     EnableCopyActivityLog   = enableCopyActivityLog;
     CopyActivityLogSettings = copyActivityLogSettings;
     LogLocationSettings     = logLocationSettings;
 }