//------------------------------------------------------------------------------
// <auto-generated>
// 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.
// </auto-generated>
//------------------------------------------------------------------------------
#nullable enable
namespace LukeHagar.PlexAPI.SDK.Models.Requests
{
    using LukeHagar.PlexAPI.SDK.Models.Requests;
    using LukeHagar.PlexAPI.SDK.Utils;
    using Newtonsoft.Json;
    using System.Collections.Generic;
    
    public class MediaContainer
    {

        [JsonProperty("size")]
        public double? Size { get; set; }

        [JsonProperty("allowCameraUpload")]
        public bool? AllowCameraUpload { get; set; }

        [JsonProperty("allowChannelAccess")]
        public bool? AllowChannelAccess { get; set; }

        [JsonProperty("allowMediaDeletion")]
        public bool? AllowMediaDeletion { get; set; }

        [JsonProperty("allowSharing")]
        public bool? AllowSharing { get; set; }

        [JsonProperty("allowSync")]
        public bool? AllowSync { get; set; }

        [JsonProperty("allowTuners")]
        public bool? AllowTuners { get; set; }

        [JsonProperty("backgroundProcessing")]
        public bool? BackgroundProcessing { get; set; }

        [JsonProperty("certificate")]
        public bool? Certificate { get; set; }

        [JsonProperty("companionProxy")]
        public bool? CompanionProxy { get; set; }

        [JsonProperty("countryCode")]
        public string? CountryCode { get; set; }

        [JsonProperty("diagnostics")]
        public string? Diagnostics { get; set; }

        [JsonProperty("eventStream")]
        public bool? EventStream { get; set; }

        [JsonProperty("friendlyName")]
        public string? FriendlyName { get; set; }

        [JsonProperty("hubSearch")]
        public bool? HubSearch { get; set; }

        [JsonProperty("itemClusters")]
        public bool? ItemClusters { get; set; }

        [JsonProperty("livetv")]
        public double? Livetv { get; set; }

        [JsonProperty("machineIdentifier")]
        public string? MachineIdentifier { get; set; }

        [JsonProperty("mediaProviders")]
        public bool? MediaProviders { get; set; }

        [JsonProperty("multiuser")]
        public bool? Multiuser { get; set; }

        [JsonProperty("musicAnalysis")]
        public double? MusicAnalysis { get; set; }

        [JsonProperty("myPlex")]
        public bool? MyPlex { get; set; }

        [JsonProperty("myPlexMappingState")]
        public string? MyPlexMappingState { get; set; }

        [JsonProperty("myPlexSigninState")]
        public string? MyPlexSigninState { get; set; }

        [JsonProperty("myPlexSubscription")]
        public bool? MyPlexSubscription { get; set; }

        [JsonProperty("myPlexUsername")]
        public string? MyPlexUsername { get; set; }

        [JsonProperty("offlineTranscode")]
        public double? OfflineTranscode { get; set; }

        [JsonProperty("ownerFeatures")]
        public string? OwnerFeatures { get; set; }

        [JsonProperty("photoAutoTag")]
        public bool? PhotoAutoTag { get; set; }

        [JsonProperty("platform")]
        public string? Platform { get; set; }

        [JsonProperty("platformVersion")]
        public string? PlatformVersion { get; set; }

        [JsonProperty("pluginHost")]
        public bool? PluginHost { get; set; }

        [JsonProperty("pushNotifications")]
        public bool? PushNotifications { get; set; }

        [JsonProperty("readOnlyLibraries")]
        public bool? ReadOnlyLibraries { get; set; }

        [JsonProperty("streamingBrainABRVersion")]
        public double? StreamingBrainABRVersion { get; set; }

        [JsonProperty("streamingBrainVersion")]
        public double? StreamingBrainVersion { get; set; }

        [JsonProperty("sync")]
        public bool? Sync { get; set; }

        [JsonProperty("transcoderActiveVideoSessions")]
        public double? TranscoderActiveVideoSessions { get; set; }

        [JsonProperty("transcoderAudio")]
        public bool? TranscoderAudio { get; set; }

        [JsonProperty("transcoderLyrics")]
        public bool? TranscoderLyrics { get; set; }

        [JsonProperty("transcoderPhoto")]
        public bool? TranscoderPhoto { get; set; }

        [JsonProperty("transcoderSubtitles")]
        public bool? TranscoderSubtitles { get; set; }

        [JsonProperty("transcoderVideo")]
        public bool? TranscoderVideo { get; set; }

        [JsonProperty("transcoderVideoBitrates")]
        public string? TranscoderVideoBitrates { get; set; }

        [JsonProperty("transcoderVideoQualities")]
        public string? TranscoderVideoQualities { get; set; }

        [JsonProperty("transcoderVideoResolutions")]
        public string? TranscoderVideoResolutions { get; set; }

        [JsonProperty("updatedAt")]
        public double? UpdatedAt { get; set; }

        [JsonProperty("updater")]
        public bool? Updater { get; set; }

        [JsonProperty("version")]
        public string? Version { get; set; }

        [JsonProperty("voiceSearch")]
        public bool? VoiceSearch { get; set; }

        [JsonProperty("Directory")]
        public List<Directory>? Directory { get; set; }
    }
}