package operation
import "k8s.io/apimachinery/pkg/api/operation"
Index ¶
Types ¶
type Operation ¶
type Operation struct { // Type is the category of operation being validated. This does not // differentiate between HTTP verbs like PUT and PATCH, but rather merges // those into a single "Update" category. Type Type // Options declare the options enabled for validation. // // Options should be set according to a resource validation strategy before validation // is performed, and must be treated as read-only during validation. // // Options are identified by string names. Option string names may match the name of a feature // gate, in which case the presence of the name in the set indicates that the feature is // considered enabled for the resource being validated. Note that a resource may have a // feature enabled even when the feature gate is disabled. This can happen when feature is // already in-use by a resource, often because the feature gate was enabled when the // resource first began using the feature. // // Unset options are disabled/false. Options []string // Request provides information about the request being validated. Request Request }
Operation provides contextual information about a validation request and the API operation being validated. This type is intended for use with generate validation code and may be enhanced in the future to include other information needed to validate requests.
func (Operation) HasOption ¶
HasOption returns true if the given string is in the Options slice.
type Request ¶
type Request struct { // Subresources identifies the subresource path components of the request. For // example, Subresources for a request to `/api/v1/pods/my-pod/status` would be // `["status"]`. For `/api/v1/widget/my-widget/x/y/z`, it would be `["x", "y", // "z"]`. For a root resource (`/api/v1/pods/my-pod`), Subresources will be an // empty slice. // // Validation logic should only consult this field if the validation rules for a // particular field differ depending on whether the main resource or a specific // subresource is being accessed. For example: // // Updates to a Pod resource (`/`) normally cannot change container resource // requests/limits after the Pod is created (they are immutable). However, when // accessing the Pod's "resize" subresource (`/resize`), these specific fields // are allowed to be modified. In this scenario, the validation logic for // `spec.container[*].resources` must check `Subresources` to permit changes only // when the request targets the "resize" subresource. // // Note: This field should not be used to control which fields a subresource // operation is allowed to write. This is the responsibility of "field wiping". // Field wiping logic is expected to be handled in resource strategies by // modifying the incoming object before it is validated. Subresources []string }
Request provides information about the request being validated.
func (Request) SubresourcePath ¶
SubresourcePath returns the path is a slash-separated list of subresource names. For example, `/status`, `/resize`, or `/x/y/z`.
type Type ¶
type Type uint32
Code is the request operation to be validated.
const ( // Create indicates the request being validated is for a resource create operation. Create Type = iota // Update indicates the request being validated is for a resource update operation. Update )
Source Files ¶
operation.go
- Version
- v0.34.0-alpha.1
- Published
- Jun 12, 2025
- Platform
- js/wasm
- Imports
- 2 packages
- Last checked
- 4 hours ago –
Tools for package owners.