//------------------------------------------------------------------------------
//
// This code was generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
//
// Changes to this file may cause incorrect behavior and will be lost when
// the code is regenerated.
//
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Components
{
using LukeHagar.PlexAPI.SDK.Models.Components;
using LukeHagar.PlexAPI.SDK.Utils;
using Newtonsoft.Json;
///
/// A configuration setting or preference
///
public class Setting
{
///
/// The type of the value of this setting
///
[JsonProperty("type")]
public Models.Components.Type? Type { get; set; }
///
/// The default value of this setting
///
[JsonProperty("default", NullValueHandling = NullValueHandling.Include)]
public Default? Default { get; set; }
///
/// Whether the setting is considered advanced and normally hidden from the user
///
[JsonProperty("advanced")]
public bool? Advanced { get; set; }
///
/// The possible values for this setting if restricted. The list is `|` separated with `value:name` entries.
///
[JsonProperty("enumValues")]
public string? EnumValues { get; set; }
///
/// The group name of this setting to aid in display of a hierarchy
///
[JsonProperty("group")]
public string? Group { get; set; }
///
/// Whether the setting is hidden or not
///
[JsonProperty("hidden")]
public bool? Hidden { get; set; }
///
/// The query parameter name for this setting
///
[JsonProperty("id")]
public string? Id { get; set; }
///
/// A user-friendly name for the setting
///
[JsonProperty("label")]
public string? Label { get; set; }
///
/// A description of the setting
///
[JsonProperty("summary")]
public string? Summary { get; set; }
///
/// The current value of this setting
///
[JsonProperty("value", NullValueHandling = NullValueHandling.Include)]
public Value? Value { get; set; }
}
}