types

package
v1.5.2 Latest Latest
Warning

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

Go to latest
Published: Feb 25, 2021 License: Apache-2.0, Apache-2.0 Imports: 2 Imported by: 0

Documentation

Overview

Package types implements various generic types used throughout kubernetes.

Index

Constants

View Source
const (
	Separator = '/'
)

Variables

This section is empty.

Functions

This section is empty.

Types

type NamespacedName

type NamespacedName struct {
	Namespace string
	Name      string
}

func NewNamespacedNameFromString

func NewNamespacedNameFromString(s string) NamespacedName

NewNamespacedNameFromString parses the provided string and returns a NamespacedName. The expected format is as per String() above. If the input string is invalid, the returned NamespacedName has all empty string field values. This allows a single-value return from this function, while still allowing error checks in the caller. Note that an input string which does not include exactly one Separator is not a valid input (as it could never have neem returned by String() )

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:

  • Node.Name is the Name field of the Node in the API. This should be stored in a NodeName. Unfortunately, because Name is part of ObjectMeta, we can't store it as a NodeName at the API level.
  • Hostname is the hostname of the local machine (from uname -n). However, some components allow the user to pass in a --hostname-override flag, which will override this in most places. In the absence of anything more meaningful, kubelet will use Hostname as the Node.Name when it creates the Node.

* 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 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.

type UnixGroupID

type UnixGroupID int64

type UnixUserID

type UnixUserID int64

Jump to

Keyboard shortcuts

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