// // 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; /// /// WebhookClientConfig contains the information to make a connection with /// the webhook /// public partial class V1alpha1WebhookClientConfig { /// /// Initializes a new instance of the V1alpha1WebhookClientConfig /// class. /// public V1alpha1WebhookClientConfig() { CustomInit(); } /// /// Initializes a new instance of the V1alpha1WebhookClientConfig /// class. /// /// `caBundle` is a PEM encoded CA bundle which /// will be used to validate the webhook's server certificate. If /// unspecified, system trust roots on the apiserver are used. /// `service` is a reference to the service for /// this webhook. Either `service` or `url` must be specified. /// /// If the webhook is running within the cluster, then you should use /// `service`. /// /// Port 443 will be used if it is open, otherwise it is an /// error. /// `url` gives the location of the webhook, in /// standard URL form (`scheme://host:port/path`). Exactly one of `url` /// or `service` must be specified. /// /// The `host` should not refer to a service running in the cluster; /// use the `service` field instead. The host might be resolved via /// external DNS in some apiservers (e.g., `kube-apiserver` cannot /// resolve in-cluster DNS as that would be a layering violation). /// `host` may also be an IP address. /// /// Please note that using `localhost` or `127.0.0.1` as a `host` is /// risky unless you take great care to run this webhook on all hosts /// which run an apiserver which might need to make calls to this /// webhook. Such installs are likely to be non-portable, i.e., not /// easy to turn up in a new cluster. /// /// The scheme must be "https"; the URL must begin with "https://". /// /// A path is optional, and if present may be any string permissible in /// a URL. You may use the path to pass an arbitrary string to the /// webhook, for example, a cluster identifier. /// /// Attempting to use a user or basic auth e.g. "user:password@" is not /// allowed. Fragments ("#...") and query parameters ("?...") are not /// allowed, either. public V1alpha1WebhookClientConfig(byte[] caBundle = default(byte[]), V1alpha1ServiceReference service = default(V1alpha1ServiceReference), string url = default(string)) { CaBundle = caBundle; Service = service; Url = url; CustomInit(); } /// /// An initialization method that performs custom operations like setting defaults /// partial void CustomInit(); /// /// Gets or sets `caBundle` is a PEM encoded CA bundle which will be /// used to validate the webhook's server certificate. If unspecified, /// system trust roots on the apiserver are used. /// [JsonProperty(PropertyName = "caBundle")] public byte[] CaBundle { get; set; } /// /// Gets or sets `service` is a reference to the service for this /// webhook. Either `service` or `url` must be specified. /// /// If the webhook is running within the cluster, then you should use /// `service`. /// /// Port 443 will be used if it is open, otherwise it is an error. /// [JsonProperty(PropertyName = "service")] public V1alpha1ServiceReference Service { get; set; } /// /// Gets or sets `url` gives the location of the webhook, in standard /// URL form (`scheme://host:port/path`). Exactly one of `url` or /// `service` must be specified. /// /// The `host` should not refer to a service running in the cluster; /// use the `service` field instead. The host might be resolved via /// external DNS in some apiservers (e.g., `kube-apiserver` cannot /// resolve in-cluster DNS as that would be a layering violation). /// `host` may also be an IP address. /// /// Please note that using `localhost` or `127.0.0.1` as a `host` is /// risky unless you take great care to run this webhook on all hosts /// which run an apiserver which might need to make calls to this /// webhook. Such installs are likely to be non-portable, i.e., not /// easy to turn up in a new cluster. /// /// The scheme must be "https"; the URL must begin with "https://". /// /// A path is optional, and if present may be any string permissible in /// a URL. You may use the path to pass an arbitrary string to the /// webhook, for example, a cluster identifier. /// /// Attempting to use a user or basic auth e.g. "user:password@" is not /// allowed. Fragments ("#...") and query parameters ("?...") are not /// allowed, either. /// [JsonProperty(PropertyName = "url")] public string Url { get; set; } /// /// Validate the object. /// /// /// Thrown if validation fails /// public virtual void Validate() { if (Service != null) { Service.Validate(); } } } }