Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ApplyStructuredMergeDiff ¶
func ApplyStructuredMergeDiff( typeConverter managedfields.TypeConverter, originalObject runtime.Object, patch *unstructured.Unstructured, ) (runtime.Object, error)
ApplyStructuredMergeDiff applies a structured merge diff to an object and returns a copy of the object with the patch applied.
Types ¶
type ApplyConfigurationCondition ¶
type ApplyConfigurationCondition struct {
Expression string
}
ApplyConfigurationCondition contains the inputs needed to compile and evaluate a cel expression that returns an apply configuration
func (*ApplyConfigurationCondition) GetExpression ¶
func (v *ApplyConfigurationCondition) GetExpression() string
func (*ApplyConfigurationCondition) ReturnTypes ¶
func (v *ApplyConfigurationCondition) ReturnTypes() []*celgo.Type
type JSONPatchCondition ¶
type JSONPatchCondition struct {
Expression string
}
JSONPatchCondition contains the inputs needed to compile and evaluate a cel expression that returns a JSON patch value.
func (*JSONPatchCondition) GetExpression ¶
func (v *JSONPatchCondition) GetExpression() string
func (*JSONPatchCondition) ReturnTypes ¶
func (v *JSONPatchCondition) ReturnTypes() []*celgo.Type
type Patcher ¶
type Patcher interface { // Patch returns a copy of the object in the request, modified to change specified by the patch. // The original object in the request MUST NOT be modified in-place. Patch(ctx context.Context, request Request, runtimeCELCostBudget int64) (runtime.Object, error) }
Patcher provides a patch function to perform a mutation to an object in the admission chain.
func NewApplyConfigurationPatcher ¶
func NewApplyConfigurationPatcher(expressionEvaluator plugincel.MutatingEvaluator) Patcher
NewApplyConfigurationPatcher creates a patcher that performs an applyConfiguration mutation.
func NewJSONPatcher ¶
func NewJSONPatcher(patchEvaluator plugincel.MutatingEvaluator) Patcher
NewJSONPatcher creates a patcher that performs a JSON Patch mutation.
type Request ¶
type Request struct { MatchedResource schema.GroupVersionResource VersionedAttributes *admission.VersionedAttributes ObjectInterfaces admission.ObjectInterfaces OptionalVariables cel.OptionalVariableBindings Namespace *v1.Namespace TypeConverter managedfields.TypeConverter }
Request defines the arguments required by a patcher.
type TypeConverterManager ¶
type TypeConverterManager interface { // GetTypeConverter returns a type converter for the given GVK GetTypeConverter(gvk schema.GroupVersionKind) managedfields.TypeConverter Run(ctx context.Context) }
func NewTypeConverterManager ¶
func NewTypeConverterManager( staticTypeConverter managedfields.TypeConverter, openapiClient openapi.Client, ) TypeConverterManager