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);
}
}
}