import { Resource } from '@c6o/kubeclient-contracts'; import { LabelSelector, ListMeta, ObjectMeta } from '../meta/v1'; export interface MutatingWebhook { admissionReviewVersions?: Array; clientConfig: WebhookClientConfig; failurePolicy?: string; matchPolicy?: string; name: string; namespaceSelector?: LabelSelector; objectSelector?: LabelSelector; reinvocationPolicy?: string; rules?: Array; sideEffects?: string; timeoutSeconds?: number; } export interface MutatingWebhookConfiguration extends Resource { apiVersion?: 'admissionregistration.k8s.io/v1beta1'; kind?: 'MutatingWebhookConfiguration'; metadata?: ObjectMeta; webhooks?: Array; } export interface MutatingWebhookConfigurationList extends Resource { apiVersion?: 'admissionregistration.k8s.io/v1beta1'; items: Array; kind?: 'MutatingWebhookConfigurationList'; metadata?: ListMeta; } export interface RuleWithOperations { apiGroups?: Array; apiVersions?: Array; operations?: Array; resources?: Array; scope?: string; } export interface ServiceReference { name: string; namespace: string; path?: string; port?: number; } export interface ValidatingWebhook { admissionReviewVersions?: Array; clientConfig: WebhookClientConfig; failurePolicy?: string; matchPolicy?: string; name: string; namespaceSelector?: LabelSelector; objectSelector?: LabelSelector; rules?: Array; sideEffects?: string; timeoutSeconds?: number; } export interface ValidatingWebhookConfiguration extends Resource { apiVersion?: 'admissionregistration.k8s.io/v1beta1'; kind?: 'ValidatingWebhookConfiguration'; metadata?: ObjectMeta; webhooks?: Array; } export interface ValidatingWebhookConfigurationList extends Resource { apiVersion?: 'admissionregistration.k8s.io/v1beta1'; items: Array; kind?: 'ValidatingWebhookConfigurationList'; metadata?: ListMeta; } export interface WebhookClientConfig { caBundle?: string; service?: ServiceReference; url?: string; }