// // Code generated by Microsoft (R) AutoRest Code Generator. // Changes may cause incorrect behavior and will be lost if the code is // regenerated. // namespace k8s.Models { using Newtonsoft.Json; using System.Linq; /// /// Spec to control the desired behavior of rolling update. /// public partial class V1RollingUpdateDeployment { /// /// Initializes a new instance of the V1RollingUpdateDeployment class. /// public V1RollingUpdateDeployment() { CustomInit(); } /// /// Initializes a new instance of the V1RollingUpdateDeployment class. /// /// The maximum number of pods that can be /// scheduled above the desired number of pods. Value can be an /// absolute number (ex: 5) or a percentage of desired pods (ex: 10%). /// This can not be 0 if MaxUnavailable is 0. Absolute number is /// calculated from percentage by rounding up. Defaults to 25%. /// Example: when this is set to 30%, the new ReplicaSet can be scaled /// up immediately when the rolling update starts, such that the total /// number of old and new pods do not exceed 130% of desired pods. Once /// old pods have been killed, new ReplicaSet can be scaled up further, /// ensuring that total number of pods running at any time during the /// update is at most 130% of desired pods. /// The maximum number of pods that can be /// unavailable during the update. Value can be an absolute number (ex: /// 5) or a percentage of desired pods (ex: 10%). Absolute number is /// calculated from percentage by rounding down. This can not be 0 if /// MaxSurge is 0. Defaults to 25%. Example: when this is set to 30%, /// the old ReplicaSet can be scaled down to 70% of desired pods /// immediately when the rolling update starts. Once new pods are /// ready, old ReplicaSet can be scaled down further, followed by /// scaling up the new ReplicaSet, ensuring that the total number of /// pods available at all times during the update is at least 70% of /// desired pods. public V1RollingUpdateDeployment(IntstrIntOrString maxSurge = default(IntstrIntOrString), IntstrIntOrString maxUnavailable = default(IntstrIntOrString)) { MaxSurge = maxSurge; MaxUnavailable = maxUnavailable; CustomInit(); } /// /// An initialization method that performs custom operations like setting defaults /// partial void CustomInit(); /// /// Gets or sets the maximum number of pods that can be scheduled above /// the desired number of pods. Value can be an absolute number (ex: 5) /// or a percentage of desired pods (ex: 10%). This can not be 0 if /// MaxUnavailable is 0. Absolute number is calculated from percentage /// by rounding up. Defaults to 25%. Example: when this is set to 30%, /// the new ReplicaSet can be scaled up immediately when the rolling /// update starts, such that the total number of old and new pods do /// not exceed 130% of desired pods. Once old pods have been killed, /// new ReplicaSet can be scaled up further, ensuring that total number /// of pods running at any time during the update is at most 130% of /// desired pods. /// [JsonProperty(PropertyName = "maxSurge")] public IntstrIntOrString MaxSurge { get; set; } /// /// Gets or sets the maximum number of pods that can be unavailable /// during the update. Value can be an absolute number (ex: 5) or a /// percentage of desired pods (ex: 10%). Absolute number is calculated /// from percentage by rounding down. This can not be 0 if MaxSurge is /// 0. Defaults to 25%. Example: when this is set to 30%, the old /// ReplicaSet can be scaled down to 70% of desired pods immediately /// when the rolling update starts. Once new pods are ready, old /// ReplicaSet can be scaled down further, followed by scaling up the /// new ReplicaSet, ensuring that the total number of pods available at /// all times during the update is at least 70% of desired pods. /// [JsonProperty(PropertyName = "maxUnavailable")] public IntstrIntOrString MaxUnavailable { get; set; } } }