//
// 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 Microsoft.Rest;
using Newtonsoft.Json;
using System.Linq;
///
/// HorizontalPodAutoscalerCondition describes the state of a
/// HorizontalPodAutoscaler at a certain point.
///
public partial class V2beta1HorizontalPodAutoscalerCondition
{
///
/// Initializes a new instance of the
/// V2beta1HorizontalPodAutoscalerCondition class.
///
public V2beta1HorizontalPodAutoscalerCondition()
{
CustomInit();
}
///
/// Initializes a new instance of the
/// V2beta1HorizontalPodAutoscalerCondition class.
///
/// status is the status of the condition (True,
/// False, Unknown)
/// type describes the current condition
/// lastTransitionTime is the last
/// time the condition transitioned from one status to another
/// message is a human-readable explanation
/// containing details about the transition
/// reason is the reason for the condition's last
/// transition.
public V2beta1HorizontalPodAutoscalerCondition(string status, string type, System.DateTime? lastTransitionTime = default(System.DateTime?), string message = default(string), string reason = default(string))
{
LastTransitionTime = lastTransitionTime;
Message = message;
Reason = reason;
Status = status;
Type = type;
CustomInit();
}
///
/// An initialization method that performs custom operations like setting defaults
///
partial void CustomInit();
///
/// Gets or sets lastTransitionTime is the last time the condition
/// transitioned from one status to another
///
[JsonProperty(PropertyName = "lastTransitionTime")]
public System.DateTime? LastTransitionTime { get; set; }
///
/// Gets or sets message is a human-readable explanation containing
/// details about the transition
///
[JsonProperty(PropertyName = "message")]
public string Message { get; set; }
///
/// Gets or sets reason is the reason for the condition's last
/// transition.
///
[JsonProperty(PropertyName = "reason")]
public string Reason { get; set; }
///
/// Gets or sets status is the status of the condition (True, False,
/// Unknown)
///
[JsonProperty(PropertyName = "status")]
public string Status { get; set; }
///
/// Gets or sets type describes the current condition
///
[JsonProperty(PropertyName = "type")]
public string Type { get; set; }
///
/// Validate the object.
///
///
/// Thrown if validation fails
///
public virtual void Validate()
{
if (Status == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Status");
}
if (Type == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Type");
}
}
}
}