util

package
v0.13.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 23, 2023 License: Apache-2.0 Imports: 19 Imported by: 34

Documentation

Overview

Package util provides various utility functions for Kubernetes resources.

Index

Constants

View Source
const (
	MetadataField    = "metadata"
	LabelsField      = "labels"
	AnnotationsField = "annotations"
	StatusField      = "status"
)

Variables

This section is empty.

Functions

func BuildRestMapper

func BuildRestMapper(restConfig *rest.Config) (meta.RESTMapper, error)

func ConditionsFromUnstructured added in v0.10.1

func ConditionsFromUnstructured(from *unstructured.Unstructured, fields ...string) []metav1.Condition

func ConditionsToUnstructured added in v0.10.1

func ConditionsToUnstructured(conditions []metav1.Condition, to *unstructured.Unstructured, fields ...string)

func CopyImmutableMetadata added in v0.12.0

func CopyImmutableMetadata(from, to *unstructured.Unstructured) *unstructured.Unstructured

CopyImmutableMetadata copies the static metadata fields (except Labels and Annotations) from one resource to another.

func CreateAnew added in v0.9.0

func CreateAnew(ctx context.Context, client resource.Interface, obj runtime.Object,
	createOptions metav1.CreateOptions,
	deleteOptions metav1.DeleteOptions) (runtime.Object, error,
)

CreateAnew creates a resource, first deleting an existing instance if one exists. If the delete options specify that deletion should be propagated in the foreground, this will wait for the deletion to be complete before creating the new object: with foreground propagation, Get will continue to return the object being deleted and Create will fail with “already exists” until deletion is complete.

func FindGroupVersionResource

func FindGroupVersionResource(from *unstructured.Unstructured, restMapper meta.RESTMapper) (*schema.GroupVersionResource, error)

func GetMetadata

func GetMetadata(from *unstructured.Unstructured) map[string]interface{}

func GetNestedField added in v0.6.0

func GetNestedField(obj *unstructured.Unstructured, fields ...string) interface{}

func GetSpec added in v0.6.0

func GetSpec(obj *unstructured.Unstructured) interface{}

func SetBackoff added in v0.9.0

func SetBackoff(b wait.Backoff) wait.Backoff

func SetNestedField added in v0.12.0

func SetNestedField(to map[string]interface{}, value interface{}, fields ...string)

func ToUnstructuredResource

func ToUnstructuredResource(from runtime.Object, restMapper meta.RESTMapper,
) (*unstructured.Unstructured, *schema.GroupVersionResource, error)

func TryAppendCondition added in v0.10.1

func TryAppendCondition(conditions []metav1.Condition, newCondition *metav1.Condition) []metav1.Condition

TryAppendCondition appends the given Condition if it's not equal to the last Condition.

func Update added in v0.10.1

func Update(ctx context.Context, client resource.Interface, obj runtime.Object, mutate MutateFn) error

Types

type MutateFn

type MutateFn func(existing runtime.Object) (runtime.Object, error)

func Replace added in v0.9.0

func Replace(with runtime.Object) MutateFn

type OperationResult

type OperationResult string
const (
	OperationResultNone    OperationResult = "unchanged"
	OperationResultCreated OperationResult = "created"
	OperationResultUpdated OperationResult = "updated"
)

func CreateOrUpdate

func CreateOrUpdate(ctx context.Context, client resource.Interface, obj runtime.Object, mutate MutateFn) (OperationResult, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL