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