//
// 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.Collections;
using System.Collections.Generic;
using System.Linq;
///
/// PodDisruptionBudgetStatus represents information about the status of a
/// PodDisruptionBudget. Status may trail the actual state of a system.
///
public partial class V1beta1PodDisruptionBudgetStatus
{
///
/// Initializes a new instance of the V1beta1PodDisruptionBudgetStatus
/// class.
///
public V1beta1PodDisruptionBudgetStatus()
{
CustomInit();
}
///
/// Initializes a new instance of the V1beta1PodDisruptionBudgetStatus
/// class.
///
/// current number of healthy pods
/// minimum desired number of healthy
/// pods
/// Number of pod disruptions that are
/// currently allowed.
/// total number of pods counted by this
/// disruption budget
/// DisruptedPods contains information
/// about pods whose eviction was processed by the API server eviction
/// subresource handler but has not yet been observed by the
/// PodDisruptionBudget controller. A pod will be in this map from the
/// time when the API server processed the eviction request to the time
/// when the pod is seen by PDB controller as having been marked for
/// deletion (or after a timeout). The key in the map is the name of
/// the pod and the value is the time when the API server processed the
/// eviction request. If the deletion didn't occur and a pod is still
/// there it will be removed from the list automatically by
/// PodDisruptionBudget controller after some time. If everything goes
/// smooth this map should be empty for the most of the time. Large
/// number of entries in the map may indicate problems with pod
/// deletions.
/// Most recent generation observed
/// when updating this PDB status. PodDisruptionsAllowed and other
/// status informatio is valid only if observedGeneration equals to
/// PDB's object generation.
public V1beta1PodDisruptionBudgetStatus(int currentHealthy, int desiredHealthy, int disruptionsAllowed, int expectedPods, IDictionary disruptedPods = default(IDictionary), long? observedGeneration = default(long?))
{
CurrentHealthy = currentHealthy;
DesiredHealthy = desiredHealthy;
DisruptedPods = disruptedPods;
DisruptionsAllowed = disruptionsAllowed;
ExpectedPods = expectedPods;
ObservedGeneration = observedGeneration;
CustomInit();
}
///
/// An initialization method that performs custom operations like setting defaults
///
partial void CustomInit();
///
/// Gets or sets current number of healthy pods
///
[JsonProperty(PropertyName = "currentHealthy")]
public int CurrentHealthy { get; set; }
///
/// Gets or sets minimum desired number of healthy pods
///
[JsonProperty(PropertyName = "desiredHealthy")]
public int DesiredHealthy { get; set; }
///
/// Gets or sets disruptedPods contains information about pods whose
/// eviction was processed by the API server eviction subresource
/// handler but has not yet been observed by the PodDisruptionBudget
/// controller. A pod will be in this map from the time when the API
/// server processed the eviction request to the time when the pod is
/// seen by PDB controller as having been marked for deletion (or after
/// a timeout). The key in the map is the name of the pod and the value
/// is the time when the API server processed the eviction request. If
/// the deletion didn't occur and a pod is still there it will be
/// removed from the list automatically by PodDisruptionBudget
/// controller after some time. If everything goes smooth this map
/// should be empty for the most of the time. Large number of entries
/// in the map may indicate problems with pod deletions.
///
[JsonProperty(PropertyName = "disruptedPods")]
public IDictionary DisruptedPods { get; set; }
///
/// Gets or sets number of pod disruptions that are currently allowed.
///
[JsonProperty(PropertyName = "disruptionsAllowed")]
public int DisruptionsAllowed { get; set; }
///
/// Gets or sets total number of pods counted by this disruption budget
///
[JsonProperty(PropertyName = "expectedPods")]
public int ExpectedPods { get; set; }
///
/// Gets or sets most recent generation observed when updating this PDB
/// status. PodDisruptionsAllowed and other status informatio is valid
/// only if observedGeneration equals to PDB's object generation.
///
[JsonProperty(PropertyName = "observedGeneration")]
public long? ObservedGeneration { get; set; }
///
/// Validate the object.
///
///
/// Thrown if validation fails
///
public virtual void Validate()
{
}
}
}