// Code generated by swagger-doc. DO NOT EDIT.

package v1alpha1

func (Plugin) SwaggerDoc() map[string]string {
	return map[string]string{
		"":       "Plugin defines a KubeVirt extension that can modify VM domain XML,\nhook into VM lifecycle events, and reference admission objects.",
		"spec":   "Spec defines the plugin's hooks and admission references.",
		"status": "Status reflects the observed state of the plugin.\n+optional",
	}
}

func (PluginList) SwaggerDoc() map[string]string {
	return map[string]string{
		"":      "+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object",
		"items": "+listType=atomic",
	}
}

func (PluginSpec) SwaggerDoc() map[string]string {
	return map[string]string{
		"condition":                   "Condition is a CEL expression that determines whether this plugin applies to a given VM.\nWhen set, this acts as a baseline filter for all hooks in the plugin.\nIndividual hooks may further narrow the scope with their own Condition fields.\n+optional",
		"failureStrategy":             "FailureStrategy specifies the default behavior when the plugin itself is unhealthy\n(e.g. a referenced webhook is not ready, or a sidecar socket is unreachable).\nIndividual hooks may override this with their own FailureStrategy.\n+optional",
		"domainHooks":                 "DomainHooks defines hooks that modify the libvirt domain XML.\nHooks are applied in declaration order within each plugin.\nAcross plugins, hooks are applied in alphabetical order by plugin name.\n+optional\n+listType=atomic",
		"nodeHooks":                   "NodeHooks defines hooks that execute during VM lifecycle events.\nHooks are applied in declaration order within each plugin.\nAcross plugins, hooks are applied in alphabetical order by plugin name.\n+optional\n+listType=atomic",
		"mutatingAdmissionPolicies":   "MutatingAdmissionPolicies references MutatingAdmissionPolicy objects managed by the plugin.\n+optional\n+listType=atomic",
		"validatingAdmissionPolicies": "ValidatingAdmissionPolicies references ValidatingAdmissionPolicy objects managed by the plugin.\n+optional\n+listType=atomic",
		"mutatingAdmissionWebhooks":   "MutatingAdmissionWebhooks references MutatingWebhookConfiguration objects managed by the plugin.\n+optional\n+listType=atomic",
		"validatingAdmissionWebhooks": "ValidatingAdmissionWebhooks references ValidatingWebhookConfiguration objects managed by the plugin.\n+optional\n+listType=atomic",
	}
}

func (DomainHook) SwaggerDoc() map[string]string {
	return map[string]string{
		"":                "DomainHook defines a hook that modifies the libvirt domain XML.\nExactly one of cel or sidecar must be specified.",
		"cel":             "CEL defines a CEL expression that transforms the domain XML.\n+optional",
		"sidecar":         "Sidecar defines a sidecar-based hook that transforms the domain XML via a Unix socket.\n+optional",
		"condition":       "Condition is a CEL expression that determines whether this hook applies to a given VM.\n+optional",
		"failureStrategy": "FailureStrategy specifies how to handle hook failures (Fail or Ignore).\n+optional",
		"timeout":         "Timeout specifies the maximum duration to wait for the hook to complete.\n+optional",
	}
}

func (CELDomainHook) SwaggerDoc() map[string]string {
	return map[string]string{
		"expression": "Expression is the CEL expression applied to the domain XML.\n+kubebuilder:validation:MinLength=1",
	}
}

func (SidecarDomainHook) SwaggerDoc() map[string]string {
	return map[string]string{
		"socketPath": "SocketPath is the path to the Unix socket used to communicate with the sidecar.\n+kubebuilder:validation:MinLength=1",
	}
}

func (NodeHook) SwaggerDoc() map[string]string {
	return map[string]string{
		"":                "NodeHook defines a hook that runs an executable on the hosting node during VM lifecycle events.\nUnlike DomainHooks which modify the libvirt domain XML, NodeHooks perform node-level operations\nsuch as configuring networking, storage preparation, or device management.\nHooks may fire multiple times for the same lifecycle event due to reconciliation retries.\nImplementations must be idempotent.",
		"socket":          "Socket is the path to the Unix socket for hook communication.\n+kubebuilder:validation:MinLength=1",
		"permittedHooks":  "PermittedHooks lists the VM lifecycle events this hook handles.\n+kubebuilder:validation:MinItems=1\n+listType=atomic",
		"condition":       "Condition is a CEL expression that determines whether this hook applies to a given VM.\n+optional",
		"failureStrategy": "FailureStrategy specifies how to handle hook failures (Fail or Ignore).\n+optional",
		"timeout":         "Timeout specifies the maximum duration to wait for the hook to complete.\n+optional",
	}
}

func (AdmissionReference) SwaggerDoc() map[string]string {
	return map[string]string{
		"":     "AdmissionReference is a reference to an admission object by name.",
		"name": "Name is the name of the admission object.\n+kubebuilder:validation:MinLength=1",
	}
}

func (PluginStatus) SwaggerDoc() map[string]string {
	return map[string]string{}
}
