internal WebAppRuntimeSettings(string runtimeVersion, bool?remoteDebuggingSupported, AppInsightsWebAppStackSettings appInsightsSettings, GitHubActionWebAppStackSettings gitHubActionSettings, bool?isPreview, bool?isDeprecated, bool?isHidden, DateTimeOffset?endOfLifeOn, bool?isAutoUpdate, bool?isEarlyAccess) { RuntimeVersion = runtimeVersion; RemoteDebuggingSupported = remoteDebuggingSupported; AppInsightsSettings = appInsightsSettings; GitHubActionSettings = gitHubActionSettings; IsPreview = isPreview; IsDeprecated = isDeprecated; IsHidden = isHidden; EndOfLifeOn = endOfLifeOn; IsAutoUpdate = isAutoUpdate; IsEarlyAccess = isEarlyAccess; }
internal FunctionAppRuntimeSettings(string runtimeVersion, bool?remoteDebuggingSupported, AppInsightsWebAppStackSettings appInsightsSettings, GitHubActionWebAppStackSettings gitHubActionSettings, IReadOnlyDictionary <string, string> appSettingsDictionary, SiteConfigPropertiesDictionary siteConfigPropertiesDictionary, IReadOnlyList <string> supportedFunctionsExtensionVersions, bool?isPreview, bool?isDeprecated, bool?isHidden, DateTimeOffset?endOfLifeDate, bool?isAutoUpdate, bool?isEarlyAccess, bool?isDefault) { RuntimeVersion = runtimeVersion; RemoteDebuggingSupported = remoteDebuggingSupported; AppInsightsSettings = appInsightsSettings; GitHubActionSettings = gitHubActionSettings; AppSettingsDictionary = appSettingsDictionary; SiteConfigPropertiesDictionary = siteConfigPropertiesDictionary; SupportedFunctionsExtensionVersions = supportedFunctionsExtensionVersions; IsPreview = isPreview; IsDeprecated = isDeprecated; IsHidden = isHidden; EndOfLifeDate = endOfLifeDate; IsAutoUpdate = isAutoUpdate; IsEarlyAccess = isEarlyAccess; IsDefault = isDefault; }
internal static FunctionAppRuntimeSettings DeserializeFunctionAppRuntimeSettings(JsonElement element) { Optional <string> runtimeVersion = default; Optional <bool> remoteDebuggingSupported = default; Optional <AppInsightsWebAppStackSettings> appInsightsSettings = default; Optional <GitHubActionWebAppStackSettings> gitHubActionSettings = default; Optional <IReadOnlyDictionary <string, string> > appSettingsDictionary = default; Optional <SiteConfigPropertiesDictionary> siteConfigPropertiesDictionary = default; Optional <IReadOnlyList <string> > supportedFunctionsExtensionVersions = default; Optional <bool> isPreview = default; Optional <bool> isDeprecated = default; Optional <bool> isHidden = default; Optional <DateTimeOffset> endOfLifeDate = default; Optional <bool> isAutoUpdate = default; Optional <bool> isEarlyAccess = default; Optional <bool> isDefault = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("runtimeVersion")) { runtimeVersion = property.Value.GetString(); continue; } if (property.NameEquals("remoteDebuggingSupported")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } remoteDebuggingSupported = property.Value.GetBoolean(); continue; } if (property.NameEquals("appInsightsSettings")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } appInsightsSettings = AppInsightsWebAppStackSettings.DeserializeAppInsightsWebAppStackSettings(property.Value); continue; } if (property.NameEquals("gitHubActionSettings")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } gitHubActionSettings = GitHubActionWebAppStackSettings.DeserializeGitHubActionWebAppStackSettings(property.Value); continue; } if (property.NameEquals("appSettingsDictionary")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } Dictionary <string, string> dictionary = new Dictionary <string, string>(); foreach (var property0 in property.Value.EnumerateObject()) { dictionary.Add(property0.Name, property0.Value.GetString()); } appSettingsDictionary = dictionary; continue; } if (property.NameEquals("siteConfigPropertiesDictionary")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } siteConfigPropertiesDictionary = SiteConfigPropertiesDictionary.DeserializeSiteConfigPropertiesDictionary(property.Value); continue; } if (property.NameEquals("supportedFunctionsExtensionVersions")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } List <string> array = new List <string>(); foreach (var item in property.Value.EnumerateArray()) { array.Add(item.GetString()); } supportedFunctionsExtensionVersions = array; continue; } if (property.NameEquals("isPreview")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isPreview = property.Value.GetBoolean(); continue; } if (property.NameEquals("isDeprecated")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isDeprecated = property.Value.GetBoolean(); continue; } if (property.NameEquals("isHidden")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isHidden = property.Value.GetBoolean(); continue; } if (property.NameEquals("endOfLifeDate")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } endOfLifeDate = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("isAutoUpdate")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isAutoUpdate = property.Value.GetBoolean(); continue; } if (property.NameEquals("isEarlyAccess")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isEarlyAccess = property.Value.GetBoolean(); continue; } if (property.NameEquals("isDefault")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isDefault = property.Value.GetBoolean(); continue; } } return(new FunctionAppRuntimeSettings(runtimeVersion.Value, Optional.ToNullable(remoteDebuggingSupported), appInsightsSettings.Value, gitHubActionSettings.Value, Optional.ToDictionary(appSettingsDictionary), siteConfigPropertiesDictionary.Value, Optional.ToList(supportedFunctionsExtensionVersions), Optional.ToNullable(isPreview), Optional.ToNullable(isDeprecated), Optional.ToNullable(isHidden), Optional.ToNullable(endOfLifeDate), Optional.ToNullable(isAutoUpdate), Optional.ToNullable(isEarlyAccess), Optional.ToNullable(isDefault))); }
internal static WebAppRuntimeSettings DeserializeWebAppRuntimeSettings(JsonElement element) { Optional <string> runtimeVersion = default; Optional <bool> remoteDebuggingSupported = default; Optional <AppInsightsWebAppStackSettings> appInsightsSettings = default; Optional <GitHubActionWebAppStackSettings> gitHubActionSettings = default; Optional <bool> isPreview = default; Optional <bool> isDeprecated = default; Optional <bool> isHidden = default; Optional <DateTimeOffset> endOfLifeDate = default; Optional <bool> isAutoUpdate = default; Optional <bool> isEarlyAccess = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("runtimeVersion")) { runtimeVersion = property.Value.GetString(); continue; } if (property.NameEquals("remoteDebuggingSupported")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } remoteDebuggingSupported = property.Value.GetBoolean(); continue; } if (property.NameEquals("appInsightsSettings")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } appInsightsSettings = AppInsightsWebAppStackSettings.DeserializeAppInsightsWebAppStackSettings(property.Value); continue; } if (property.NameEquals("gitHubActionSettings")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } gitHubActionSettings = GitHubActionWebAppStackSettings.DeserializeGitHubActionWebAppStackSettings(property.Value); continue; } if (property.NameEquals("isPreview")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isPreview = property.Value.GetBoolean(); continue; } if (property.NameEquals("isDeprecated")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isDeprecated = property.Value.GetBoolean(); continue; } if (property.NameEquals("isHidden")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isHidden = property.Value.GetBoolean(); continue; } if (property.NameEquals("endOfLifeDate")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } endOfLifeDate = property.Value.GetDateTimeOffset("O"); continue; } if (property.NameEquals("isAutoUpdate")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isAutoUpdate = property.Value.GetBoolean(); continue; } if (property.NameEquals("isEarlyAccess")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } isEarlyAccess = property.Value.GetBoolean(); continue; } } return(new WebAppRuntimeSettings(runtimeVersion.Value, Optional.ToNullable(remoteDebuggingSupported), appInsightsSettings.Value, gitHubActionSettings.Value, Optional.ToNullable(isPreview), Optional.ToNullable(isDeprecated), Optional.ToNullable(isHidden), Optional.ToNullable(endOfLifeDate), Optional.ToNullable(isAutoUpdate), Optional.ToNullable(isEarlyAccess))); }