using System; using System.Text; using System.Collections; using System.Collections.Generic; using System.Runtime.Serialization; using Newtonsoft.Json; namespace IO.Swagger.Model { /// /// /// [DataContract] public class AppVersionUpdate { /// /// The Version Name /// /// The Version Name [DataMember(Name="name", EmitDefaultValue=false)] [JsonProperty(PropertyName = "name")] public string Name { get; set; } /// /// If the Version is active currently in the system /// /// If the Version is active currently in the system [DataMember(Name="is_active", EmitDefaultValue=false)] [JsonProperty(PropertyName = "is_active")] public bool? IsActive { get; set; } /// /// The Repository where the image is (i.e. 'harbor.edgegap.com' or 'docker.io') /// /// The Repository where the image is (i.e. 'harbor.edgegap.com' or 'docker.io') [DataMember(Name="docker_repository", EmitDefaultValue=false)] [JsonProperty(PropertyName = "docker_repository")] public string DockerRepository { get; set; } /// /// The name of your image (i.e. 'edgegap/demo') /// /// The name of your image (i.e. 'edgegap/demo') [DataMember(Name="docker_image", EmitDefaultValue=false)] [JsonProperty(PropertyName = "docker_image")] public string DockerImage { get; set; } /// /// The tag of your image (i.e. '0.1.2') /// /// The tag of your image (i.e. '0.1.2') [DataMember(Name="docker_tag", EmitDefaultValue=false)] [JsonProperty(PropertyName = "docker_tag")] public string DockerTag { get; set; } /// /// The username to access the docker repository /// /// The username to access the docker repository [DataMember(Name="private_username", EmitDefaultValue=false)] [JsonProperty(PropertyName = "private_username")] public string PrivateUsername { get; set; } /// /// The Private Password or Token of the username (We recommend to use a token) /// /// The Private Password or Token of the username (We recommend to use a token) [DataMember(Name="private_token", EmitDefaultValue=false)] [JsonProperty(PropertyName = "private_token")] public string PrivateToken { get; set; } /// /// Units of vCPU needed (1024= 1vcpu) /// /// Units of vCPU needed (1024= 1vcpu) [DataMember(Name="req_cpu", EmitDefaultValue=false)] [JsonProperty(PropertyName = "req_cpu")] public int? ReqCpu { get; set; } /// /// Units of memory in MB needed (1024 = 1GB) /// /// Units of memory in MB needed (1024 = 1GB) [DataMember(Name="req_memory", EmitDefaultValue=false)] [JsonProperty(PropertyName = "req_memory")] public int? ReqMemory { get; set; } /// /// Units of GPU needed (1024= 1 GPU) /// /// Units of GPU needed (1024= 1 GPU) [DataMember(Name="req_video", EmitDefaultValue=false)] [JsonProperty(PropertyName = "req_video")] public int? ReqVideo { get; set; } /// /// The Max duration of the game /// /// The Max duration of the game [DataMember(Name="max_duration", EmitDefaultValue=false)] [JsonProperty(PropertyName = "max_duration")] public int? MaxDuration { get; set; } /// /// Allow to inject ASA Variables /// /// Allow to inject ASA Variables [DataMember(Name="use_telemetry", EmitDefaultValue=false)] [JsonProperty(PropertyName = "use_telemetry")] public bool? UseTelemetry { get; set; } /// /// Allow to inject Context Variables /// /// Allow to inject Context Variables [DataMember(Name="inject_context_env", EmitDefaultValue=false)] [JsonProperty(PropertyName = "inject_context_env")] public bool? InjectContextEnv { get; set; } /// /// ACL Protection is active /// /// ACL Protection is active [DataMember(Name="whitelisting_active", EmitDefaultValue=false)] [JsonProperty(PropertyName = "whitelisting_active")] public bool? WhitelistingActive { get; set; } /// /// Allow faster deployment by caching your container image in every Edge site /// /// Allow faster deployment by caching your container image in every Edge site [DataMember(Name="force_cache", EmitDefaultValue=false)] [JsonProperty(PropertyName = "force_cache")] public bool? ForceCache { get; set; } /// /// Start of the preferred interval for caching your container /// /// Start of the preferred interval for caching your container [DataMember(Name="cache_min_hour", EmitDefaultValue=false)] [JsonProperty(PropertyName = "cache_min_hour")] public int? CacheMinHour { get; set; } /// /// End of the preferred interval for caching your container /// /// End of the preferred interval for caching your container [DataMember(Name="cache_max_hour", EmitDefaultValue=false)] [JsonProperty(PropertyName = "cache_max_hour")] public int? CacheMaxHour { get; set; } /// /// Estimated maximum time in seconds to deploy, after this time we will consider it not working and retry. /// /// Estimated maximum time in seconds to deploy, after this time we will consider it not working and retry. [DataMember(Name="time_to_deploy", EmitDefaultValue=false)] [JsonProperty(PropertyName = "time_to_deploy")] public int? TimeToDeploy { get; set; } /// /// Enable every location available. By enabling this, your request will use every potential location, including those which may require a longer time to deploy. This means that your application may take up to 2 minutes before being up and ready. This functionality does not support ACL and Caching at the moment. /// /// Enable every location available. By enabling this, your request will use every potential location, including those which may require a longer time to deploy. This means that your application may take up to 2 minutes before being up and ready. This functionality does not support ACL and Caching at the moment. [DataMember(Name="enable_all_locations", EmitDefaultValue=false)] [JsonProperty(PropertyName = "enable_all_locations")] public bool? EnableAllLocations { get; set; } /// /// Parameters defining the behavior of a session-based app version. If set, the app is considered to be session-based. /// /// Parameters defining the behavior of a session-based app version. If set, the app is considered to be session-based. [DataMember(Name="session_config", EmitDefaultValue=false)] [JsonProperty(PropertyName = "session_config")] public AppVersionUpdateSessionConfig SessionConfig { get; set; } /// /// Gets or Sets Ports /// [DataMember(Name="ports", EmitDefaultValue=false)] [JsonProperty(PropertyName = "ports")] public List Ports { get; set; } /// /// Gets or Sets Probe /// [DataMember(Name="probe", EmitDefaultValue=false)] [JsonProperty(PropertyName = "probe")] public AppVersionProbe Probe { get; set; } /// /// Gets or Sets Envs /// [DataMember(Name="envs", EmitDefaultValue=false)] [JsonProperty(PropertyName = "envs")] public List Envs { get; set; } /// /// Get the string presentation of the object /// /// String presentation of the object public override string ToString() { StringBuilder sb = new StringBuilder(); sb.Append("class AppVersionUpdate {\n"); sb.Append(" Name: ").Append(Name).Append("\n"); sb.Append(" IsActive: ").Append(IsActive).Append("\n"); sb.Append(" DockerRepository: ").Append(DockerRepository).Append("\n"); sb.Append(" DockerImage: ").Append(DockerImage).Append("\n"); sb.Append(" DockerTag: ").Append(DockerTag).Append("\n"); sb.Append(" PrivateUsername: ").Append(PrivateUsername).Append("\n"); sb.Append(" PrivateToken: ").Append(PrivateToken).Append("\n"); sb.Append(" ReqCpu: ").Append(ReqCpu).Append("\n"); sb.Append(" ReqMemory: ").Append(ReqMemory).Append("\n"); sb.Append(" ReqVideo: ").Append(ReqVideo).Append("\n"); sb.Append(" MaxDuration: ").Append(MaxDuration).Append("\n"); sb.Append(" UseTelemetry: ").Append(UseTelemetry).Append("\n"); sb.Append(" InjectContextEnv: ").Append(InjectContextEnv).Append("\n"); sb.Append(" WhitelistingActive: ").Append(WhitelistingActive).Append("\n"); sb.Append(" ForceCache: ").Append(ForceCache).Append("\n"); sb.Append(" CacheMinHour: ").Append(CacheMinHour).Append("\n"); sb.Append(" CacheMaxHour: ").Append(CacheMaxHour).Append("\n"); sb.Append(" TimeToDeploy: ").Append(TimeToDeploy).Append("\n"); sb.Append(" EnableAllLocations: ").Append(EnableAllLocations).Append("\n"); sb.Append(" SessionConfig: ").Append(SessionConfig).Append("\n"); sb.Append(" Ports: ").Append(Ports).Append("\n"); sb.Append(" Probe: ").Append(Probe).Append("\n"); sb.Append(" Envs: ").Append(Envs).Append("\n"); sb.Append("}\n"); return sb.ToString(); } /// /// Get the JSON string presentation of the object /// /// JSON string presentation of the object public string ToJson() { return JsonConvert.SerializeObject(this, Formatting.Indented); } } }