Struct k8s_openapi::v1_11::api::admissionregistration::v1beta1::Webhook [−][src]
pub struct Webhook {
pub client_config: WebhookClientConfig,
pub failure_policy: Option<String>,
pub name: String,
pub namespace_selector: Option<LabelSelector>,
pub rules: Option<Vec<RuleWithOperations>>,
}Webhook describes an admission webhook and the resources and operations it applies to.
Fields
client_config: WebhookClientConfig
ClientConfig defines how to communicate with the hook. Required
failure_policy: Option<String>
FailurePolicy defines how unrecognized errors from the admission endpoint are handled - allowed values are Ignore or Fail. Defaults to Ignore.
name: String
The name of the admission webhook. Name should be fully qualified, e.g., imagepolicy.kubernetes.io, where "imagepolicy" is the name of the webhook, and kubernetes.io is the name of the organization. Required.
namespace_selector: Option<LabelSelector>
NamespaceSelector decides whether to run the webhook on an object based on whether the namespace for that object matches the selector. If the object itself is a namespace, the matching is performed on object.metadata.labels. If the object is another cluster scoped resource, it never skips the webhook.
For example, to run the webhook on any objects whose namespace is not associated with "runlevel" of "0" or "1"; you will set the selector as follows: "namespaceSelector": { "matchExpressions": [ { "key": "runlevel", "operator": "NotIn", "values": [ "0", "1" ] } ] }
If instead you want to only run the webhook on any objects whose namespace is associated with the "environment" of "prod" or "staging"; you will set the selector as follows: "namespaceSelector": { "matchExpressions": [ { "key": "environment", "operator": "In", "values": [ "prod", "staging" ] } ] }
See https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/ for more examples of label selectors.
Default to the empty LabelSelector, which matches everything.
rules: Option<Vec<RuleWithOperations>>
Rules describes what operations on what resources/subresources the webhook cares about. The webhook cares about an operation if it matches any Rule. However, in order to prevent ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks from putting the cluster in a state which cannot be recovered from without completely disabling the plugin, ValidatingAdmissionWebhooks and MutatingAdmissionWebhooks are never called on admission requests for ValidatingWebhookConfiguration and MutatingWebhookConfiguration objects.
Trait Implementations
impl Clone for Webhook[src]
impl Clone for Webhookfn clone(&self) -> Webhook[src]
fn clone(&self) -> WebhookReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)Performs copy-assignment from source. Read more
impl Debug for Webhook[src]
impl Debug for Webhookfn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl Default for Webhook[src]
impl Default for Webhookimpl PartialEq for Webhook[src]
impl PartialEq for Webhookfn eq(&self, other: &Webhook) -> bool[src]
fn eq(&self, other: &Webhook) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Webhook) -> bool[src]
fn ne(&self, other: &Webhook) -> boolThis method tests for !=.
impl<'de> Deserialize<'de> for Webhook[src]
impl<'de> Deserialize<'de> for Webhookfn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>, [src]
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error> where
D: Deserializer<'de>, Deserialize this value from the given Serde deserializer. Read more
impl Serialize for Webhook[src]
impl Serialize for Webhook