apimachineryk8s.io/apimachinery/pkg/types Index | Files

package types

import "k8s.io/apimachinery/pkg/types"

Package types implements various generic types used throughout kubernetes.

Index

Constants

const (
	Separator = '/'
)

Types

type NamespacedName

type NamespacedName struct {
	Namespace string
	Name      string
}

func (NamespacedName) MarshalLog

func (n NamespacedName) MarshalLog() interface{}

MarshalLog emits a struct containing required key/value pair

func (NamespacedName) String

func (n NamespacedName) String() string

String returns the general purpose string representation

type NodeName

type NodeName string

NodeName is a type that holds a api.Node's Name identifier. Being a type captures intent and helps make sure that the node name is not confused with similar concepts (the hostname, the cloud provider id, the cloud provider name etc)

To clarify the various types:

* The cloudproviders have the own names: GCE has InstanceName, AWS has InstanceId.

For GCE, InstanceName is the Name of an Instance object in the GCE API.  On GCE, Instance.Name becomes the
Hostname, and thus it makes sense also to use it as the Node.Name.  But that is GCE specific, and it is up
to the cloudprovider how to do this mapping.

For AWS, the InstanceID is not yet suitable for use as a Node.Name, so we actually use the
PrivateDnsName for the Node.Name.  And this is _not_ always the same as the hostname: if
we are using a custom DHCP domain it won't be.

type PatchType

type PatchType string

Similarly to above, these are constants to support HTTP PATCH utilized by both the client and server that didn't make sense for a whole package to be dedicated to.

const (
	JSONPatchType           PatchType = "application/json-patch+json"
	MergePatchType          PatchType = "application/merge-patch+json"
	StrategicMergePatchType PatchType = "application/strategic-merge-patch+json"
	ApplyPatchType          PatchType = ApplyYAMLPatchType
	ApplyYAMLPatchType      PatchType = "application/apply-patch+yaml"
	ApplyCBORPatchType      PatchType = "application/apply-patch+cbor"
)

type UID

type UID string

UID is a type that holds unique ID values, including UUIDs. Because we don't ONLY use UUIDs, this is an alias to string. Being a type captures intent and helps make sure that UIDs and names do not get conflated.

Source Files

doc.go namespacedname.go nodename.go patch.go uid.go

Version
v0.33.0 (latest)
Published
Apr 11, 2025
Platform
linux/amd64
Last checked
3 hours ago

Tools for package owners.