//
// 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;
///
/// HTTPIngressPath associates a path regex with a backend. Incoming urls
/// matching the path are forwarded to the backend.
///
public partial class Extensionsv1beta1HTTPIngressPath
{
///
/// Initializes a new instance of the Extensionsv1beta1HTTPIngressPath
/// class.
///
public Extensionsv1beta1HTTPIngressPath()
{
CustomInit();
}
///
/// Initializes a new instance of the Extensionsv1beta1HTTPIngressPath
/// class.
///
/// Backend defines the referenced service
/// endpoint to which the traffic will be forwarded to.
/// Path is an extended POSIX regex as defined by
/// IEEE Std 1003.1, (i.e this follows the egrep/unix syntax, not the
/// perl syntax) matched against the path of an incoming request.
/// Currently it can contain characters disallowed from the
/// conventional "path" part of a URL as defined by RFC 3986. Paths
/// must begin with a '/'. If unspecified, the path defaults to a catch
/// all sending traffic to the backend.
public Extensionsv1beta1HTTPIngressPath(Extensionsv1beta1IngressBackend backend, string path = default(string))
{
Backend = backend;
Path = path;
CustomInit();
}
///
/// An initialization method that performs custom operations like setting defaults
///
partial void CustomInit();
///
/// Gets or sets backend defines the referenced service endpoint to
/// which the traffic will be forwarded to.
///
[JsonProperty(PropertyName = "backend")]
public Extensionsv1beta1IngressBackend Backend { get; set; }
///
/// Gets or sets path is an extended POSIX regex as defined by IEEE Std
/// 1003.1, (i.e this follows the egrep/unix syntax, not the perl
/// syntax) matched against the path of an incoming request. Currently
/// it can contain characters disallowed from the conventional "path"
/// part of a URL as defined by RFC 3986. Paths must begin with a '/'.
/// If unspecified, the path defaults to a catch all sending traffic to
/// the backend.
///
[JsonProperty(PropertyName = "path")]
public string Path { get; set; }
///
/// Validate the object.
///
///
/// Thrown if validation fails
///
public virtual void Validate()
{
if (Backend == null)
{
throw new ValidationException(ValidationRules.CannotBeNull, "Backend");
}
if (Backend != null)
{
Backend.Validate();
}
}
}
}