corev1

package
v0.0.0-...-9e3994c Latest Latest
Warning

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

Go to latest
Published: Feb 10, 2024 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	EventTypeNormal  string = "Normal"
	EventTypeWarning string = "Warning"
)
View Source
const GroupName = ""

Variables

View Source
var (
	GroupVersion       = metav1.GroupVersion{Group: GroupName, Version: "v1"}
	SchemeBuilder      = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme        = SchemeBuilder.AddToScheme
	SchemaGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}
)

Functions

This section is empty.

Types

type AWSElasticBlockStoreVolumeSource

type AWSElasticBlockStoreVolumeSource struct {
	// volumeID is unique ID of the persistent disk resource in AWS (Amazon EBS volume).
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
	VolumeID string `json:"volumeID"`
	// fsType is the filesystem type of the volume that you want to mount.
	// Tip: Ensure that the filesystem type is supported by the host operating system.
	// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
	FSType string `json:"fsType,omitempty"`
	// partition is the partition in the volume that you want to mount.
	// If omitted, the default is to mount by volume name.
	// Examples: For volume /dev/sda1, you specify the partition as "1".
	// Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
	Partition int `json:"partition,omitempty"`
	// readOnly value true will force the readOnly setting in VolumeMounts.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*AWSElasticBlockStoreVolumeSource) DeepCopy

func (*AWSElasticBlockStoreVolumeSource) DeepCopyInto

type Affinity

type Affinity struct {
	// Describes node affinity scheduling rules for the pod.
	NodeAffinity *NodeAffinity `json:"nodeAffinity,omitempty"`
	// Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)).
	PodAffinity *PodAffinity `json:"podAffinity,omitempty"`
	// Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)).
	PodAntiAffinity *PodAntiAffinity `json:"podAntiAffinity,omitempty"`
}

func (*Affinity) DeepCopy

func (in *Affinity) DeepCopy() *Affinity

func (*Affinity) DeepCopyInto

func (in *Affinity) DeepCopyInto(out *Affinity)

type AttachedVolume

type AttachedVolume struct {
	// Name of the attached volume
	Name string `json:"name"`
	// DevicePath represents the device path where the volume should be available
	DevicePath string `json:"devicePath"`
}

func (*AttachedVolume) DeepCopy

func (in *AttachedVolume) DeepCopy() *AttachedVolume

func (*AttachedVolume) DeepCopyInto

func (in *AttachedVolume) DeepCopyInto(out *AttachedVolume)

type AvoidPods

type AvoidPods struct {
	// Bounded-sized list of signatures of pods that should avoid this node, sorted
	// in timestamp order from oldest to newest. Size of the slice is unspecified.
	PreferAvoidPods []PreferAvoidPodsEntry `json:"preferAvoidPods"`
}

func (*AvoidPods) DeepCopy

func (in *AvoidPods) DeepCopy() *AvoidPods

func (*AvoidPods) DeepCopyInto

func (in *AvoidPods) DeepCopyInto(out *AvoidPods)

type AzureDataDiskCachingMode

type AzureDataDiskCachingMode string
const (
	AzureDataDiskCachingModeNone      AzureDataDiskCachingMode = "None"
	AzureDataDiskCachingModeReadOnly  AzureDataDiskCachingMode = "ReadOnly"
	AzureDataDiskCachingModeReadWrite AzureDataDiskCachingMode = "ReadWrite"
)

type AzureDataDiskKind

type AzureDataDiskKind string
const (
	AzureDataDiskKindShared    AzureDataDiskKind = "Shared"
	AzureDataDiskKindDedicated AzureDataDiskKind = "Dedicated"
	AzureDataDiskKindManaged   AzureDataDiskKind = "Managed"
)

type AzureDiskVolumeSource

type AzureDiskVolumeSource struct {
	// diskName is the Name of the data disk in the blob storage
	DiskName string `json:"diskName"`
	// diskURI is the URI of data disk in the blob storage
	DataDiskURI string `json:"diskURI"`
	// cachingMode is the Host Caching mode: None, Read Only, Read Write.
	CachingMode AzureDataDiskCachingMode `json:"cachingMode,omitempty"`
	// fsType is Filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	FSType string `json:"fsType,omitempty"`
	// readOnly Defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	ReadOnly bool `json:"readOnly,omitempty"`
	// kind expected values are Shared: multiple blob disks per storage account  Dedicated: single blob disk per storage account  Managed: azure managed data disk (only in managed availability set). defaults to shared
	Kind AzureDataDiskKind `json:"kind,omitempty"`
}

func (*AzureDiskVolumeSource) DeepCopy

func (*AzureDiskVolumeSource) DeepCopyInto

func (in *AzureDiskVolumeSource) DeepCopyInto(out *AzureDiskVolumeSource)

type AzureFilePersistentVolumeSource

type AzureFilePersistentVolumeSource struct {
	// secretName is the name of secret that contains Azure Storage Account Name and Key
	SecretName string `json:"secretName"`
	// shareName is the azure Share Name
	ShareName string `json:"shareName"`
	// readOnly defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	ReadOnly bool `json:"readOnly,omitempty"`
	// secretNamespace is the namespace of the secret that contains Azure Storage Account Name and Key
	// default is the same as the Pod
	SecretNamespace string `json:"secretNamespace,omitempty"`
}

func (*AzureFilePersistentVolumeSource) DeepCopy

func (*AzureFilePersistentVolumeSource) DeepCopyInto

type AzureFileVolumeSource

type AzureFileVolumeSource struct {
	// secretName is the  name of secret that contains Azure Storage Account Name and Key
	SecretName string `json:"secretName"`
	// shareName is the azure share Name
	ShareName string `json:"shareName"`
	// readOnly defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*AzureFileVolumeSource) DeepCopy

func (*AzureFileVolumeSource) DeepCopyInto

func (in *AzureFileVolumeSource) DeepCopyInto(out *AzureFileVolumeSource)

type Binding

type Binding struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// The target object that you want to bind to the standard object.
	Target ObjectReference `json:"target"`
}

func (*Binding) DeepCopy

func (in *Binding) DeepCopy() *Binding

func (*Binding) DeepCopyInto

func (in *Binding) DeepCopyInto(out *Binding)

func (*Binding) DeepCopyObject

func (in *Binding) DeepCopyObject() runtime.Object

type BindingList

type BindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Binding `json:"items"`
}

func (*BindingList) DeepCopy

func (in *BindingList) DeepCopy() *BindingList

func (*BindingList) DeepCopyInto

func (in *BindingList) DeepCopyInto(out *BindingList)

func (*BindingList) DeepCopyObject

func (in *BindingList) DeepCopyObject() runtime.Object

type CSIPersistentVolumeSource

type CSIPersistentVolumeSource struct {
	// driver is the name of the driver to use for this volume.
	// Required.
	Driver string `json:"driver"`
	// volumeHandle is the unique volume name returned by the CSI volume
	// plugin’s CreateVolume to refer to the volume on all subsequent calls.
	// Required.
	VolumeHandle string `json:"volumeHandle"`
	// readOnly value to pass to ControllerPublishVolumeRequest.
	// Defaults to false (read/write).
	ReadOnly bool `json:"readOnly,omitempty"`
	// fsType to mount. Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs".
	FSType string `json:"fsType,omitempty"`
	// volumeAttributes of the volume to publish.
	VolumeAttributes map[string]string `json:"volumeAttributes,omitempty"`
	// controllerPublishSecretRef is a reference to the secret object containing
	// sensitive information to pass to the CSI driver to complete the CSI
	// ControllerPublishVolume and ControllerUnpublishVolume calls.
	// This field is optional, and may be empty if no secret is required. If the
	// secret object contains more than one secret, all secrets are passed.
	ControllerPublishSecretRef *SecretReference `json:"controllerPublishSecretRef,omitempty"`
	// nodeStageSecretRef is a reference to the secret object containing sensitive
	// information to pass to the CSI driver to complete the CSI NodeStageVolume
	// and NodeStageVolume and NodeUnstageVolume calls.
	// This field is optional, and may be empty if no secret is required. If the
	// secret object contains more than one secret, all secrets are passed.
	NodeStageSecretRef *SecretReference `json:"nodeStageSecretRef,omitempty"`
	// nodePublishSecretRef is a reference to the secret object containing
	// sensitive information to pass to the CSI driver to complete the CSI
	// NodePublishVolume and NodeUnpublishVolume calls.
	// This field is optional, and may be empty if no secret is required. If the
	// secret object contains more than one secret, all secrets are passed.
	NodePublishSecretRef *SecretReference `json:"nodePublishSecretRef,omitempty"`
	// controllerExpandSecretRef is a reference to the secret object containing
	// sensitive information to pass to the CSI driver to complete the CSI
	// ControllerExpandVolume call.
	// This field is optional, and may be empty if no secret is required. If the
	// secret object contains more than one secret, all secrets are passed.
	ControllerExpandSecretRef *SecretReference `json:"controllerExpandSecretRef,omitempty"`
	// nodeExpandSecretRef is a reference to the secret object containing
	// sensitive information to pass to the CSI driver to complete the CSI
	// NodeExpandVolume call.
	// This is a beta field which is enabled default by CSINodeExpandSecret feature gate.
	// This field is optional, may be omitted if no secret is required. If the
	// secret object contains more than one secret, all secrets are passed.
	NodeExpandSecretRef *SecretReference `json:"nodeExpandSecretRef,omitempty"`
}

func (*CSIPersistentVolumeSource) DeepCopy

func (*CSIPersistentVolumeSource) DeepCopyInto

type CSIVolumeSource

type CSIVolumeSource struct {
	// driver is the name of the CSI driver that handles this volume.
	// Consult with your admin for the correct name as registered in the cluster.
	Driver string `json:"driver"`
	// readOnly specifies a read-only configuration for the volume.
	// Defaults to false (read/write).
	ReadOnly bool `json:"readOnly,omitempty"`
	// fsType to mount. Ex. "ext4", "xfs", "ntfs".
	// If not provided, the empty value is passed to the associated CSI driver
	// which will determine the default filesystem to apply.
	FSType string `json:"fsType,omitempty"`
	// volumeAttributes stores driver-specific properties that are passed to the CSI
	// driver. Consult your driver's documentation for supported values.
	VolumeAttributes map[string]string `json:"volumeAttributes,omitempty"`
	// nodePublishSecretRef is a reference to the secret object containing
	// sensitive information to pass to the CSI driver to complete the CSI
	// NodePublishVolume and NodeUnpublishVolume calls.
	// This field is optional, and  may be empty if no secret is required. If the
	// secret object contains more than one secret, all secret references are passed.
	NodePublishSecretRef *LocalObjectReference `json:"nodePublishSecretRef,omitempty"`
}

func (*CSIVolumeSource) DeepCopy

func (in *CSIVolumeSource) DeepCopy() *CSIVolumeSource

func (*CSIVolumeSource) DeepCopyInto

func (in *CSIVolumeSource) DeepCopyInto(out *CSIVolumeSource)

type Capabilities

type Capabilities struct {
	// Added capabilities
	Add []string `json:"add"`
	// Removed capabilities
	Drop []string `json:"drop"`
}

func (*Capabilities) DeepCopy

func (in *Capabilities) DeepCopy() *Capabilities

func (*Capabilities) DeepCopyInto

func (in *Capabilities) DeepCopyInto(out *Capabilities)

type CephFSPersistentVolumeSource

type CephFSPersistentVolumeSource struct {
	// monitors is Required: Monitors is a collection of Ceph monitors
	// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
	Monitors []string `json:"monitors"`
	// path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /
	Path string `json:"path,omitempty"`
	// user is Optional: User is the rados user name, default is admin
	// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
	User string `json:"user,omitempty"`
	// secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
	// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
	SecretFile string `json:"secretFile,omitempty"`
	// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
	// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
	SecretRef *SecretReference `json:"secretRef,omitempty"`
	// readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*CephFSPersistentVolumeSource) DeepCopy

func (*CephFSPersistentVolumeSource) DeepCopyInto

type CephFSVolumeSource

type CephFSVolumeSource struct {
	// monitors is Required: Monitors is a collection of Ceph monitors
	// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
	Monitors []string `json:"monitors"`
	// path is Optional: Used as the mounted root, rather than the full Ceph tree, default is /
	Path string `json:"path,omitempty"`
	// user is optional: User is the rados user name, default is admin
	// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
	User string `json:"user,omitempty"`
	// secretFile is Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret
	// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
	SecretFile string `json:"secretFile,omitempty"`
	// secretRef is Optional: SecretRef is reference to the authentication secret for User, default is empty.
	// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
	SecretRef *LocalObjectReference `json:"secretRef,omitempty"`
	// readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	// More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*CephFSVolumeSource) DeepCopy

func (in *CephFSVolumeSource) DeepCopy() *CephFSVolumeSource

func (*CephFSVolumeSource) DeepCopyInto

func (in *CephFSVolumeSource) DeepCopyInto(out *CephFSVolumeSource)

type CinderPersistentVolumeSource

type CinderPersistentVolumeSource struct {
	// volumeID used to identify the volume in cinder.
	// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
	VolumeID string `json:"volumeID"`
	// fsType Filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
	FSType string `json:"fsType,omitempty"`
	// readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
	ReadOnly bool `json:"readOnly,omitempty"`
	// secretRef is Optional: points to a secret object containing parameters used to connect
	// to OpenStack.
	SecretRef *SecretReference `json:"secretRef,omitempty"`
}

func (*CinderPersistentVolumeSource) DeepCopy

func (*CinderPersistentVolumeSource) DeepCopyInto

type CinderVolumeSource

type CinderVolumeSource struct {
	// volumeID used to identify the volume in cinder.
	// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
	VolumeID string `json:"volumeID"`
	// fsType is the filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
	FSType string `json:"fsType,omitempty"`
	// readOnly defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
	ReadOnly bool `json:"readOnly,omitempty"`
	// secretRef is optional: points to a secret object containing parameters used to connect
	// to OpenStack.
	SecretRef *LocalObjectReference `json:"secretRef,omitempty"`
}

func (*CinderVolumeSource) DeepCopy

func (in *CinderVolumeSource) DeepCopy() *CinderVolumeSource

func (*CinderVolumeSource) DeepCopyInto

func (in *CinderVolumeSource) DeepCopyInto(out *CinderVolumeSource)

type ClaimSource

type ClaimSource struct {
	// ResourceClaimName is the name of a ResourceClaim object in the same
	// namespace as this pod.
	ResourceClaimName string `json:"resourceClaimName,omitempty"`
	// ResourceClaimTemplateName is the name of a ResourceClaimTemplate
	// object in the same namespace as this pod.
	// The template will be used to create a new ResourceClaim, which will
	// be bound to this pod. When this pod is deleted, the ResourceClaim
	// will also be deleted. The name of the ResourceClaim will be <pod
	// name>-<resource name>, where <resource name> is the
	// PodResourceClaim.Name. Pod validation will reject the pod if the
	// concatenated name is not valid for a ResourceClaim (e.g. too long).
	// An existing ResourceClaim with that name that is not owned by the
	// pod will not be used for the pod to avoid using an unrelated
	// resource by mistake. Scheduling and pod startup are then blocked
	// until the unrelated ResourceClaim is removed.
	// This field is immutable and no changes will be made to the
	// corresponding ResourceClaim by the control plane after creating the
	// ResourceClaim.
	ResourceClaimTemplateName string `json:"resourceClaimTemplateName,omitempty"`
}

func (*ClaimSource) DeepCopy

func (in *ClaimSource) DeepCopy() *ClaimSource

func (*ClaimSource) DeepCopyInto

func (in *ClaimSource) DeepCopyInto(out *ClaimSource)

type ClientIPConfig

type ClientIPConfig struct {
	// timeoutSeconds specifies the seconds of ClientIP type session sticky time.
	// The value must be >0 && <=86400(for 1 day) if ServiceAffinity == "ClientIP".
	// Default value is 10800(for 3 hours).
	TimeoutSeconds int `json:"timeoutSeconds,omitempty"`
}

func (*ClientIPConfig) DeepCopy

func (in *ClientIPConfig) DeepCopy() *ClientIPConfig

func (*ClientIPConfig) DeepCopyInto

func (in *ClientIPConfig) DeepCopyInto(out *ClientIPConfig)

type ComponentCondition

type ComponentCondition struct {
	// Type of condition for a component.
	// Valid value: "Healthy"
	Type ComponentConditionType `json:"type"`
	// Status of the condition for a component.
	// Valid values for "Healthy": "True", "False", or "Unknown".
	Status ConditionStatus `json:"status"`
	// Message about the condition for a component.
	// For example, information about a health check.
	Message string `json:"message,omitempty"`
	// Condition error code for a component.
	// For example, a health check error code.
	Error string `json:"error,omitempty"`
}

func (*ComponentCondition) DeepCopy

func (in *ComponentCondition) DeepCopy() *ComponentCondition

func (*ComponentCondition) DeepCopyInto

func (in *ComponentCondition) DeepCopyInto(out *ComponentCondition)

type ComponentConditionType

type ComponentConditionType string
const (
	ComponentConditionTypeHealthy ComponentConditionType = "Healthy"
)

type ComponentStatus

type ComponentStatus struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// List of component conditions observed
	Conditions []ComponentCondition `json:"conditions"`
}

func (*ComponentStatus) DeepCopy

func (in *ComponentStatus) DeepCopy() *ComponentStatus

func (*ComponentStatus) DeepCopyInto

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

func (*ComponentStatus) DeepCopyObject

func (in *ComponentStatus) DeepCopyObject() runtime.Object

type ComponentStatusList

type ComponentStatusList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []ComponentStatus `json:"items"`
}

func (*ComponentStatusList) DeepCopy

func (in *ComponentStatusList) DeepCopy() *ComponentStatusList

func (*ComponentStatusList) DeepCopyInto

func (in *ComponentStatusList) DeepCopyInto(out *ComponentStatusList)

func (*ComponentStatusList) DeepCopyObject

func (in *ComponentStatusList) DeepCopyObject() runtime.Object

type ConditionStatus

type ConditionStatus string
const (
	ConditionStatusTrue    ConditionStatus = "True"
	ConditionStatusFalse   ConditionStatus = "False"
	ConditionStatusUnknown ConditionStatus = "Unknown"
)

type ConfigMap

type ConfigMap struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Immutable, if set to true, ensures that data stored in the ConfigMap cannot
	// be updated (only object metadata can be modified).
	// If not set to true, the field can be modified at any time.
	// Defaulted to nil.
	Immutable bool `json:"immutable,omitempty"`
	// Data contains the configuration data.
	// Each key must consist of alphanumeric characters, '-', '_' or '.'.
	// Values with non-UTF-8 byte sequences must use the BinaryData field.
	// The keys stored in Data must not overlap with the keys in
	// the BinaryData field, this is enforced during validation process.
	Data map[string]string `json:"data,omitempty"`
	// BinaryData contains the binary data.
	// Each key must consist of alphanumeric characters, '-', '_' or '.'.
	// BinaryData can contain byte sequences that are not in the UTF-8 range.
	// The keys stored in BinaryData must not overlap with the ones in
	// the Data field, this is enforced during validation process.
	// Using this field will require 1.10+ apiserver and
	// kubelet.
	BinaryData map[string][]byte `json:"binaryData,omitempty"`
}

func (*ConfigMap) DeepCopy

func (in *ConfigMap) DeepCopy() *ConfigMap

func (*ConfigMap) DeepCopyInto

func (in *ConfigMap) DeepCopyInto(out *ConfigMap)

func (*ConfigMap) DeepCopyObject

func (in *ConfigMap) DeepCopyObject() runtime.Object

type ConfigMapEnvSource

type ConfigMapEnvSource struct {
	// The ConfigMap to select from.
	LocalObjectReference `json:",inline"`
	// Specify whether the ConfigMap must be defined
	Optional bool `json:"optional,omitempty"`
}

func (*ConfigMapEnvSource) DeepCopy

func (in *ConfigMapEnvSource) DeepCopy() *ConfigMapEnvSource

func (*ConfigMapEnvSource) DeepCopyInto

func (in *ConfigMapEnvSource) DeepCopyInto(out *ConfigMapEnvSource)

type ConfigMapKeySelector

type ConfigMapKeySelector struct {
	// The ConfigMap to select from.
	LocalObjectReference `json:",inline"`
	// The key to select.
	Key string `json:"key"`
	// Specify whether the ConfigMap or its key must be defined
	Optional bool `json:"optional,omitempty"`
}

func (*ConfigMapKeySelector) DeepCopy

func (*ConfigMapKeySelector) DeepCopyInto

func (in *ConfigMapKeySelector) DeepCopyInto(out *ConfigMapKeySelector)

type ConfigMapList

type ConfigMapList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []ConfigMap `json:"items"`
}

func (*ConfigMapList) DeepCopy

func (in *ConfigMapList) DeepCopy() *ConfigMapList

func (*ConfigMapList) DeepCopyInto

func (in *ConfigMapList) DeepCopyInto(out *ConfigMapList)

func (*ConfigMapList) DeepCopyObject

func (in *ConfigMapList) DeepCopyObject() runtime.Object

type ConfigMapNodeConfigSource

type ConfigMapNodeConfigSource struct {
	// Namespace is the metadata.namespace of the referenced ConfigMap.
	// This field is required in all cases.
	Namespace string `json:"namespace"`
	// Name is the metadata.name of the referenced ConfigMap.
	// This field is required in all cases.
	Name string `json:"name"`
	// UID is the metadata.UID of the referenced ConfigMap.
	// This field is forbidden in Node.Spec, and required in Node.Status.
	UID string `json:"uid,omitempty"`
	// ResourceVersion is the metadata.ResourceVersion of the referenced ConfigMap.
	// This field is forbidden in Node.Spec, and required in Node.Status.
	ResourceVersion string `json:"resourceVersion,omitempty"`
	// KubeletConfigKey declares which key of the referenced ConfigMap corresponds to the KubeletConfiguration structure
	// This field is required in all cases.
	KubeletConfigKey string `json:"kubeletConfigKey"`
}

func (*ConfigMapNodeConfigSource) DeepCopy

func (*ConfigMapNodeConfigSource) DeepCopyInto

type ConfigMapProjection

type ConfigMapProjection struct {
	LocalObjectReference `json:",inline"`
	// items if unspecified, each key-value pair in the Data field of the referenced
	// ConfigMap will be projected into the volume as a file whose name is the
	// key and content is the value. If specified, the listed keys will be
	// projected into the specified paths, and unlisted keys will not be
	// present. If a key is specified which is not present in the ConfigMap,
	// the volume setup will error unless it is marked optional. Paths must be
	// relative and may not contain the '..' path or start with '..'.
	Items []KeyToPath `json:"items"`
	// optional specify whether the ConfigMap or its keys must be defined
	Optional bool `json:"optional,omitempty"`
}

func (*ConfigMapProjection) DeepCopy

func (in *ConfigMapProjection) DeepCopy() *ConfigMapProjection

func (*ConfigMapProjection) DeepCopyInto

func (in *ConfigMapProjection) DeepCopyInto(out *ConfigMapProjection)

type ConfigMapVolumeSource

type ConfigMapVolumeSource struct {
	LocalObjectReference `json:",inline"`
	// items if unspecified, each key-value pair in the Data field of the referenced
	// ConfigMap will be projected into the volume as a file whose name is the
	// key and content is the value. If specified, the listed keys will be
	// projected into the specified paths, and unlisted keys will not be
	// present. If a key is specified which is not present in the ConfigMap,
	// the volume setup will error unless it is marked optional. Paths must be
	// relative and may not contain the '..' path or start with '..'.
	Items []KeyToPath `json:"items"`
	// defaultMode is optional: mode bits used to set permissions on created files by default.
	// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
	// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
	// Defaults to 0644.
	// Directories within the path are not affected by this setting.
	// This might be in conflict with other options that affect the file
	// mode, like fsGroup, and the result can be other mode bits set.
	DefaultMode int `json:"defaultMode,omitempty"`
	// optional specify whether the ConfigMap or its keys must be defined
	Optional bool `json:"optional,omitempty"`
}

func (*ConfigMapVolumeSource) DeepCopy

func (*ConfigMapVolumeSource) DeepCopyInto

func (in *ConfigMapVolumeSource) DeepCopyInto(out *ConfigMapVolumeSource)

type Container

type Container struct {
	// Name of the container specified as a DNS_LABEL.
	// Each container in a pod must have a unique name (DNS_LABEL).
	// Cannot be updated.
	Name string `json:"name"`
	// Container image name.
	// More info: https://kubernetes.io/docs/concepts/containers/images
	// This field is optional to allow higher level config management to default or override
	// container images in workload controllers like Deployments and StatefulSets.
	Image string `json:"image,omitempty"`
	// Entrypoint array. Not executed within a shell.
	// The container image's ENTRYPOINT is used if this is not provided.
	// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
	// cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
	// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
	// produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
	// of whether the variable exists or not. Cannot be updated.
	// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
	Command []string `json:"command"`
	// Arguments to the entrypoint.
	// The container image's CMD is used if this is not provided.
	// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
	// cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
	// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
	// produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
	// of whether the variable exists or not. Cannot be updated.
	// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
	Args []string `json:"args"`
	// Container's working directory.
	// If not specified, the container runtime's default will be used, which
	// might be configured in the container image.
	// Cannot be updated.
	WorkingDir string `json:"workingDir,omitempty"`
	// List of ports to expose from the container. Not specifying a port here
	// DOES NOT prevent that port from being exposed. Any port which is
	// listening on the default "0.0.0.0" address inside a container will be
	// accessible from the network.
	// Modifying this array with strategic merge patch may corrupt the data.
	// For more information See https://github.com/kubernetes/kubernetes/issues/108255.
	// Cannot be updated.
	Ports []ContainerPort `json:"ports"`
	// List of sources to populate environment variables in the container.
	// The keys defined within a source must be a C_IDENTIFIER. All invalid keys
	// will be reported as an event when the container is starting. When a key exists in multiple
	// sources, the value associated with the last source will take precedence.
	// Values defined by an Env with a duplicate key will take precedence.
	// Cannot be updated.
	EnvFrom []EnvFromSource `json:"envFrom"`
	// List of environment variables to set in the container.
	// Cannot be updated.
	Env []EnvVar `json:"env"`
	// Compute Resources required by this container.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	Resources *ResourceRequirements `json:"resources,omitempty"`
	// Resources resize policy for the container.
	ResizePolicy []ContainerResizePolicy `json:"resizePolicy"`
	// Pod volumes to mount into the container's filesystem.
	// Cannot be updated.
	VolumeMounts []VolumeMount `json:"volumeMounts"`
	// volumeDevices is the list of block devices to be used by the container.
	VolumeDevices []VolumeDevice `json:"volumeDevices"`
	// Periodic probe of container liveness.
	// Container will be restarted if the probe fails.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
	LivenessProbe *Probe `json:"livenessProbe,omitempty"`
	// Periodic probe of container service readiness.
	// Container will be removed from service endpoints if the probe fails.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
	ReadinessProbe *Probe `json:"readinessProbe,omitempty"`
	// StartupProbe indicates that the Pod has successfully initialized.
	// If specified, no other probes are executed until this completes successfully.
	// If this probe fails, the Pod will be restarted, just as if the livenessProbe failed.
	// This can be used to provide different probe parameters at the beginning of a Pod's lifecycle,
	// when it might take a long time to load data or warm a cache, than during steady-state operation.
	// This cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
	StartupProbe *Probe `json:"startupProbe,omitempty"`
	// Actions that the management system should take in response to container lifecycle events.
	// Cannot be updated.
	Lifecycle *Lifecycle `json:"lifecycle,omitempty"`
	// Optional: Path at which the file to which the container's termination message
	// will be written is mounted into the container's filesystem.
	// Message written is intended to be brief final status, such as an assertion failure message.
	// Will be truncated by the node if greater than 4096 bytes. The total message length across
	// all containers will be limited to 12kb.
	// Defaults to /dev/termination-log.
	// Cannot be updated.
	TerminationMessagePath string `json:"terminationMessagePath,omitempty"`
	// Indicate how the termination message should be populated. File will use the contents of
	// terminationMessagePath to populate the container status message on both success and failure.
	// FallbackToLogsOnError will use the last chunk of container log output if the termination
	// message file is empty and the container exited with an error.
	// The log output is limited to 2048 bytes or 80 lines, whichever is smaller.
	// Defaults to File.
	// Cannot be updated.
	TerminationMessagePolicy TerminationMessagePolicy `json:"terminationMessagePolicy,omitempty"`
	// Image pull policy.
	// One of Always, Never, IfNotPresent.
	// Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
	ImagePullPolicy PullPolicy `json:"imagePullPolicy,omitempty"`
	// SecurityContext defines the security options the container should be run with.
	// If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/
	SecurityContext *SecurityContext `json:"securityContext,omitempty"`
	// Whether this container should allocate a buffer for stdin in the container runtime. If this
	// is not set, reads from stdin in the container will always result in EOF.
	// Default is false.
	Stdin bool `json:"stdin,omitempty"`
	// Whether the container runtime should close the stdin channel after it has been opened by
	// a single attach. When stdin is true the stdin stream will remain open across multiple attach
	// sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the
	// first client attaches to stdin, and then remains open and accepts data until the client disconnects,
	// at which time stdin is closed and remains closed until the container is restarted. If this
	// flag is false, a container processes that reads from stdin will never receive an EOF.
	// Default is false
	StdinOnce bool `json:"stdinOnce,omitempty"`
	// Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.
	// Default is false.
	TTY bool `json:"tty,omitempty"`
}

func (*Container) DeepCopy

func (in *Container) DeepCopy() *Container

func (*Container) DeepCopyInto

func (in *Container) DeepCopyInto(out *Container)

type ContainerImage

type ContainerImage struct {
	// Names by which this image is known.
	// e.g. ["kubernetes.example/hyperkube:v1.0.7", "cloud-vendor.registry.example/cloud-vendor/hyperkube:v1.0.7"]
	Names []string `json:"names"`
	// The size of the image in bytes.
	SizeBytes int64 `json:"sizeBytes,omitempty"`
}

func (*ContainerImage) DeepCopy

func (in *ContainerImage) DeepCopy() *ContainerImage

func (*ContainerImage) DeepCopyInto

func (in *ContainerImage) DeepCopyInto(out *ContainerImage)

type ContainerPort

type ContainerPort struct {
	// If specified, this must be an IANA_SVC_NAME and unique within the pod. Each
	// named port in a pod must have a unique name. Name for the port that can be
	// referred to by services.
	Name string `json:"name,omitempty"`
	// Number of port to expose on the host.
	// If specified, this must be a valid port number, 0 < x < 65536.
	// If HostNetwork is specified, this must match ContainerPort.
	// Most containers do not need this.
	HostPort int `json:"hostPort,omitempty"`
	// Number of port to expose on the pod's IP address.
	// This must be a valid port number, 0 < x < 65536.
	ContainerPort int `json:"containerPort"`
	// Protocol for port. Must be UDP, TCP, or SCTP.
	// Defaults to "TCP".
	Protocol Protocol `json:"protocol,omitempty"`
	// What host IP to bind the external port to.
	HostIP string `json:"hostIP,omitempty"`
}

func (*ContainerPort) DeepCopy

func (in *ContainerPort) DeepCopy() *ContainerPort

func (*ContainerPort) DeepCopyInto

func (in *ContainerPort) DeepCopyInto(out *ContainerPort)

type ContainerResizePolicy

type ContainerResizePolicy struct {
	// Name of the resource to which this resource resize policy applies.
	// Supported values: cpu, memory.
	ResourceName ResourceName `json:"resourceName"`
	// Restart policy to apply when specified resource is resized.
	// If not specified, it defaults to NotRequired.
	RestartPolicy ResourceResizeRestartPolicy `json:"restartPolicy"`
}

func (*ContainerResizePolicy) DeepCopy

func (*ContainerResizePolicy) DeepCopyInto

func (in *ContainerResizePolicy) DeepCopyInto(out *ContainerResizePolicy)

type ContainerState

type ContainerState struct {
	// Details about a waiting container
	Waiting *ContainerStateWaiting `json:"waiting,omitempty"`
	// Details about a running container
	Running *ContainerStateRunning `json:"running,omitempty"`
	// Details about a terminated container
	Terminated *ContainerStateTerminated `json:"terminated,omitempty"`
}

func (*ContainerState) DeepCopy

func (in *ContainerState) DeepCopy() *ContainerState

func (*ContainerState) DeepCopyInto

func (in *ContainerState) DeepCopyInto(out *ContainerState)

type ContainerStateRunning

type ContainerStateRunning struct {
	// Time at which the container was last (re-)started
	StartedAt *metav1.Time `json:"startedAt,omitempty"`
}

func (*ContainerStateRunning) DeepCopy

func (*ContainerStateRunning) DeepCopyInto

func (in *ContainerStateRunning) DeepCopyInto(out *ContainerStateRunning)

type ContainerStateTerminated

type ContainerStateTerminated struct {
	// Exit status from the last termination of the container
	ExitCode int `json:"exitCode"`
	// Signal from the last termination of the container
	Signal int `json:"signal,omitempty"`
	// (brief) reason from the last termination of the container
	Reason string `json:"reason,omitempty"`
	// Message regarding the last termination of the container
	Message string `json:"message,omitempty"`
	// Time at which previous execution of the container started
	StartedAt *metav1.Time `json:"startedAt,omitempty"`
	// Time at which the container last terminated
	FinishedAt *metav1.Time `json:"finishedAt,omitempty"`
	// Container's ID in the format '<type>://<container_id>'
	ContainerID string `json:"containerID,omitempty"`
}

func (*ContainerStateTerminated) DeepCopy

func (*ContainerStateTerminated) DeepCopyInto

func (in *ContainerStateTerminated) DeepCopyInto(out *ContainerStateTerminated)

type ContainerStateWaiting

type ContainerStateWaiting struct {
	// (brief) reason the container is not yet running.
	Reason string `json:"reason,omitempty"`
	// Message regarding why the container is not yet running.
	Message string `json:"message,omitempty"`
}

func (*ContainerStateWaiting) DeepCopy

func (*ContainerStateWaiting) DeepCopyInto

func (in *ContainerStateWaiting) DeepCopyInto(out *ContainerStateWaiting)

type ContainerStatus

type ContainerStatus struct {
	// Name is a DNS_LABEL representing the unique name of the container.
	// Each container in a pod must have a unique name across all container types.
	// Cannot be updated.
	Name string `json:"name"`
	// State holds details about the container's current condition.
	State *ContainerState `json:"state,omitempty"`
	// LastTerminationState holds the last termination state of the container to
	// help debug container crashes and restarts. This field is not
	// populated if the container is still running and RestartCount is 0.
	LastTerminationState *ContainerState `json:"lastState,omitempty"`
	// Ready specifies whether the container is currently passing its readiness check.
	// The value will change as readiness probes keep executing. If no readiness
	// probes are specified, this field defaults to true once the container is
	// fully started (see Started field).
	// The value is typically used to determine whether a container is ready to
	// accept traffic.
	Ready bool `json:"ready"`
	// RestartCount holds the number of times the container has been restarted.
	// Kubelet makes an effort to always increment the value, but there
	// are cases when the state may be lost due to node restarts and then the value
	// may be reset to 0. The value is never negative.
	RestartCount int `json:"restartCount"`
	// Image is the name of container image that the container is running.
	// The container image may not match the image used in the PodSpec,
	// as it may have been resolved by the runtime.
	// More info: https://kubernetes.io/docs/concepts/containers/images.
	Image string `json:"image"`
	// ImageID is the image ID of the container's image. The image ID may not
	// match the image ID of the image used in the PodSpec, as it may have been
	// resolved by the runtime.
	ImageID string `json:"imageID"`
	// ContainerID is the ID of the container in the format '<type>://<container_id>'.
	// Where type is a container runtime identifier, returned from Version call of CRI API
	// (for example "containerd").
	ContainerID string `json:"containerID,omitempty"`
	// Started indicates whether the container has finished its postStart lifecycle hook
	// and passed its startup probe.
	// Initialized as false, becomes true after startupProbe is considered
	// successful. Resets to false when the container is restarted, or if kubelet
	// loses state temporarily. In both cases, startup probes will run again.
	// Is always true when no startupProbe is defined and container is running and
	// has passed the postStart lifecycle hook. The null value must be treated the
	// same as false.
	Started bool `json:"started,omitempty"`
	// AllocatedResources represents the compute resources allocated for this container by the
	// node. Kubelet sets this value to Container.Resources.Requests upon successful pod admission
	// and after successfully admitting desired pod resize.
	AllocatedResources map[string]apiresource.Quantity `json:"allocatedResources,omitempty"`
	// Resources represents the compute resource requests and limits that have been successfully
	// enacted on the running container after it has been started or has been successfully resized.
	Resources *ResourceRequirements `json:"resources,omitempty"`
}

func (*ContainerStatus) DeepCopy

func (in *ContainerStatus) DeepCopy() *ContainerStatus

func (*ContainerStatus) DeepCopyInto

func (in *ContainerStatus) DeepCopyInto(out *ContainerStatus)

type DNSPolicy

type DNSPolicy string
const (
	DNSPolicyClusterFirstWithHostNet DNSPolicy = "ClusterFirstWithHostNet"
	DNSPolicyClusterFirst            DNSPolicy = "ClusterFirst"
	DNSPolicyDefault                 DNSPolicy = "Default"
	DNSPolicyNone                    DNSPolicy = "None"
)

type DaemonEndpoint

type DaemonEndpoint struct {
	// Port number of the given endpoint.
	Port int `json:"Port"`
}

func (*DaemonEndpoint) DeepCopy

func (in *DaemonEndpoint) DeepCopy() *DaemonEndpoint

func (*DaemonEndpoint) DeepCopyInto

func (in *DaemonEndpoint) DeepCopyInto(out *DaemonEndpoint)

type DownwardAPIProjection

type DownwardAPIProjection []DownwardAPIVolumeFile

type DownwardAPIVolumeFile

type DownwardAPIVolumeFile struct {
	// Required: Path is  the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..'
	Path string `json:"path"`
	// Required: Selects a field of the pod: only annotations, labels, name and namespace are supported.
	FieldRef *ObjectFieldSelector `json:"fieldRef,omitempty"`
	// Selects a resource of the container: only resources limits and requests
	// (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported.
	ResourceFieldRef *ResourceFieldSelector `json:"resourceFieldRef,omitempty"`
	// Optional: mode bits used to set permissions on this file, must be an octal value
	// between 0000 and 0777 or a decimal value between 0 and 511.
	// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
	// If not specified, the volume defaultMode will be used.
	// This might be in conflict with other options that affect the file
	// mode, like fsGroup, and the result can be other mode bits set.
	Mode int `json:"mode,omitempty"`
}

func (*DownwardAPIVolumeFile) DeepCopy

func (*DownwardAPIVolumeFile) DeepCopyInto

func (in *DownwardAPIVolumeFile) DeepCopyInto(out *DownwardAPIVolumeFile)

type DownwardAPIVolumeSource

type DownwardAPIVolumeSource struct {
	// Items is a list of downward API volume file
	Items []DownwardAPIVolumeFile `json:"items"`
	// Optional: mode bits to use on created files by default. Must be a
	// Optional: mode bits used to set permissions on created files by default.
	// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
	// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
	// Defaults to 0644.
	// Directories within the path are not affected by this setting.
	// This might be in conflict with other options that affect the file
	// mode, like fsGroup, and the result can be other mode bits set.
	DefaultMode int `json:"defaultMode,omitempty"`
}

func (*DownwardAPIVolumeSource) DeepCopy

func (*DownwardAPIVolumeSource) DeepCopyInto

func (in *DownwardAPIVolumeSource) DeepCopyInto(out *DownwardAPIVolumeSource)

type EmptyDirVolumeSource

type EmptyDirVolumeSource struct {
	// medium represents what type of storage medium should back this directory.
	// The default is "" which means to use the node's default medium.
	// Must be an empty string (default) or Memory.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
	Medium StorageMedium `json:"medium,omitempty"`
	// sizeLimit is the total amount of local storage required for this EmptyDir volume.
	// The size limit is also applicable for memory medium.
	// The maximum usage on memory medium EmptyDir would be the minimum value between
	// the SizeLimit specified here and the sum of memory limits of all containers in a pod.
	// The default is nil which means that the limit is undefined.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
	SizeLimit *apiresource.Quantity `json:"sizeLimit,omitempty"`
}

func (*EmptyDirVolumeSource) DeepCopy

func (*EmptyDirVolumeSource) DeepCopyInto

func (in *EmptyDirVolumeSource) DeepCopyInto(out *EmptyDirVolumeSource)

type EndpointAddress

type EndpointAddress struct {
	// The IP of this endpoint.
	// May not be loopback (127.0.0.0/8 or ::1), link-local (169.254.0.0/16 or fe80::/10),
	// or link-local multicast (224.0.0.0/24 or ff02::/16).
	IP string `json:"ip"`
	// The Hostname of this endpoint
	Hostname string `json:"hostname,omitempty"`
	// Optional: Node hosting this endpoint. This can be used to determine endpoints local to a node.
	NodeName string `json:"nodeName,omitempty"`
	// Reference to object providing the endpoint.
	TargetRef *ObjectReference `json:"targetRef,omitempty"`
}

func (*EndpointAddress) DeepCopy

func (in *EndpointAddress) DeepCopy() *EndpointAddress

func (*EndpointAddress) DeepCopyInto

func (in *EndpointAddress) DeepCopyInto(out *EndpointAddress)

type EndpointPort

type EndpointPort struct {
	// The name of this port.  This must match the 'name' field in the
	// corresponding ServicePort.
	// Must be a DNS_LABEL.
	// Optional only if one port is defined.
	Name string `json:"name,omitempty"`
	// The port number of the endpoint.
	Port int `json:"port"`
	// The IP protocol for this port.
	// Must be UDP, TCP, or SCTP.
	// Default is TCP.
	Protocol Protocol `json:"protocol,omitempty"`
	// The application protocol for this port.
	// This is used as a hint for implementations to offer richer behavior for protocols that they understand.
	// This field follows standard Kubernetes label syntax.
	// Valid values are either:
	// * Un-prefixed protocol names - reserved for IANA standard service names (as per
	// RFC-6335 and https://www.iana.org/assignments/service-names).
	// * Kubernetes-defined prefixed names:
	// * 'kubernetes.io/h2c' - HTTP/2 over cleartext as described in https://www.rfc-editor.org/rfc/rfc7540
	// * Other protocols should use implementation-defined prefixed names such as
	// mycompany.com/my-custom-protocol.
	AppProtocol string `json:"appProtocol,omitempty"`
}

func (*EndpointPort) DeepCopy

func (in *EndpointPort) DeepCopy() *EndpointPort

func (*EndpointPort) DeepCopyInto

func (in *EndpointPort) DeepCopyInto(out *EndpointPort)

type EndpointSubset

type EndpointSubset struct {
	// IP addresses which offer the related ports that are marked as ready. These endpoints
	// should be considered safe for load balancers and clients to utilize.
	Addresses []EndpointAddress `json:"addresses"`
	// IP addresses which offer the related ports but are not currently marked as ready
	// because they have not yet finished starting, have recently failed a readiness check,
	// or have recently failed a liveness check.
	NotReadyAddresses []EndpointAddress `json:"notReadyAddresses"`
	// Port numbers available on the related IP addresses.
	Ports []EndpointPort `json:"ports"`
}

func (*EndpointSubset) DeepCopy

func (in *EndpointSubset) DeepCopy() *EndpointSubset

func (*EndpointSubset) DeepCopyInto

func (in *EndpointSubset) DeepCopyInto(out *EndpointSubset)

type Endpoints

type Endpoints struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// The set of all endpoints is the union of all subsets. Addresses are placed into
	// subsets according to the IPs they share. A single address with multiple ports,
	// some of which are ready and some of which are not (because they come from
	// different containers) will result in the address being displayed in different
	// subsets for the different ports. No address will appear in both Addresses and
	// NotReadyAddresses in the same subset.
	// Sets of addresses and ports that comprise a service.
	Subsets []EndpointSubset `json:"subsets"`
}

func (*Endpoints) DeepCopy

func (in *Endpoints) DeepCopy() *Endpoints

func (*Endpoints) DeepCopyInto

func (in *Endpoints) DeepCopyInto(out *Endpoints)

func (*Endpoints) DeepCopyObject

func (in *Endpoints) DeepCopyObject() runtime.Object

type EndpointsList

type EndpointsList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Endpoints `json:"items"`
}

func (*EndpointsList) DeepCopy

func (in *EndpointsList) DeepCopy() *EndpointsList

func (*EndpointsList) DeepCopyInto

func (in *EndpointsList) DeepCopyInto(out *EndpointsList)

func (*EndpointsList) DeepCopyObject

func (in *EndpointsList) DeepCopyObject() runtime.Object

type EnvFromSource

type EnvFromSource struct {
	// An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
	Prefix string `json:"prefix,omitempty"`
	// The ConfigMap to select from
	ConfigMapRef *ConfigMapEnvSource `json:"configMapRef,omitempty"`
	// The Secret to select from
	SecretRef *SecretEnvSource `json:"secretRef,omitempty"`
}

func (*EnvFromSource) DeepCopy

func (in *EnvFromSource) DeepCopy() *EnvFromSource

func (*EnvFromSource) DeepCopyInto

func (in *EnvFromSource) DeepCopyInto(out *EnvFromSource)

type EnvVar

type EnvVar struct {
	// Name of the environment variable. Must be a C_IDENTIFIER.
	Name string `json:"name"`
	// Variable references $(VAR_NAME) are expanded
	// using the previously defined environment variables in the container and
	// any service environment variables. If a variable cannot be resolved,
	// the reference in the input string will be unchanged. Double $$ are reduced
	// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e.
	// "$$(VAR_NAME)" will produce the string literal "$(VAR_NAME)".
	// Escaped references will never be expanded, regardless of whether the variable
	// exists or not.
	// Defaults to "".
	Value string `json:"value,omitempty"`
	// Source for the environment variable's value. Cannot be used if value is not empty.
	ValueFrom *EnvVarSource `json:"valueFrom,omitempty"`
}

func (*EnvVar) DeepCopy

func (in *EnvVar) DeepCopy() *EnvVar

func (*EnvVar) DeepCopyInto

func (in *EnvVar) DeepCopyInto(out *EnvVar)

type EnvVarSource

type EnvVarSource struct {
	// Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['<KEY>']`, `metadata.annotations['<KEY>']`,
	// spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs.
	FieldRef *ObjectFieldSelector `json:"fieldRef,omitempty"`
	// Selects a resource of the container: only resources limits and requests
	// (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported.
	ResourceFieldRef *ResourceFieldSelector `json:"resourceFieldRef,omitempty"`
	// Selects a key of a ConfigMap.
	ConfigMapKeyRef *ConfigMapKeySelector `json:"configMapKeyRef,omitempty"`
	// Selects a key of a secret in the pod's namespace
	SecretKeyRef *SecretKeySelector `json:"secretKeyRef,omitempty"`
}

func (*EnvVarSource) DeepCopy

func (in *EnvVarSource) DeepCopy() *EnvVarSource

func (*EnvVarSource) DeepCopyInto

func (in *EnvVarSource) DeepCopyInto(out *EnvVarSource)

type EphemeralContainer

type EphemeralContainer struct {
	// Ephemeral containers have all of the fields of Container, plus additional fields
	// specific to ephemeral containers. Fields in common with Container are in the
	// following inlined struct so than an EphemeralContainer may easily be converted
	// to a Container.
	EphemeralContainerCommon `json:",inline"`
	// If set, the name of the container from PodSpec that this ephemeral container targets.
	// The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container.
	// If not set then the ephemeral container uses the namespaces configured in the Pod spec.
	// The container runtime must implement support for this feature. If the runtime does not
	// support namespace targeting then the result of setting this field is undefined.
	TargetContainerName string `json:"targetContainerName,omitempty"`
}

func (*EphemeralContainer) DeepCopy

func (in *EphemeralContainer) DeepCopy() *EphemeralContainer

func (*EphemeralContainer) DeepCopyInto

func (in *EphemeralContainer) DeepCopyInto(out *EphemeralContainer)

type EphemeralContainerCommon

type EphemeralContainerCommon struct {
	// Name of the ephemeral container specified as a DNS_LABEL.
	// This name must be unique among all containers, init containers and ephemeral containers.
	Name string `json:"name"`
	// Container image name.
	// More info: https://kubernetes.io/docs/concepts/containers/images
	Image string `json:"image,omitempty"`
	// Entrypoint array. Not executed within a shell.
	// The image's ENTRYPOINT is used if this is not provided.
	// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
	// cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
	// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
	// produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
	// of whether the variable exists or not. Cannot be updated.
	// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
	Command []string `json:"command"`
	// Arguments to the entrypoint.
	// The image's CMD is used if this is not provided.
	// Variable references $(VAR_NAME) are expanded using the container's environment. If a variable
	// cannot be resolved, the reference in the input string will be unchanged. Double $$ are reduced
	// to a single $, which allows for escaping the $(VAR_NAME) syntax: i.e. "$$(VAR_NAME)" will
	// produce the string literal "$(VAR_NAME)". Escaped references will never be expanded, regardless
	// of whether the variable exists or not. Cannot be updated.
	// More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell
	Args []string `json:"args"`
	// Container's working directory.
	// If not specified, the container runtime's default will be used, which
	// might be configured in the container image.
	// Cannot be updated.
	WorkingDir string `json:"workingDir,omitempty"`
	// Ports are not allowed for ephemeral containers.
	Ports []ContainerPort `json:"ports"`
	// List of sources to populate environment variables in the container.
	// The keys defined within a source must be a C_IDENTIFIER. All invalid keys
	// will be reported as an event when the container is starting. When a key exists in multiple
	// sources, the value associated with the last source will take precedence.
	// Values defined by an Env with a duplicate key will take precedence.
	// Cannot be updated.
	EnvFrom []EnvFromSource `json:"envFrom"`
	// List of environment variables to set in the container.
	// Cannot be updated.
	Env []EnvVar `json:"env"`
	// Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources
	// already allocated to the pod.
	Resources *ResourceRequirements `json:"resources,omitempty"`
	// Resources resize policy for the container.
	ResizePolicy []ContainerResizePolicy `json:"resizePolicy"`
	// Pod volumes to mount into the container's filesystem. Subpath mounts are not allowed for ephemeral containers.
	// Cannot be updated.
	VolumeMounts []VolumeMount `json:"volumeMounts"`
	// volumeDevices is the list of block devices to be used by the container.
	VolumeDevices []VolumeDevice `json:"volumeDevices"`
	// Probes are not allowed for ephemeral containers.
	LivenessProbe *Probe `json:"livenessProbe,omitempty"`
	// Probes are not allowed for ephemeral containers.
	ReadinessProbe *Probe `json:"readinessProbe,omitempty"`
	// Probes are not allowed for ephemeral containers.
	StartupProbe *Probe `json:"startupProbe,omitempty"`
	// Lifecycle is not allowed for ephemeral containers.
	Lifecycle *Lifecycle `json:"lifecycle,omitempty"`
	// Optional: Path at which the file to which the container's termination message
	// will be written is mounted into the container's filesystem.
	// Message written is intended to be brief final status, such as an assertion failure message.
	// Will be truncated by the node if greater than 4096 bytes. The total message length across
	// all containers will be limited to 12kb.
	// Defaults to /dev/termination-log.
	// Cannot be updated.
	TerminationMessagePath string `json:"terminationMessagePath,omitempty"`
	// Indicate how the termination message should be populated. File will use the contents of
	// terminationMessagePath to populate the container status message on both success and failure.
	// FallbackToLogsOnError will use the last chunk of container log output if the termination
	// message file is empty and the container exited with an error.
	// The log output is limited to 2048 bytes or 80 lines, whichever is smaller.
	// Defaults to File.
	// Cannot be updated.
	TerminationMessagePolicy TerminationMessagePolicy `json:"terminationMessagePolicy,omitempty"`
	// Image pull policy.
	// One of Always, Never, IfNotPresent.
	// Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/containers/images#updating-images
	ImagePullPolicy PullPolicy `json:"imagePullPolicy,omitempty"`
	// Optional: SecurityContext defines the security options the ephemeral container should be run with.
	// If set, the fields of SecurityContext override the equivalent fields of PodSecurityContext.
	SecurityContext *SecurityContext `json:"securityContext,omitempty"`
	// Whether this container should allocate a buffer for stdin in the container runtime. If this
	// is not set, reads from stdin in the container will always result in EOF.
	// Default is false.
	Stdin bool `json:"stdin,omitempty"`
	// Whether the container runtime should close the stdin channel after it has been opened by
	// a single attach. When stdin is true the stdin stream will remain open across multiple attach
	// sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the
	// first client attaches to stdin, and then remains open and accepts data until the client disconnects,
	// at which time stdin is closed and remains closed until the container is restarted. If this
	// flag is false, a container processes that reads from stdin will never receive an EOF.
	// Default is false
	StdinOnce bool `json:"stdinOnce,omitempty"`
	// Whether this container should allocate a TTY for itself, also requires 'stdin' to be true.
	// Default is false.
	TTY bool `json:"tty,omitempty"`
}

func (*EphemeralContainerCommon) DeepCopy

func (*EphemeralContainerCommon) DeepCopyInto

func (in *EphemeralContainerCommon) DeepCopyInto(out *EphemeralContainerCommon)

type EphemeralVolumeSource

type EphemeralVolumeSource struct {
	// Will be used to create a stand-alone PVC to provision the volume.
	// The pod in which this EphemeralVolumeSource is embedded will be the
	// owner of the PVC, i.e. the PVC will be deleted together with the
	// pod.  The name of the PVC will be `<pod name>-<volume name>` where
	// `<volume name>` is the name from the `PodSpec.Volumes` array
	// entry. Pod validation will reject the pod if the concatenated name
	// is not valid for a PVC (for example, too long).
	// An existing PVC with that name that is not owned by the pod
	// will *not* be used for the pod to avoid using an unrelated
	// volume by mistake. Starting the pod is then blocked until
	// the unrelated PVC is removed. If such a pre-created PVC is
	// meant to be used by the pod, the PVC has to updated with an
	// owner reference to the pod once the pod exists. Normally
	// this should not be necessary, but it may be useful when
	// manually reconstructing a broken cluster.
	// This field is read-only and no changes will be made by Kubernetes
	// to the PVC after it has been created.
	// Required, must not be nil.
	VolumeClaimTemplate *PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"`
}

func (*EphemeralVolumeSource) DeepCopy

func (*EphemeralVolumeSource) DeepCopyInto

func (in *EphemeralVolumeSource) DeepCopyInto(out *EphemeralVolumeSource)

type Event

type Event struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// The object that this event is about.
	InvolvedObject ObjectReference `json:"involvedObject"`
	// This should be a short, machine understandable string that gives the reason
	// for the transition into the object's current status.
	Reason string `json:"reason,omitempty"`
	// A human-readable description of the status of this operation.
	Message string `json:"message,omitempty"`
	// The component reporting this event. Should be a short machine understandable string.
	Source *EventSource `json:"source,omitempty"`
	// The time at which the event was first recorded. (Time of server receipt is in TypeMeta.)
	FirstTimestamp *metav1.Time `json:"firstTimestamp,omitempty"`
	// The time at which the most recent occurrence of this event was recorded.
	LastTimestamp *metav1.Time `json:"lastTimestamp,omitempty"`
	// The number of times this event has occurred.
	Count int `json:"count,omitempty"`
	// Type of this event (Normal, Warning), new types could be added in the future
	Type string `json:"type,omitempty"`
	// Time when this Event was first observed.
	EventTime *metav1.MicroTime `json:"eventTime,omitempty"`
	// Data about the Event series this event represents or nil if it's a singleton Event.
	Series *EventSeries `json:"series,omitempty"`
	// What action was taken/failed regarding to the Regarding object.
	Action string `json:"action,omitempty"`
	// Optional secondary object for more complex actions.
	Related *ObjectReference `json:"related,omitempty"`
	// Name of the controller that emitted this Event, e.g. `kubernetes.io/kubelet`.
	ReportingController string `json:"reportingComponent"`
	// ID of the controller instance, e.g. `kubelet-xyzf`.
	ReportingInstance string `json:"reportingInstance"`
}

func (*Event) DeepCopy

func (in *Event) DeepCopy() *Event

func (*Event) DeepCopyInto

func (in *Event) DeepCopyInto(out *Event)

func (*Event) DeepCopyObject

func (in *Event) DeepCopyObject() runtime.Object

type EventList

type EventList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Event `json:"items"`
}

func (*EventList) DeepCopy

func (in *EventList) DeepCopy() *EventList

func (*EventList) DeepCopyInto

func (in *EventList) DeepCopyInto(out *EventList)

func (*EventList) DeepCopyObject

func (in *EventList) DeepCopyObject() runtime.Object

type EventSeries

type EventSeries struct {
	// Number of occurrences in this series up to the last heartbeat time
	Count int `json:"count,omitempty"`
	// Time of the last occurrence observed
	LastObservedTime *metav1.MicroTime `json:"lastObservedTime,omitempty"`
}

func (*EventSeries) DeepCopy

func (in *EventSeries) DeepCopy() *EventSeries

func (*EventSeries) DeepCopyInto

func (in *EventSeries) DeepCopyInto(out *EventSeries)

type EventSource

type EventSource struct {
	// Component from which the event is generated.
	Component string `json:"component,omitempty"`
	// Node name on which the event is generated.
	Host string `json:"host,omitempty"`
}

func (*EventSource) DeepCopy

func (in *EventSource) DeepCopy() *EventSource

func (*EventSource) DeepCopyInto

func (in *EventSource) DeepCopyInto(out *EventSource)

type ExecAction

type ExecAction struct {
	// Command is the command line to execute inside the container, the working directory for the
	// command  is root ('/') in the container's filesystem. The command is simply exec'd, it is
	// not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use
	// a shell, you need to explicitly call out to that shell.
	// Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
	Command []string `json:"command"`
}

func (*ExecAction) DeepCopy

func (in *ExecAction) DeepCopy() *ExecAction

func (*ExecAction) DeepCopyInto

func (in *ExecAction) DeepCopyInto(out *ExecAction)

type FCVolumeSource

type FCVolumeSource struct {
	// targetWWNs is Optional: FC target worldwide names (WWNs)
	TargetWWNs []string `json:"targetWWNs"`
	// lun is Optional: FC target lun number
	Lun int `json:"lun,omitempty"`
	// fsType is the filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	FSType string `json:"fsType,omitempty"`
	// readOnly is Optional: Defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	ReadOnly bool `json:"readOnly,omitempty"`
	// wwids Optional: FC volume world wide identifiers (wwids)
	// Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously.
	WWIDs []string `json:"wwids"`
}

func (*FCVolumeSource) DeepCopy

func (in *FCVolumeSource) DeepCopy() *FCVolumeSource

func (*FCVolumeSource) DeepCopyInto

func (in *FCVolumeSource) DeepCopyInto(out *FCVolumeSource)

type FinalizerName

type FinalizerName string
const (
	FinalizerNameKubernetes FinalizerName = "kubernetes"
)

type FlexPersistentVolumeSource

type FlexPersistentVolumeSource struct {
	// driver is the name of the driver to use for this volume.
	Driver string `json:"driver"`
	// fsType is the Filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
	FSType string `json:"fsType,omitempty"`
	// secretRef is Optional: SecretRef is reference to the secret object containing
	// sensitive information to pass to the plugin scripts. This may be
	// empty if no secret object is specified. If the secret object
	// contains more than one secret, all secrets are passed to the plugin
	// scripts.
	SecretRef *SecretReference `json:"secretRef,omitempty"`
	// readOnly is Optional: defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	ReadOnly bool `json:"readOnly,omitempty"`
	// options is Optional: this field holds extra command options if any.
	Options map[string]string `json:"options,omitempty"`
}

func (*FlexPersistentVolumeSource) DeepCopy

func (*FlexPersistentVolumeSource) DeepCopyInto

type FlexVolumeSource

type FlexVolumeSource struct {
	// driver is the name of the driver to use for this volume.
	Driver string `json:"driver"`
	// fsType is the filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script.
	FSType string `json:"fsType,omitempty"`
	// secretRef is Optional: secretRef is reference to the secret object containing
	// sensitive information to pass to the plugin scripts. This may be
	// empty if no secret object is specified. If the secret object
	// contains more than one secret, all secrets are passed to the plugin
	// scripts.
	SecretRef *LocalObjectReference `json:"secretRef,omitempty"`
	// readOnly is Optional: defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	ReadOnly bool `json:"readOnly,omitempty"`
	// options is Optional: this field holds extra command options if any.
	Options map[string]string `json:"options,omitempty"`
}

func (*FlexVolumeSource) DeepCopy

func (in *FlexVolumeSource) DeepCopy() *FlexVolumeSource

func (*FlexVolumeSource) DeepCopyInto

func (in *FlexVolumeSource) DeepCopyInto(out *FlexVolumeSource)

type FlockerVolumeSource

type FlockerVolumeSource struct {
	// datasetName is Name of the dataset stored as metadata -> name on the dataset for Flocker
	// should be considered as deprecated
	DatasetName string `json:"datasetName,omitempty"`
	// datasetUUID is the UUID of the dataset. This is unique identifier of a Flocker dataset
	DatasetUUID string `json:"datasetUUID,omitempty"`
}

func (*FlockerVolumeSource) DeepCopy

func (in *FlockerVolumeSource) DeepCopy() *FlockerVolumeSource

func (*FlockerVolumeSource) DeepCopyInto

func (in *FlockerVolumeSource) DeepCopyInto(out *FlockerVolumeSource)

type GCEPersistentDiskVolumeSource

type GCEPersistentDiskVolumeSource struct {
	// pdName is unique name of the PD resource in GCE. Used to identify the disk in GCE.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
	PDName string `json:"pdName"`
	// fsType is filesystem type of the volume that you want to mount.
	// Tip: Ensure that the filesystem type is supported by the host operating system.
	// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
	FSType string `json:"fsType,omitempty"`
	// partition is the partition in the volume that you want to mount.
	// If omitted, the default is to mount by volume name.
	// Examples: For volume /dev/sda1, you specify the partition as "1".
	// Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty).
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
	Partition int `json:"partition,omitempty"`
	// readOnly here will force the ReadOnly setting in VolumeMounts.
	// Defaults to false.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*GCEPersistentDiskVolumeSource) DeepCopy

func (*GCEPersistentDiskVolumeSource) DeepCopyInto

type GRPCAction

type GRPCAction struct {
	// Port number of the gRPC service. Number must be in the range 1 to 65535.
	Port int `json:"port"`
	// Service is the name of the service to place in the gRPC HealthCheckRequest
	// (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
	// If this is not specified, the default behavior is defined by gRPC.
	Service string `json:"service,omitempty"`
}

func (*GRPCAction) DeepCopy

func (in *GRPCAction) DeepCopy() *GRPCAction

func (*GRPCAction) DeepCopyInto

func (in *GRPCAction) DeepCopyInto(out *GRPCAction)

type GitRepoVolumeSource

type GitRepoVolumeSource struct {
	// repository is the URL
	Repository string `json:"repository"`
	// revision is the commit hash for the specified revision.
	Revision string `json:"revision,omitempty"`
	// directory is the target directory name.
	// Must not contain or start with '..'.  If '.' is supplied, the volume directory will be the
	// git repository.  Otherwise, if specified, the volume will contain the git repository in
	// the subdirectory with the given name.
	Directory string `json:"directory,omitempty"`
}

func (*GitRepoVolumeSource) DeepCopy

func (in *GitRepoVolumeSource) DeepCopy() *GitRepoVolumeSource

func (*GitRepoVolumeSource) DeepCopyInto

func (in *GitRepoVolumeSource) DeepCopyInto(out *GitRepoVolumeSource)

type GlusterfsPersistentVolumeSource

type GlusterfsPersistentVolumeSource struct {
	// endpoints is the endpoint name that details Glusterfs topology.
	// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
	EndpointsName string `json:"endpoints"`
	// path is the Glusterfs volume path.
	// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
	Path string `json:"path"`
	// readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
	// Defaults to false.
	// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
	ReadOnly bool `json:"readOnly,omitempty"`
	// endpointsNamespace is the namespace that contains Glusterfs endpoint.
	// If this field is empty, the EndpointNamespace defaults to the same namespace as the bound PVC.
	// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
	EndpointsNamespace string `json:"endpointsNamespace,omitempty"`
}

func (*GlusterfsPersistentVolumeSource) DeepCopy

func (*GlusterfsPersistentVolumeSource) DeepCopyInto

type GlusterfsVolumeSource

type GlusterfsVolumeSource struct {
	// endpoints is the endpoint name that details Glusterfs topology.
	// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
	EndpointsName string `json:"endpoints"`
	// path is the Glusterfs volume path.
	// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
	Path string `json:"path"`
	// readOnly here will force the Glusterfs volume to be mounted with read-only permissions.
	// Defaults to false.
	// More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*GlusterfsVolumeSource) DeepCopy

func (*GlusterfsVolumeSource) DeepCopyInto

func (in *GlusterfsVolumeSource) DeepCopyInto(out *GlusterfsVolumeSource)

type HTTPGetAction

type HTTPGetAction struct {
	// Path to access on the HTTP server.
	Path string `json:"path,omitempty"`
	// Name or number of the port to access on the container.
	// Number must be in the range 1 to 65535.
	// Name must be an IANA_SVC_NAME.
	Port utilintstr.IntOrString `json:"port"`
	// Host name to connect to, defaults to the pod IP. You probably want to set
	// "Host" in httpHeaders instead.
	Host string `json:"host,omitempty"`
	// Scheme to use for connecting to the host.
	// Defaults to HTTP.
	Scheme URIScheme `json:"scheme,omitempty"`
	// Custom headers to set in the request. HTTP allows repeated headers.
	HTTPHeaders []HTTPHeader `json:"httpHeaders"`
}

func (*HTTPGetAction) DeepCopy

func (in *HTTPGetAction) DeepCopy() *HTTPGetAction

func (*HTTPGetAction) DeepCopyInto

func (in *HTTPGetAction) DeepCopyInto(out *HTTPGetAction)

type HTTPHeader

type HTTPHeader struct {
	// The header field name
	Name string `json:"name"`
	// The header field value
	Value string `json:"value"`
}

func (*HTTPHeader) DeepCopy

func (in *HTTPHeader) DeepCopy() *HTTPHeader

func (*HTTPHeader) DeepCopyInto

func (in *HTTPHeader) DeepCopyInto(out *HTTPHeader)

type HostAlias

type HostAlias struct {
	// IP address of the host file entry.
	IP string `json:"ip,omitempty"`
	// Hostnames for the above IP address.
	Hostnames []string `json:"hostnames"`
}

func (*HostAlias) DeepCopy

func (in *HostAlias) DeepCopy() *HostAlias

func (*HostAlias) DeepCopyInto

func (in *HostAlias) DeepCopyInto(out *HostAlias)

type HostPathType

type HostPathType string
const (
	HostPathTypeHostPathUnset     HostPathType = "HostPathUnset"
	HostPathTypeDirectoryOrCreate HostPathType = "DirectoryOrCreate"
	HostPathTypeDirectory         HostPathType = "Directory"
	HostPathTypeFileOrCreate      HostPathType = "FileOrCreate"
	HostPathTypeFile              HostPathType = "File"
	HostPathTypeSocket            HostPathType = "Socket"
	HostPathTypeCharDevice        HostPathType = "CharDevice"
	HostPathTypeBlockDevice       HostPathType = "BlockDevice"
)

type HostPathVolumeSource

type HostPathVolumeSource struct {
	// path of the directory on the host.
	// If the path is a symlink, it will follow the link to the real path.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
	Path string `json:"path"`
	// type for HostPath Volume
	// Defaults to ""
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
	Type HostPathType `json:"type,omitempty"`
}

func (*HostPathVolumeSource) DeepCopy

func (*HostPathVolumeSource) DeepCopyInto

func (in *HostPathVolumeSource) DeepCopyInto(out *HostPathVolumeSource)

type IPFamily

type IPFamily string
const (
	IPFamilyIpv4 IPFamily = "IPv4"
	IPFamilyIpv6 IPFamily = "IPv6"
)

type IPFamilyPolicy

type IPFamilyPolicy string
const (
	IPFamilyPolicySingleStack      IPFamilyPolicy = "SingleStack"
	IPFamilyPolicyPreferDualStack  IPFamilyPolicy = "PreferDualStack"
	IPFamilyPolicyRequireDualStack IPFamilyPolicy = "RequireDualStack"
)

type ISCSIPersistentVolumeSource

type ISCSIPersistentVolumeSource struct {
	// targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
	// is other than default (typically TCP ports 860 and 3260).
	TargetPortal string `json:"targetPortal"`
	// iqn is Target iSCSI Qualified Name.
	IQN string `json:"iqn"`
	// lun is iSCSI Target Lun number.
	Lun int `json:"lun"`
	// iscsiInterface is the interface Name that uses an iSCSI transport.
	// Defaults to 'default' (tcp).
	ISCSIInterface string `json:"iscsiInterface,omitempty"`
	// fsType is the filesystem type of the volume that you want to mount.
	// Tip: Ensure that the filesystem type is supported by the host operating system.
	// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
	FSType string `json:"fsType,omitempty"`
	// readOnly here will force the ReadOnly setting in VolumeMounts.
	// Defaults to false.
	ReadOnly bool `json:"readOnly,omitempty"`
	// portals is the iSCSI Target Portal List. The Portal is either an IP or ip_addr:port if the port
	// is other than default (typically TCP ports 860 and 3260).
	Portals []string `json:"portals"`
	// chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication
	DiscoveryCHAPAuth bool `json:"chapAuthDiscovery,omitempty"`
	// chapAuthSession defines whether support iSCSI Session CHAP authentication
	SessionCHAPAuth bool `json:"chapAuthSession,omitempty"`
	// secretRef is the CHAP Secret for iSCSI target and initiator authentication
	SecretRef *SecretReference `json:"secretRef,omitempty"`
	// initiatorName is the custom iSCSI Initiator Name.
	// If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
	// <target portal>:<volume name> will be created for the connection.
	InitiatorName string `json:"initiatorName,omitempty"`
}

func (*ISCSIPersistentVolumeSource) DeepCopy

func (*ISCSIPersistentVolumeSource) DeepCopyInto

type ISCSIVolumeSource

type ISCSIVolumeSource struct {
	// targetPortal is iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port
	// is other than default (typically TCP ports 860 and 3260).
	TargetPortal string `json:"targetPortal"`
	// iqn is the target iSCSI Qualified Name.
	IQN string `json:"iqn"`
	// lun represents iSCSI Target Lun number.
	Lun int `json:"lun"`
	// iscsiInterface is the interface Name that uses an iSCSI transport.
	// Defaults to 'default' (tcp).
	ISCSIInterface string `json:"iscsiInterface,omitempty"`
	// fsType is the filesystem type of the volume that you want to mount.
	// Tip: Ensure that the filesystem type is supported by the host operating system.
	// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi
	FSType string `json:"fsType,omitempty"`
	// readOnly here will force the ReadOnly setting in VolumeMounts.
	// Defaults to false.
	ReadOnly bool `json:"readOnly,omitempty"`
	// portals is the iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port
	// is other than default (typically TCP ports 860 and 3260).
	Portals []string `json:"portals"`
	// chapAuthDiscovery defines whether support iSCSI Discovery CHAP authentication
	DiscoveryCHAPAuth bool `json:"chapAuthDiscovery,omitempty"`
	// chapAuthSession defines whether support iSCSI Session CHAP authentication
	SessionCHAPAuth bool `json:"chapAuthSession,omitempty"`
	// secretRef is the CHAP Secret for iSCSI target and initiator authentication
	SecretRef *LocalObjectReference `json:"secretRef,omitempty"`
	// initiatorName is the custom iSCSI Initiator Name.
	// If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface
	// <target portal>:<volume name> will be created for the connection.
	InitiatorName string `json:"initiatorName,omitempty"`
}

func (*ISCSIVolumeSource) DeepCopy

func (in *ISCSIVolumeSource) DeepCopy() *ISCSIVolumeSource

func (*ISCSIVolumeSource) DeepCopyInto

func (in *ISCSIVolumeSource) DeepCopyInto(out *ISCSIVolumeSource)

type KeyToPath

type KeyToPath struct {
	// key is the key to project.
	Key string `json:"key"`
	// path is the relative path of the file to map the key to.
	// May not be an absolute path.
	// May not contain the path element '..'.
	// May not start with the string '..'.
	Path string `json:"path"`
	// mode is Optional: mode bits used to set permissions on this file.
	// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
	// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
	// If not specified, the volume defaultMode will be used.
	// This might be in conflict with other options that affect the file
	// mode, like fsGroup, and the result can be other mode bits set.
	Mode int `json:"mode,omitempty"`
}

func (*KeyToPath) DeepCopy

func (in *KeyToPath) DeepCopy() *KeyToPath

func (*KeyToPath) DeepCopyInto

func (in *KeyToPath) DeepCopyInto(out *KeyToPath)

type Lifecycle

type Lifecycle struct {
	// PostStart is called immediately after a container is created. If the handler fails,
	// the container is terminated and restarted according to its restart policy.
	// Other management of the container blocks until the hook completes.
	// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
	PostStart *LifecycleHandler `json:"postStart,omitempty"`
	// PreStop is called immediately before a container is terminated due to an
	// API request or management event such as liveness/startup probe failure,
	// preemption, resource contention, etc. The handler is not called if the
	// container crashes or exits. The Pod's termination grace period countdown begins before the
	// PreStop hook is executed. Regardless of the outcome of the handler, the
	// container will eventually terminate within the Pod's termination grace
	// period (unless delayed by finalizers). Other management of the container blocks until the hook completes
	// or until the termination grace period is reached.
	// More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks
	PreStop *LifecycleHandler `json:"preStop,omitempty"`
}

func (*Lifecycle) DeepCopy

func (in *Lifecycle) DeepCopy() *Lifecycle

func (*Lifecycle) DeepCopyInto

func (in *Lifecycle) DeepCopyInto(out *Lifecycle)

type LifecycleHandler

type LifecycleHandler struct {
	// Exec specifies the action to take.
	Exec *ExecAction `json:"exec,omitempty"`
	// HTTPGet specifies the http request to perform.
	HTTPGet *HTTPGetAction `json:"httpGet,omitempty"`
	// Deprecated. TCPSocket is NOT supported as a LifecycleHandler and kept
	// for the backward compatibility. There are no validation of this field and
	// lifecycle hooks will fail in runtime when tcp handler is specified.
	TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty"`
}

func (*LifecycleHandler) DeepCopy

func (in *LifecycleHandler) DeepCopy() *LifecycleHandler

func (*LifecycleHandler) DeepCopyInto

func (in *LifecycleHandler) DeepCopyInto(out *LifecycleHandler)

type LimitRange

type LimitRange struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Spec defines the limits enforced.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Spec *LimitRangeSpec `json:"spec,omitempty"`
}

func (*LimitRange) DeepCopy

func (in *LimitRange) DeepCopy() *LimitRange

func (*LimitRange) DeepCopyInto

func (in *LimitRange) DeepCopyInto(out *LimitRange)

func (*LimitRange) DeepCopyObject

func (in *LimitRange) DeepCopyObject() runtime.Object

type LimitRangeItem

type LimitRangeItem struct {
	// Type of resource that this limit applies to.
	Type LimitType `json:"type"`
	// Max usage constraints on this kind by resource name.
	Max map[string]apiresource.Quantity `json:"max,omitempty"`
	// Min usage constraints on this kind by resource name.
	Min map[string]apiresource.Quantity `json:"min,omitempty"`
	// Default resource requirement limit value by resource name if resource limit is omitted.
	Default map[string]apiresource.Quantity `json:"default,omitempty"`
	// DefaultRequest is the default resource requirement request value by resource name if resource request is omitted.
	DefaultRequest map[string]apiresource.Quantity `json:"defaultRequest,omitempty"`
	// MaxLimitRequestRatio if specified, the named resource must have a request and limit that are both non-zero where limit divided by request is less than or equal to the enumerated value; this represents the max burst for the named resource.
	MaxLimitRequestRatio map[string]apiresource.Quantity `json:"maxLimitRequestRatio,omitempty"`
}

func (*LimitRangeItem) DeepCopy

func (in *LimitRangeItem) DeepCopy() *LimitRangeItem

func (*LimitRangeItem) DeepCopyInto

func (in *LimitRangeItem) DeepCopyInto(out *LimitRangeItem)

type LimitRangeList

type LimitRangeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []LimitRange `json:"items"`
}

func (*LimitRangeList) DeepCopy

func (in *LimitRangeList) DeepCopy() *LimitRangeList

func (*LimitRangeList) DeepCopyInto

func (in *LimitRangeList) DeepCopyInto(out *LimitRangeList)

func (*LimitRangeList) DeepCopyObject

func (in *LimitRangeList) DeepCopyObject() runtime.Object

type LimitRangeSpec

type LimitRangeSpec struct {
	// Limits is the list of LimitRangeItem objects that are enforced.
	Limits []LimitRangeItem `json:"limits"`
}

func (*LimitRangeSpec) DeepCopy

func (in *LimitRangeSpec) DeepCopy() *LimitRangeSpec

func (*LimitRangeSpec) DeepCopyInto

func (in *LimitRangeSpec) DeepCopyInto(out *LimitRangeSpec)

type LimitType

type LimitType string
const (
	LimitTypePod                   LimitType = "Pod"
	LimitTypeContainer             LimitType = "Container"
	LimitTypePersistentVolumeClaim LimitType = "PersistentVolumeClaim"
)

type LoadBalancerIngress

type LoadBalancerIngress struct {
	// IP is set for load-balancer ingress points that are IP based
	// (typically GCE or OpenStack load-balancers)
	IP string `json:"ip,omitempty"`
	// Hostname is set for load-balancer ingress points that are DNS based
	// (typically AWS load-balancers)
	Hostname string `json:"hostname,omitempty"`
	// Ports is a list of records of service ports
	// If used, every port defined in the service should have an entry in it
	Ports []PortStatus `json:"ports"`
}

func (*LoadBalancerIngress) DeepCopy

func (in *LoadBalancerIngress) DeepCopy() *LoadBalancerIngress

func (*LoadBalancerIngress) DeepCopyInto

func (in *LoadBalancerIngress) DeepCopyInto(out *LoadBalancerIngress)

type LoadBalancerStatus

type LoadBalancerStatus struct {
	// Ingress is a list containing ingress points for the load-balancer.
	// Traffic intended for the service should be sent to these ingress points.
	Ingress []LoadBalancerIngress `json:"ingress"`
}

func (*LoadBalancerStatus) DeepCopy

func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus

func (*LoadBalancerStatus) DeepCopyInto

func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)

type LocalObjectReference

type LocalObjectReference struct {
	// Name of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
	Name string `json:"name,omitempty"`
}

func (*LocalObjectReference) DeepCopy

func (*LocalObjectReference) DeepCopyInto

func (in *LocalObjectReference) DeepCopyInto(out *LocalObjectReference)

type LocalVolumeSource

type LocalVolumeSource struct {
	// path of the full path to the volume on the node.
	// It can be either a directory or block device (disk, partition, ...).
	Path string `json:"path"`
	// fsType is the filesystem type to mount.
	// It applies only when the Path is a block device.
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs". The default value is to auto-select a filesystem if unspecified.
	FSType string `json:"fsType,omitempty"`
}

func (*LocalVolumeSource) DeepCopy

func (in *LocalVolumeSource) DeepCopy() *LocalVolumeSource

func (*LocalVolumeSource) DeepCopyInto

func (in *LocalVolumeSource) DeepCopyInto(out *LocalVolumeSource)

type MountPropagationMode

type MountPropagationMode string
const (
	MountPropagationModeNone            MountPropagationMode = "None"
	MountPropagationModeHostToContainer MountPropagationMode = "HostToContainer"
	MountPropagationModeBidirectional   MountPropagationMode = "Bidirectional"
)

type NFSVolumeSource

type NFSVolumeSource struct {
	// server is the hostname or IP address of the NFS server.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
	Server string `json:"server"`
	// path that is exported by the NFS server.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
	Path string `json:"path"`
	// readOnly here will force the NFS export to be mounted with read-only permissions.
	// Defaults to false.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*NFSVolumeSource) DeepCopy

func (in *NFSVolumeSource) DeepCopy() *NFSVolumeSource

func (*NFSVolumeSource) DeepCopyInto

func (in *NFSVolumeSource) DeepCopyInto(out *NFSVolumeSource)

type Namespace

type Namespace struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Spec defines the behavior of the Namespace.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Spec *NamespaceSpec `json:"spec,omitempty"`
	// Status describes the current status of a Namespace.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Status *NamespaceStatus `json:"status,omitempty"`
}

func (*Namespace) DeepCopy

func (in *Namespace) DeepCopy() *Namespace

func (*Namespace) DeepCopyInto

func (in *Namespace) DeepCopyInto(out *Namespace)

func (*Namespace) DeepCopyObject

func (in *Namespace) DeepCopyObject() runtime.Object

type NamespaceCondition

type NamespaceCondition struct {
	// Type of namespace controller condition.
	Type NamespaceConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status             ConditionStatus `json:"status"`
	LastTransitionTime *metav1.Time    `json:"lastTransitionTime,omitempty"`
	Reason             string          `json:"reason,omitempty"`
	Message            string          `json:"message,omitempty"`
}

func (*NamespaceCondition) DeepCopy

func (in *NamespaceCondition) DeepCopy() *NamespaceCondition

func (*NamespaceCondition) DeepCopyInto

func (in *NamespaceCondition) DeepCopyInto(out *NamespaceCondition)

type NamespaceConditionType

type NamespaceConditionType string
const (
	NamespaceConditionTypeNamespaceDeletionDiscoveryFailure           NamespaceConditionType = "NamespaceDeletionDiscoveryFailure"
	NamespaceConditionTypeNamespaceDeletionContentFailure             NamespaceConditionType = "NamespaceDeletionContentFailure"
	NamespaceConditionTypeNamespaceDeletionGroupVersionParsingFailure NamespaceConditionType = "NamespaceDeletionGroupVersionParsingFailure"
	NamespaceConditionTypeNamespaceContentRemaining                   NamespaceConditionType = "NamespaceContentRemaining"
	NamespaceConditionTypeNamespaceFinalizersRemaining                NamespaceConditionType = "NamespaceFinalizersRemaining"
)

type NamespaceList

type NamespaceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Namespace `json:"items"`
}

func (*NamespaceList) DeepCopy

func (in *NamespaceList) DeepCopy() *NamespaceList

func (*NamespaceList) DeepCopyInto

func (in *NamespaceList) DeepCopyInto(out *NamespaceList)

func (*NamespaceList) DeepCopyObject

func (in *NamespaceList) DeepCopyObject() runtime.Object

type NamespacePhase

type NamespacePhase string
const (
	NamespacePhaseActive      NamespacePhase = "Active"
	NamespacePhaseTerminating NamespacePhase = "Terminating"
)

type NamespaceSpec

type NamespaceSpec struct {
	// Finalizers is an opaque list of values that must be empty to permanently remove object from storage.
	// More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/
	Finalizers []FinalizerName `json:"finalizers"`
}

func (*NamespaceSpec) DeepCopy

func (in *NamespaceSpec) DeepCopy() *NamespaceSpec

func (*NamespaceSpec) DeepCopyInto

func (in *NamespaceSpec) DeepCopyInto(out *NamespaceSpec)

type NamespaceStatus

type NamespaceStatus struct {
	// Phase is the current lifecycle phase of the namespace.
	// More info: https://kubernetes.io/docs/tasks/administer-cluster/namespaces/
	Phase NamespacePhase `json:"phase,omitempty"`
	// Represents the latest available observations of a namespace's current state.
	Conditions []NamespaceCondition `json:"conditions"`
}

func (*NamespaceStatus) DeepCopy

func (in *NamespaceStatus) DeepCopy() *NamespaceStatus

func (*NamespaceStatus) DeepCopyInto

func (in *NamespaceStatus) DeepCopyInto(out *NamespaceStatus)

type Node

type Node struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Spec defines the behavior of a node.
	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Spec *NodeSpec `json:"spec,omitempty"`
	// Most recently observed status of the node.
	// Populated by the system.
	// Read-only.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Status *NodeStatus `json:"status,omitempty"`
}

func (*Node) DeepCopy

func (in *Node) DeepCopy() *Node

func (*Node) DeepCopyInto

func (in *Node) DeepCopyInto(out *Node)

func (*Node) DeepCopyObject

func (in *Node) DeepCopyObject() runtime.Object

type NodeAddress

type NodeAddress struct {
	// Node address type, one of Hostname, ExternalIP or InternalIP.
	Type NodeAddressType `json:"type"`
	// The node address.
	Address string `json:"address"`
}

func (*NodeAddress) DeepCopy

func (in *NodeAddress) DeepCopy() *NodeAddress

func (*NodeAddress) DeepCopyInto

func (in *NodeAddress) DeepCopyInto(out *NodeAddress)

type NodeAddressType

type NodeAddressType string
const (
	NodeAddressTypeHostname    NodeAddressType = "Hostname"
	NodeAddressTypeInternalIP  NodeAddressType = "InternalIP"
	NodeAddressTypeExternalIP  NodeAddressType = "ExternalIP"
	NodeAddressTypeInternalDNS NodeAddressType = "InternalDNS"
	NodeAddressTypeExternalDNS NodeAddressType = "ExternalDNS"
)

type NodeAffinity

type NodeAffinity struct {
	// If the affinity requirements specified by this field are not met at
	// scheduling time, the pod will not be scheduled onto the node.
	// If the affinity requirements specified by this field cease to be met
	// at some point during pod execution (e.g. due to an update), the system
	// may or may not try to eventually evict the pod from its node.
	RequiredDuringSchedulingIgnoredDuringExecution *NodeSelector `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"`
	// The scheduler will prefer to schedule pods to nodes that satisfy
	// the affinity expressions specified by this field, but it may choose
	// a node that violates one or more of the expressions. The node that is
	// most preferred is the one with the greatest sum of weights, i.e.
	// for each node that meets all of the scheduling requirements (resource
	// request, requiredDuringScheduling affinity expressions, etc.),
	// compute a sum by iterating through the elements of this field and adding
	// "weight" to the sum if the node matches the corresponding matchExpressions; the
	// node(s) with the highest sum are the most preferred.
	PreferredDuringSchedulingIgnoredDuringExecution []PreferredSchedulingTerm `json:"preferredDuringSchedulingIgnoredDuringExecution"`
}

func (*NodeAffinity) DeepCopy

func (in *NodeAffinity) DeepCopy() *NodeAffinity

func (*NodeAffinity) DeepCopyInto

func (in *NodeAffinity) DeepCopyInto(out *NodeAffinity)

type NodeCondition

type NodeCondition struct {
	// Type of node condition.
	Type NodeConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status ConditionStatus `json:"status"`
	// Last time we got an update on a given condition.
	LastHeartbeatTime *metav1.Time `json:"lastHeartbeatTime,omitempty"`
	// Last time the condition transit from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
	// (brief) reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`
	// Human readable message indicating details about last transition.
	Message string `json:"message,omitempty"`
}

func (*NodeCondition) DeepCopy

func (in *NodeCondition) DeepCopy() *NodeCondition

func (*NodeCondition) DeepCopyInto

func (in *NodeCondition) DeepCopyInto(out *NodeCondition)

type NodeConditionType

type NodeConditionType string
const (
	NodeConditionTypeReady              NodeConditionType = "Ready"
	NodeConditionTypeMemoryPressure     NodeConditionType = "MemoryPressure"
	NodeConditionTypeDiskPressure       NodeConditionType = "DiskPressure"
	NodeConditionTypePIDPressure        NodeConditionType = "PIDPressure"
	NodeConditionTypeNetworkUnavailable NodeConditionType = "NetworkUnavailable"
)

type NodeConfigSource

type NodeConfigSource struct {
	// ConfigMap is a reference to a Node's ConfigMap
	ConfigMap *ConfigMapNodeConfigSource `json:"configMap,omitempty"`
}

func (*NodeConfigSource) DeepCopy

func (in *NodeConfigSource) DeepCopy() *NodeConfigSource

func (*NodeConfigSource) DeepCopyInto

func (in *NodeConfigSource) DeepCopyInto(out *NodeConfigSource)

type NodeConfigStatus

type NodeConfigStatus struct {
	// Assigned reports the checkpointed config the node will try to use.
	// When Node.Spec.ConfigSource is updated, the node checkpoints the associated
	// config payload to local disk, along with a record indicating intended
	// config. The node refers to this record to choose its config checkpoint, and
	// reports this record in Assigned. Assigned only updates in the status after
	// the record has been checkpointed to disk. When the Kubelet is restarted,
	// it tries to make the Assigned config the Active config by loading and
	// validating the checkpointed payload identified by Assigned.
	Assigned *NodeConfigSource `json:"assigned,omitempty"`
	// Active reports the checkpointed config the node is actively using.
	// Active will represent either the current version of the Assigned config,
	// or the current LastKnownGood config, depending on whether attempting to use the
	// Assigned config results in an error.
	Active *NodeConfigSource `json:"active,omitempty"`
	// LastKnownGood reports the checkpointed config the node will fall back to
	// when it encounters an error attempting to use the Assigned config.
	// The Assigned config becomes the LastKnownGood config when the node determines
	// that the Assigned config is stable and correct.
	// This is currently implemented as a 10-minute soak period starting when the local
	// record of Assigned config is updated. If the Assigned config is Active at the end
	// of this period, it becomes the LastKnownGood. Note that if Spec.ConfigSource is
	// reset to nil (use local defaults), the LastKnownGood is also immediately reset to nil,
	// because the local default config is always assumed good.
	// You should not make assumptions about the node's method of determining config stability
	// and correctness, as this may change or become configurable in the future.
	LastKnownGood *NodeConfigSource `json:"lastKnownGood,omitempty"`
	// Error describes any problems reconciling the Spec.ConfigSource to the Active config.
	// Errors may occur, for example, attempting to checkpoint Spec.ConfigSource to the local Assigned
	// record, attempting to checkpoint the payload associated with Spec.ConfigSource, attempting
	// to load or validate the Assigned config, etc.
	// Errors may occur at different points while syncing config. Earlier errors (e.g. download or
	// checkpointing errors) will not result in a rollback to LastKnownGood, and may resolve across
	// Kubelet retries. Later errors (e.g. loading or validating a checkpointed config) will result in
	// a rollback to LastKnownGood. In the latter case, it is usually possible to resolve the error
	// by fixing the config assigned in Spec.ConfigSource.
	// You can find additional information for debugging by searching the error message in the Kubelet log.
	// Error is a human-readable description of the error state; machines can check whether or not Error
	// is empty, but should not rely on the stability of the Error text across Kubelet versions.
	Error string `json:"error,omitempty"`
}

func (*NodeConfigStatus) DeepCopy

func (in *NodeConfigStatus) DeepCopy() *NodeConfigStatus

func (*NodeConfigStatus) DeepCopyInto

func (in *NodeConfigStatus) DeepCopyInto(out *NodeConfigStatus)

type NodeDaemonEndpoints

type NodeDaemonEndpoints struct {
	// Endpoint on which Kubelet is listening.
	KubeletEndpoint *DaemonEndpoint `json:"kubeletEndpoint,omitempty"`
}

func (*NodeDaemonEndpoints) DeepCopy

func (in *NodeDaemonEndpoints) DeepCopy() *NodeDaemonEndpoints

func (*NodeDaemonEndpoints) DeepCopyInto

func (in *NodeDaemonEndpoints) DeepCopyInto(out *NodeDaemonEndpoints)

type NodeInclusionPolicy

type NodeInclusionPolicy string
const (
	NodeInclusionPolicyIgnore NodeInclusionPolicy = "Ignore"
	NodeInclusionPolicyHonor  NodeInclusionPolicy = "Honor"
)

type NodeList

type NodeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Node `json:"items"`
}

func (*NodeList) DeepCopy

func (in *NodeList) DeepCopy() *NodeList

func (*NodeList) DeepCopyInto

func (in *NodeList) DeepCopyInto(out *NodeList)

func (*NodeList) DeepCopyObject

func (in *NodeList) DeepCopyObject() runtime.Object

type NodePhase

type NodePhase string
const (
	NodePhasePending    NodePhase = "Pending"
	NodePhaseRunning    NodePhase = "Running"
	NodePhaseTerminated NodePhase = "Terminated"
)

type NodeProxyOptions

type NodeProxyOptions struct {
	metav1.TypeMeta `json:",inline"`
	// Path is the URL path to use for the current proxy request to node.
	Path string `json:"path,omitempty"`
}

func (*NodeProxyOptions) DeepCopy

func (in *NodeProxyOptions) DeepCopy() *NodeProxyOptions

func (*NodeProxyOptions) DeepCopyInto

func (in *NodeProxyOptions) DeepCopyInto(out *NodeProxyOptions)

func (*NodeProxyOptions) DeepCopyObject

func (in *NodeProxyOptions) DeepCopyObject() runtime.Object

type NodeResources

type NodeResources struct {
	// Capacity represents the available resources of a node
	Capacity map[string]apiresource.Quantity `json:"capacity,omitempty"`
}

func (*NodeResources) DeepCopy

func (in *NodeResources) DeepCopy() *NodeResources

func (*NodeResources) DeepCopyInto

func (in *NodeResources) DeepCopyInto(out *NodeResources)

type NodeSelector

type NodeSelector struct {
	// Required. A list of node selector terms. The terms are ORed.
	NodeSelectorTerms []NodeSelectorTerm `json:"nodeSelectorTerms"`
}

func (*NodeSelector) DeepCopy

func (in *NodeSelector) DeepCopy() *NodeSelector

func (*NodeSelector) DeepCopyInto

func (in *NodeSelector) DeepCopyInto(out *NodeSelector)

type NodeSelectorOperator

type NodeSelectorOperator string
const (
	NodeSelectorOperatorIn           NodeSelectorOperator = "In"
	NodeSelectorOperatorNotIn        NodeSelectorOperator = "NotIn"
	NodeSelectorOperatorExists       NodeSelectorOperator = "Exists"
	NodeSelectorOperatorDoesNotExist NodeSelectorOperator = "DoesNotExist"
	NodeSelectorOperatorGt           NodeSelectorOperator = "Gt"
	NodeSelectorOperatorLt           NodeSelectorOperator = "Lt"
)

type NodeSelectorRequirement

type NodeSelectorRequirement struct {
	// The label key that the selector applies to.
	Key string `json:"key"`
	// Represents a key's relationship to a set of values.
	// Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt.
	Operator NodeSelectorOperator `json:"operator"`
	// An array of string values. If the operator is In or NotIn,
	// the values array must be non-empty. If the operator is Exists or DoesNotExist,
	// the values array must be empty. If the operator is Gt or Lt, the values
	// array must have a single element, which will be interpreted as an integer.
	// This array is replaced during a strategic merge patch.
	Values []string `json:"values"`
}

func (*NodeSelectorRequirement) DeepCopy

func (*NodeSelectorRequirement) DeepCopyInto

func (in *NodeSelectorRequirement) DeepCopyInto(out *NodeSelectorRequirement)

type NodeSelectorTerm

type NodeSelectorTerm struct {
	// A list of node selector requirements by node's labels.
	MatchExpressions []NodeSelectorRequirement `json:"matchExpressions"`
	// A list of node selector requirements by node's fields.
	MatchFields []NodeSelectorRequirement `json:"matchFields"`
}

func (*NodeSelectorTerm) DeepCopy

func (in *NodeSelectorTerm) DeepCopy() *NodeSelectorTerm

func (*NodeSelectorTerm) DeepCopyInto

func (in *NodeSelectorTerm) DeepCopyInto(out *NodeSelectorTerm)

type NodeSpec

type NodeSpec struct {
	// PodCIDR represents the pod IP range assigned to the node.
	PodCIDR string `json:"podCIDR,omitempty"`
	// podCIDRs represents the IP ranges assigned to the node for usage by Pods on that node. If this
	// field is specified, the 0th entry must match the podCIDR field. It may contain at most 1 value for
	// each of IPv4 and IPv6.
	PodCIDRs []string `json:"podCIDRs"`
	// ID of the node assigned by the cloud provider in the format: <ProviderName>://<ProviderSpecificNodeID>
	ProviderID string `json:"providerID,omitempty"`
	// Unschedulable controls node schedulability of new pods. By default, node is schedulable.
	// More info: https://kubernetes.io/docs/concepts/nodes/node/#manual-node-administration
	Unschedulable bool `json:"unschedulable,omitempty"`
	// If specified, the node's taints.
	Taints []Taint `json:"taints"`
	// Deprecated: Previously used to specify the source of the node's configuration for the DynamicKubeletConfig feature. This feature is removed.
	ConfigSource *NodeConfigSource `json:"configSource,omitempty"`
	// Deprecated. Not all kubelets will set this field. Remove field after 1.13.
	// see: https://issues.k8s.io/61966
	DoNotUseExternalID string `json:"externalID,omitempty"`
}

func (*NodeSpec) DeepCopy

func (in *NodeSpec) DeepCopy() *NodeSpec

func (*NodeSpec) DeepCopyInto

func (in *NodeSpec) DeepCopyInto(out *NodeSpec)

type NodeStatus

type NodeStatus struct {
	// Capacity represents the total resources of a node.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity
	Capacity map[string]apiresource.Quantity `json:"capacity,omitempty"`
	// Allocatable represents the resources of a node that are available for scheduling.
	// Defaults to Capacity.
	Allocatable map[string]apiresource.Quantity `json:"allocatable,omitempty"`
	// NodePhase is the recently observed lifecycle phase of the node.
	// More info: https://kubernetes.io/docs/concepts/nodes/node/#phase
	// The field is never populated, and now is deprecated.
	Phase NodePhase `json:"phase,omitempty"`
	// Conditions is an array of current observed node conditions.
	// More info: https://kubernetes.io/docs/concepts/nodes/node/#condition
	Conditions []NodeCondition `json:"conditions"`
	// List of addresses reachable to the node.
	// Queried from cloud provider, if available.
	// More info: https://kubernetes.io/docs/concepts/nodes/node/#addresses
	// Note: This field is declared as mergeable, but the merge key is not sufficiently
	// unique, which can cause data corruption when it is merged. Callers should instead
	// use a full-replacement patch. See https://pr.k8s.io/79391 for an example.
	// Consumers should assume that addresses can change during the
	// lifetime of a Node. However, there are some exceptions where this may not
	// be possible, such as Pods that inherit a Node's address in its own status or
	// consumers of the downward API (status.hostIP).
	Addresses []NodeAddress `json:"addresses"`
	// Endpoints of daemons running on the Node.
	DaemonEndpoints *NodeDaemonEndpoints `json:"daemonEndpoints,omitempty"`
	// Set of ids/uuids to uniquely identify the node.
	// More info: https://kubernetes.io/docs/concepts/nodes/node/#info
	NodeInfo *NodeSystemInfo `json:"nodeInfo,omitempty"`
	// List of container images on this node
	Images []ContainerImage `json:"images"`
	// List of attachable volumes in use (mounted) by the node.
	VolumesInUse []string `json:"volumesInUse"`
	// List of volumes that are attached to the node.
	VolumesAttached []AttachedVolume `json:"volumesAttached"`
	// Status of the config assigned to the node via the dynamic Kubelet config feature.
	Config *NodeConfigStatus `json:"config,omitempty"`
}

func (*NodeStatus) DeepCopy

func (in *NodeStatus) DeepCopy() *NodeStatus

func (*NodeStatus) DeepCopyInto

func (in *NodeStatus) DeepCopyInto(out *NodeStatus)

type NodeSystemInfo

type NodeSystemInfo struct {
	// MachineID reported by the node. For unique machine identification
	// in the cluster this field is preferred. Learn more from man(5)
	// machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html
	MachineID string `json:"machineID"`
	// SystemUUID reported by the node. For unique machine identification
	// MachineID is preferred. This field is specific to Red Hat hosts
	// https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid
	SystemUUID string `json:"systemUUID"`
	// Boot ID reported by the node.
	BootID string `json:"bootID"`
	// Kernel Version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64).
	KernelVersion string `json:"kernelVersion"`
	// OS Image reported by the node from /etc/os-release (e.g. Debian GNU/Linux 7 (wheezy)).
	OSImage string `json:"osImage"`
	// ContainerRuntime Version reported by the node through runtime remote API (e.g. containerd://1.4.2).
	ContainerRuntimeVersion string `json:"containerRuntimeVersion"`
	// Kubelet Version reported by the node.
	KubeletVersion string `json:"kubeletVersion"`
	// KubeProxy Version reported by the node.
	KubeProxyVersion string `json:"kubeProxyVersion"`
	// The Operating System reported by the node
	OperatingSystem string `json:"operatingSystem"`
	// The Architecture reported by the node
	Architecture string `json:"architecture"`
}

func (*NodeSystemInfo) DeepCopy

func (in *NodeSystemInfo) DeepCopy() *NodeSystemInfo

func (*NodeSystemInfo) DeepCopyInto

func (in *NodeSystemInfo) DeepCopyInto(out *NodeSystemInfo)

type OSName

type OSName string
const (
	OSNameLinux   OSName = "linux"
	OSNameWindows OSName = "windows"
)

type ObjectFieldSelector

type ObjectFieldSelector struct {
	// Version of the schema the FieldPath is written in terms of, defaults to "v1".
	APIVersion string `json:"apiVersion,omitempty"`
	// Path of the field to select in the specified API version.
	FieldPath string `json:"fieldPath"`
}

func (*ObjectFieldSelector) DeepCopy

func (in *ObjectFieldSelector) DeepCopy() *ObjectFieldSelector

func (*ObjectFieldSelector) DeepCopyInto

func (in *ObjectFieldSelector) DeepCopyInto(out *ObjectFieldSelector)

type ObjectReference

type ObjectReference struct {
	// Kind of the referent.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
	Kind string `json:"kind,omitempty"`
	// Namespace of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
	Namespace string `json:"namespace,omitempty"`
	// Name of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
	Name string `json:"name,omitempty"`
	// UID of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
	UID string `json:"uid,omitempty"`
	// API version of the referent.
	APIVersion string `json:"apiVersion,omitempty"`
	// Specific resourceVersion to which this reference is made, if any.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
	ResourceVersion string `json:"resourceVersion,omitempty"`
	// If referring to a piece of an object instead of an entire object, this string
	// should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
	// For example, if the object reference is to a container within a pod, this would take on a value like:
	// "spec.containers{name}" (where "name" refers to the name of the container that triggered
	// the event) or if no container name is specified "spec.containers[2]" (container with
	// index 2 in this pod). This syntax is chosen only to have some well-defined way of
	// referencing a part of an object.
	FieldPath string `json:"fieldPath,omitempty"`
}

func GetObjectReference

func GetObjectReference(scheme *runtime.Scheme, obj runtime.Object) (*ObjectReference, error)

func (*ObjectReference) DeepCopy

func (in *ObjectReference) DeepCopy() *ObjectReference

func (*ObjectReference) DeepCopyInto

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

type PersistentVolume

type PersistentVolume struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// spec defines a specification of a persistent volume owned by the cluster.
	// Provisioned by an administrator.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistent-volumes
	Spec *PersistentVolumeSpec `json:"spec,omitempty"`
	// status represents the current information/status for the persistent volume.
	// Populated by the system.
	// Read-only.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistent-volumes
	Status *PersistentVolumeStatus `json:"status,omitempty"`
}

func (*PersistentVolume) DeepCopy

func (in *PersistentVolume) DeepCopy() *PersistentVolume

func (*PersistentVolume) DeepCopyInto

func (in *PersistentVolume) DeepCopyInto(out *PersistentVolume)

func (*PersistentVolume) DeepCopyObject

func (in *PersistentVolume) DeepCopyObject() runtime.Object

type PersistentVolumeAccessMode

type PersistentVolumeAccessMode string
const (
	PersistentVolumeAccessModeReadWriteOnce    PersistentVolumeAccessMode = "ReadWriteOnce"
	PersistentVolumeAccessModeReadOnlyMany     PersistentVolumeAccessMode = "ReadOnlyMany"
	PersistentVolumeAccessModeReadWriteMany    PersistentVolumeAccessMode = "ReadWriteMany"
	PersistentVolumeAccessModeReadWriteOncePod PersistentVolumeAccessMode = "ReadWriteOncePod"
)

type PersistentVolumeClaim

type PersistentVolumeClaim struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// spec defines the desired characteristics of a volume requested by a pod author.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
	Spec *PersistentVolumeClaimSpec `json:"spec,omitempty"`
	// status represents the current information/status of a persistent volume claim.
	// Read-only.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
	Status *PersistentVolumeClaimStatus `json:"status,omitempty"`
}

func (*PersistentVolumeClaim) DeepCopy

func (*PersistentVolumeClaim) DeepCopyInto

func (in *PersistentVolumeClaim) DeepCopyInto(out *PersistentVolumeClaim)

func (*PersistentVolumeClaim) DeepCopyObject

func (in *PersistentVolumeClaim) DeepCopyObject() runtime.Object

type PersistentVolumeClaimCondition

type PersistentVolumeClaimCondition struct {
	Type   PersistentVolumeClaimConditionType `json:"type"`
	Status ConditionStatus                    `json:"status"`
	// lastProbeTime is the time we probed the condition.
	LastProbeTime *metav1.Time `json:"lastProbeTime,omitempty"`
	// lastTransitionTime is the time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
	// reason is a unique, this should be a short, machine understandable string that gives the reason
	// for condition's last transition. If it reports "ResizeStarted" that means the underlying
	// persistent volume is being resized.
	Reason string `json:"reason,omitempty"`
	// message is the human-readable message indicating details about last transition.
	Message string `json:"message,omitempty"`
}

func (*PersistentVolumeClaimCondition) DeepCopy

func (*PersistentVolumeClaimCondition) DeepCopyInto

type PersistentVolumeClaimConditionType

type PersistentVolumeClaimConditionType string
const (
	PersistentVolumeClaimConditionTypeResizing                PersistentVolumeClaimConditionType = "Resizing"
	PersistentVolumeClaimConditionTypeFileSystemResizePending PersistentVolumeClaimConditionType = "FileSystemResizePending"
)

type PersistentVolumeClaimList

type PersistentVolumeClaimList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []PersistentVolumeClaim `json:"items"`
}

func (*PersistentVolumeClaimList) DeepCopy

func (*PersistentVolumeClaimList) DeepCopyInto

func (*PersistentVolumeClaimList) DeepCopyObject

func (in *PersistentVolumeClaimList) DeepCopyObject() runtime.Object

type PersistentVolumeClaimPhase

type PersistentVolumeClaimPhase string
const (
	PersistentVolumeClaimPhasePending PersistentVolumeClaimPhase = "Pending"
	PersistentVolumeClaimPhaseBound   PersistentVolumeClaimPhase = "Bound"
	PersistentVolumeClaimPhaseLost    PersistentVolumeClaimPhase = "Lost"
)

type PersistentVolumeClaimResizeStatus

type PersistentVolumeClaimResizeStatus string
const (
	PersistentVolumeClaimResizeStatusPersistentVolumeClaimNoExpansionInProgress PersistentVolumeClaimResizeStatus = "PersistentVolumeClaimNoExpansionInProgress"
	PersistentVolumeClaimResizeStatusControllerExpansionInProgress              PersistentVolumeClaimResizeStatus = "ControllerExpansionInProgress"
	PersistentVolumeClaimResizeStatusControllerExpansionFailed                  PersistentVolumeClaimResizeStatus = "ControllerExpansionFailed"
	PersistentVolumeClaimResizeStatusNodeExpansionPending                       PersistentVolumeClaimResizeStatus = "NodeExpansionPending"
	PersistentVolumeClaimResizeStatusNodeExpansionInProgress                    PersistentVolumeClaimResizeStatus = "NodeExpansionInProgress"
	PersistentVolumeClaimResizeStatusNodeExpansionFailed                        PersistentVolumeClaimResizeStatus = "NodeExpansionFailed"
)

type PersistentVolumeClaimSpec

type PersistentVolumeClaimSpec struct {
	// accessModes contains the desired access modes the volume should have.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
	AccessModes []PersistentVolumeAccessMode `json:"accessModes"`
	// selector is a label query over volumes to consider for binding.
	Selector *metav1.LabelSelector `json:"selector,omitempty"`
	// resources represents the minimum resources the volume should have.
	// If RecoverVolumeExpansionFailure feature is enabled users are allowed to specify resource requirements
	// that are lower than previous value but must still be higher than capacity recorded in the
	// status field of the claim.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources
	Resources *ResourceRequirements `json:"resources,omitempty"`
	// volumeName is the binding reference to the PersistentVolume backing this claim.
	VolumeName string `json:"volumeName,omitempty"`
	// storageClassName is the name of the StorageClass required by the claim.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1
	StorageClassName string `json:"storageClassName,omitempty"`
	// volumeMode defines what type of volume is required by the claim.
	// Value of Filesystem is implied when not included in claim spec.
	VolumeMode PersistentVolumeMode `json:"volumeMode,omitempty"`
	// dataSource field can be used to specify either:
	// * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot)
	// * An existing PVC (PersistentVolumeClaim)
	// If the provisioner or an external controller can support the specified data source,
	// it will create a new volume based on the contents of the specified data source.
	// When the AnyVolumeDataSource feature gate is enabled, dataSource contents will be copied to dataSourceRef,
	// and dataSourceRef contents will be copied to dataSource when dataSourceRef.namespace is not specified.
	// If the namespace is specified, then dataSourceRef will not be copied to dataSource.
	DataSource *TypedLocalObjectReference `json:"dataSource,omitempty"`
	// dataSourceRef specifies the object from which to populate the volume with data, if a non-empty
	// volume is desired. This may be any object from a non-empty API group (non
	// core object) or a PersistentVolumeClaim object.
	// When this field is specified, volume binding will only succeed if the type of
	// the specified object matches some installed volume populator or dynamic
	// provisioner.
	// This field will replace the functionality of the dataSource field and as such
	// if both fields are non-empty, they must have the same value. For backwards
	// compatibility, when namespace isn't specified in dataSourceRef,
	// both fields (dataSource and dataSourceRef) will be set to the same
	// value automatically if one of them is empty and the other is non-empty.
	// When namespace is specified in dataSourceRef,
	// dataSource isn't set to the same value and must be empty.
	// There are three important differences between dataSource and dataSourceRef:
	// * While dataSource only allows two specific types of objects, dataSourceRef
	// allows any non-core object, as well as PersistentVolumeClaim objects.
	// * While dataSource ignores disallowed values (dropping them), dataSourceRef
	// preserves all values, and generates an error if a disallowed value is
	// specified.
	// * While dataSource only allows local objects, dataSourceRef allows objects
	// in any namespaces.
	// (Beta) Using this field requires the AnyVolumeDataSource feature gate to be enabled.
	// (Alpha) Using the namespace field of dataSourceRef requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
	DataSourceRef *TypedObjectReference `json:"dataSourceRef,omitempty"`
}

func (*PersistentVolumeClaimSpec) DeepCopy

func (*PersistentVolumeClaimSpec) DeepCopyInto

type PersistentVolumeClaimStatus

type PersistentVolumeClaimStatus struct {
	// phase represents the current phase of PersistentVolumeClaim.
	Phase PersistentVolumeClaimPhase `json:"phase,omitempty"`
	// accessModes contains the actual access modes the volume backing the PVC has.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1
	AccessModes []PersistentVolumeAccessMode `json:"accessModes"`
	// capacity represents the actual resources of the underlying volume.
	Capacity map[string]apiresource.Quantity `json:"capacity,omitempty"`
	// conditions is the current Condition of persistent volume claim. If underlying persistent volume is being
	// resized then the Condition will be set to 'ResizeStarted'.
	Conditions []PersistentVolumeClaimCondition `json:"conditions"`
	// allocatedResources is the storage resource within AllocatedResources tracks the capacity allocated to a PVC. It may
	// be larger than the actual capacity when a volume expansion operation is requested.
	// For storage quota, the larger value from allocatedResources and PVC.spec.resources is used.
	// If allocatedResources is not set, PVC.spec.resources alone is used for quota calculation.
	// If a volume expansion capacity request is lowered, allocatedResources is only
	// lowered if there are no expansion operations in progress and if the actual volume capacity
	// is equal or lower than the requested capacity.
	// This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.
	AllocatedResources map[string]apiresource.Quantity `json:"allocatedResources,omitempty"`
	// resizeStatus stores status of resize operation.
	// ResizeStatus is not set by default but when expansion is complete resizeStatus is set to empty
	// string by resize controller or kubelet.
	// This is an alpha field and requires enabling RecoverVolumeExpansionFailure feature.
	ResizeStatus PersistentVolumeClaimResizeStatus `json:"resizeStatus,omitempty"`
}

func (*PersistentVolumeClaimStatus) DeepCopy

func (*PersistentVolumeClaimStatus) DeepCopyInto

type PersistentVolumeClaimTemplate

type PersistentVolumeClaimTemplate struct {
	// May contain labels and annotations that will be copied into the PVC
	// when creating it. No other fields are allowed and will be rejected during
	// validation.
	ObjectMeta *metav1.ObjectMeta `json:"metadata,omitempty"`
	// The specification for the PersistentVolumeClaim. The entire content is
	// copied unchanged into the PVC that gets created from this
	// template. The same fields as in a PersistentVolumeClaim
	// are also valid here.
	Spec PersistentVolumeClaimSpec `json:"spec"`
}

func (*PersistentVolumeClaimTemplate) DeepCopy

func (*PersistentVolumeClaimTemplate) DeepCopyInto

type PersistentVolumeClaimVolumeSource

type PersistentVolumeClaimVolumeSource struct {
	// claimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
	ClaimName string `json:"claimName"`
	// readOnly Will force the ReadOnly setting in VolumeMounts.
	// Default false.
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*PersistentVolumeClaimVolumeSource) DeepCopy

func (*PersistentVolumeClaimVolumeSource) DeepCopyInto

type PersistentVolumeList

type PersistentVolumeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []PersistentVolume `json:"items"`
}

func (*PersistentVolumeList) DeepCopy

func (*PersistentVolumeList) DeepCopyInto

func (in *PersistentVolumeList) DeepCopyInto(out *PersistentVolumeList)

func (*PersistentVolumeList) DeepCopyObject

func (in *PersistentVolumeList) DeepCopyObject() runtime.Object

type PersistentVolumeMode

type PersistentVolumeMode string
const (
	PersistentVolumeModeBlock      PersistentVolumeMode = "Block"
	PersistentVolumeModeFilesystem PersistentVolumeMode = "Filesystem"
)

type PersistentVolumePhase

type PersistentVolumePhase string
const (
	PersistentVolumePhasePending   PersistentVolumePhase = "Pending"
	PersistentVolumePhaseAvailable PersistentVolumePhase = "Available"
	PersistentVolumePhaseBound     PersistentVolumePhase = "Bound"
	PersistentVolumePhaseReleased  PersistentVolumePhase = "Released"
	PersistentVolumePhaseFailed    PersistentVolumePhase = "Failed"
)

type PersistentVolumeReclaimPolicy

type PersistentVolumeReclaimPolicy string
const (
	PersistentVolumeReclaimPolicyRecycle PersistentVolumeReclaimPolicy = "Recycle"
	PersistentVolumeReclaimPolicyDelete  PersistentVolumeReclaimPolicy = "Delete"
	PersistentVolumeReclaimPolicyRetain  PersistentVolumeReclaimPolicy = "Retain"
)

type PersistentVolumeSource

type PersistentVolumeSource struct {
	// gcePersistentDisk represents a GCE Disk resource that is attached to a
	// kubelet's host machine and then exposed to the pod. Provisioned by an admin.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
	GCEPersistentDisk *GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty"`
	// awsElasticBlockStore represents an AWS Disk resource that is attached to a
	// kubelet's host machine and then exposed to the pod.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
	AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty"`
	// hostPath represents a directory on the host.
	// Provisioned by a developer or tester.
	// This is useful for single-node development and testing only!
	// On-host storage is not supported in any way and WILL NOT WORK in a multi-node cluster.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
	HostPath *HostPathVolumeSource `json:"hostPath,omitempty"`
	// glusterfs represents a Glusterfs volume that is attached to a host and
	// exposed to the pod. Provisioned by an admin.
	// More info: https://examples.k8s.io/volumes/glusterfs/README.md
	Glusterfs *GlusterfsPersistentVolumeSource `json:"glusterfs,omitempty"`
	// nfs represents an NFS mount on the host. Provisioned by an admin.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
	NFS *NFSVolumeSource `json:"nfs,omitempty"`
	// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
	// More info: https://examples.k8s.io/volumes/rbd/README.md
	RBD *RBDPersistentVolumeSource `json:"rbd,omitempty"`
	// iscsi represents an ISCSI Disk resource that is attached to a
	// kubelet's host machine and then exposed to the pod. Provisioned by an admin.
	ISCSI *ISCSIPersistentVolumeSource `json:"iscsi,omitempty"`
	// cinder represents a cinder volume attached and mounted on kubelets host machine.
	// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
	Cinder *CinderPersistentVolumeSource `json:"cinder,omitempty"`
	// cephFS represents a Ceph FS mount on the host that shares a pod's lifetime
	CephFS *CephFSPersistentVolumeSource `json:"cephfs,omitempty"`
	// fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.
	FC *FCVolumeSource `json:"fc,omitempty"`
	// flocker represents a Flocker volume attached to a kubelet's host machine and exposed to the pod for its usage. This depends on the Flocker control service being running
	Flocker *FlockerVolumeSource `json:"flocker,omitempty"`
	// flexVolume represents a generic volume resource that is
	// provisioned/attached using an exec based plugin.
	FlexVolume *FlexPersistentVolumeSource `json:"flexVolume,omitempty"`
	// azureFile represents an Azure File Service mount on the host and bind mount to the pod.
	AzureFile *AzureFilePersistentVolumeSource `json:"azureFile,omitempty"`
	// vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine
	VsphereVolume *VsphereVirtualDiskVolumeSource `json:"vsphereVolume,omitempty"`
	// quobyte represents a Quobyte mount on the host that shares a pod's lifetime
	Quobyte *QuobyteVolumeSource `json:"quobyte,omitempty"`
	// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
	AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty"`
	// photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
	PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty"`
	// portworxVolume represents a portworx volume attached and mounted on kubelets host machine
	PortworxVolume *PortworxVolumeSource `json:"portworxVolume,omitempty"`
	// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
	ScaleIO *ScaleIOPersistentVolumeSource `json:"scaleIO,omitempty"`
	// local represents directly-attached storage with node affinity
	Local *LocalVolumeSource `json:"local,omitempty"`
	// storageOS represents a StorageOS volume that is attached to the kubelet's host machine and mounted into the pod
	// More info: https://examples.k8s.io/volumes/storageos/README.md
	StorageOS *StorageOSPersistentVolumeSource `json:"storageos,omitempty"`
	// csi represents storage that is handled by an external CSI driver (Beta feature).
	CSI *CSIPersistentVolumeSource `json:"csi,omitempty"`
}

func (*PersistentVolumeSource) DeepCopy

func (*PersistentVolumeSource) DeepCopyInto

func (in *PersistentVolumeSource) DeepCopyInto(out *PersistentVolumeSource)

type PersistentVolumeSpec

type PersistentVolumeSpec struct {
	// capacity is the description of the persistent volume's resources and capacity.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity
	Capacity map[string]apiresource.Quantity `json:"capacity,omitempty"`
	// persistentVolumeSource is the actual volume backing the persistent volume.
	PersistentVolumeSource `json:",inline"`
	// accessModes contains all ways the volume can be mounted.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes
	AccessModes []PersistentVolumeAccessMode `json:"accessModes"`
	// claimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim.
	// Expected to be non-nil when bound.
	// claim.VolumeName is the authoritative bind between PV and PVC.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#binding
	ClaimRef *ObjectReference `json:"claimRef,omitempty"`
	// persistentVolumeReclaimPolicy defines what happens to a persistent volume when released from its claim.
	// Valid options are Retain (default for manually created PersistentVolumes), Delete (default
	// for dynamically provisioned PersistentVolumes), and Recycle (deprecated).
	// Recycle must be supported by the volume plugin underlying this PersistentVolume.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming
	PersistentVolumeReclaimPolicy PersistentVolumeReclaimPolicy `json:"persistentVolumeReclaimPolicy,omitempty"`
	// storageClassName is the name of StorageClass to which this persistent volume belongs. Empty value
	// means that this volume does not belong to any StorageClass.
	StorageClassName string `json:"storageClassName,omitempty"`
	// mountOptions is the list of mount options, e.g. ["ro", "soft"]. Not validated - mount will
	// simply fail if one is invalid.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options
	MountOptions []string `json:"mountOptions"`
	// volumeMode defines if a volume is intended to be used with a formatted filesystem
	// or to remain in raw block state. Value of Filesystem is implied when not included in spec.
	VolumeMode PersistentVolumeMode `json:"volumeMode,omitempty"`
	// nodeAffinity defines constraints that limit what nodes this volume can be accessed from.
	// This field influences the scheduling of pods that use this volume.
	NodeAffinity *VolumeNodeAffinity `json:"nodeAffinity,omitempty"`
}

func (*PersistentVolumeSpec) DeepCopy

func (*PersistentVolumeSpec) DeepCopyInto

func (in *PersistentVolumeSpec) DeepCopyInto(out *PersistentVolumeSpec)

type PersistentVolumeStatus

type PersistentVolumeStatus struct {
	// phase indicates if a volume is available, bound to a claim, or released by a claim.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#phase
	Phase PersistentVolumePhase `json:"phase,omitempty"`
	// message is a human-readable message indicating details about why the volume is in this state.
	Message string `json:"message,omitempty"`
	// reason is a brief CamelCase string that describes any failure and is meant
	// for machine parsing and tidy display in the CLI.
	Reason string `json:"reason,omitempty"`
}

func (*PersistentVolumeStatus) DeepCopy

func (*PersistentVolumeStatus) DeepCopyInto

func (in *PersistentVolumeStatus) DeepCopyInto(out *PersistentVolumeStatus)

type PhotonPersistentDiskVolumeSource

type PhotonPersistentDiskVolumeSource struct {
	// pdID is the ID that identifies Photon Controller persistent disk
	PdID string `json:"pdID"`
	// fsType is the filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	FSType string `json:"fsType,omitempty"`
}

func (*PhotonPersistentDiskVolumeSource) DeepCopy

func (*PhotonPersistentDiskVolumeSource) DeepCopyInto

type Pod

type Pod struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Specification of the desired behavior of the pod.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Spec *PodSpec `json:"spec,omitempty"`
	// Most recently observed status of the pod.
	// This data may not be up to date.
	// Populated by the system.
	// Read-only.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Status *PodStatus `json:"status,omitempty"`
}

func (*Pod) DeepCopy

func (in *Pod) DeepCopy() *Pod

func (*Pod) DeepCopyInto

func (in *Pod) DeepCopyInto(out *Pod)

func (*Pod) DeepCopyObject

func (in *Pod) DeepCopyObject() runtime.Object

type PodAffinity

type PodAffinity struct {
	// If the affinity requirements specified by this field are not met at
	// scheduling time, the pod will not be scheduled onto the node.
	// If the affinity requirements specified by this field cease to be met
	// at some point during pod execution (e.g. due to a pod label update), the
	// system may or may not try to eventually evict the pod from its node.
	// When there are multiple elements, the lists of nodes corresponding to each
	// podAffinityTerm are intersected, i.e. all terms must be satisfied.
	RequiredDuringSchedulingIgnoredDuringExecution []PodAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution"`
	// The scheduler will prefer to schedule pods to nodes that satisfy
	// the affinity expressions specified by this field, but it may choose
	// a node that violates one or more of the expressions. The node that is
	// most preferred is the one with the greatest sum of weights, i.e.
	// for each node that meets all of the scheduling requirements (resource
	// request, requiredDuringScheduling affinity expressions, etc.),
	// compute a sum by iterating through the elements of this field and adding
	// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
	// node(s) with the highest sum are the most preferred.
	PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution"`
}

func (*PodAffinity) DeepCopy

func (in *PodAffinity) DeepCopy() *PodAffinity

func (*PodAffinity) DeepCopyInto

func (in *PodAffinity) DeepCopyInto(out *PodAffinity)

type PodAffinityTerm

type PodAffinityTerm struct {
	// A label query over a set of resources, in this case pods.
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
	// namespaces specifies a static list of namespace names that the term applies to.
	// The term is applied to the union of the namespaces listed in this field
	// and the ones selected by namespaceSelector.
	// null or empty namespaces list and null namespaceSelector means "this pod's namespace".
	Namespaces []string `json:"namespaces"`
	// This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching
	// the labelSelector in the specified namespaces, where co-located is defined as running on a node
	// whose value of the label with key topologyKey matches that of any node on which any of the
	// selected pods is running.
	// Empty topologyKey is not allowed.
	TopologyKey string `json:"topologyKey"`
	// A label query over the set of namespaces that the term applies to.
	// The term is applied to the union of the namespaces selected by this field
	// and the ones listed in the namespaces field.
	// null selector and null or empty namespaces list means "this pod's namespace".
	// An empty selector ({}) matches all namespaces.
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}

func (*PodAffinityTerm) DeepCopy

func (in *PodAffinityTerm) DeepCopy() *PodAffinityTerm

func (*PodAffinityTerm) DeepCopyInto

func (in *PodAffinityTerm) DeepCopyInto(out *PodAffinityTerm)

type PodAntiAffinity

type PodAntiAffinity struct {
	// If the anti-affinity requirements specified by this field are not met at
	// scheduling time, the pod will not be scheduled onto the node.
	// If the anti-affinity requirements specified by this field cease to be met
	// at some point during pod execution (e.g. due to a pod label update), the
	// system may or may not try to eventually evict the pod from its node.
	// When there are multiple elements, the lists of nodes corresponding to each
	// podAffinityTerm are intersected, i.e. all terms must be satisfied.
	RequiredDuringSchedulingIgnoredDuringExecution []PodAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution"`
	// The scheduler will prefer to schedule pods to nodes that satisfy
	// the anti-affinity expressions specified by this field, but it may choose
	// a node that violates one or more of the expressions. The node that is
	// most preferred is the one with the greatest sum of weights, i.e.
	// for each node that meets all of the scheduling requirements (resource
	// request, requiredDuringScheduling anti-affinity expressions, etc.),
	// compute a sum by iterating through the elements of this field and adding
	// "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the
	// node(s) with the highest sum are the most preferred.
	PreferredDuringSchedulingIgnoredDuringExecution []WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution"`
}

func (*PodAntiAffinity) DeepCopy

func (in *PodAntiAffinity) DeepCopy() *PodAntiAffinity

func (*PodAntiAffinity) DeepCopyInto

func (in *PodAntiAffinity) DeepCopyInto(out *PodAntiAffinity)

type PodAttachOptions

type PodAttachOptions struct {
	metav1.TypeMeta `json:",inline"`
	// Stdin if true, redirects the standard input stream of the pod for this call.
	// Defaults to false.
	Stdin bool `json:"stdin,omitempty"`
	// Stdout if true indicates that stdout is to be redirected for the attach call.
	// Defaults to true.
	Stdout bool `json:"stdout,omitempty"`
	// Stderr if true indicates that stderr is to be redirected for the attach call.
	// Defaults to true.
	Stderr bool `json:"stderr,omitempty"`
	// TTY if true indicates that a tty will be allocated for the attach call.
	// This is passed through the container runtime so the tty
	// is allocated on the worker node by the container runtime.
	// Defaults to false.
	TTY bool `json:"tty,omitempty"`
	// The container in which to execute the command.
	// Defaults to only container if there is only one container in the pod.
	Container string `json:"container,omitempty"`
}

func (*PodAttachOptions) DeepCopy

func (in *PodAttachOptions) DeepCopy() *PodAttachOptions

func (*PodAttachOptions) DeepCopyInto

func (in *PodAttachOptions) DeepCopyInto(out *PodAttachOptions)

func (*PodAttachOptions) DeepCopyObject

func (in *PodAttachOptions) DeepCopyObject() runtime.Object

type PodCondition

type PodCondition struct {
	// Type is the type of the condition.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
	Type PodConditionType `json:"type"`
	// Status is the status of the condition.
	// Can be True, False, Unknown.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
	Status ConditionStatus `json:"status"`
	// Last time we probed the condition.
	LastProbeTime *metav1.Time `json:"lastProbeTime,omitempty"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
	// Unique, one-word, CamelCase reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`
	// Human-readable message indicating details about last transition.
	Message string `json:"message,omitempty"`
}

func (*PodCondition) DeepCopy

func (in *PodCondition) DeepCopy() *PodCondition

func (*PodCondition) DeepCopyInto

func (in *PodCondition) DeepCopyInto(out *PodCondition)

type PodConditionType

type PodConditionType string
const (
	PodConditionTypeContainersReady  PodConditionType = "ContainersReady"
	PodConditionTypeInitialized      PodConditionType = "Initialized"
	PodConditionTypeReady            PodConditionType = "Ready"
	PodConditionTypePodScheduled     PodConditionType = "PodScheduled"
	PodConditionTypeDisruptionTarget PodConditionType = "DisruptionTarget"
)

type PodDNSConfig

type PodDNSConfig struct {
	// A list of DNS name server IP addresses.
	// This will be appended to the base nameservers generated from DNSPolicy.
	// Duplicated nameservers will be removed.
	Nameservers []string `json:"nameservers"`
	// A list of DNS search domains for host-name lookup.
	// This will be appended to the base search paths generated from DNSPolicy.
	// Duplicated search paths will be removed.
	Searches []string `json:"searches"`
	// A list of DNS resolver options.
	// This will be merged with the base options generated from DNSPolicy.
	// Duplicated entries will be removed. Resolution options given in Options
	// will override those that appear in the base DNSPolicy.
	Options []PodDNSConfigOption `json:"options"`
}

func (*PodDNSConfig) DeepCopy

func (in *PodDNSConfig) DeepCopy() *PodDNSConfig

func (*PodDNSConfig) DeepCopyInto

func (in *PodDNSConfig) DeepCopyInto(out *PodDNSConfig)

type PodDNSConfigOption

type PodDNSConfigOption struct {
	// Required.
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

func (*PodDNSConfigOption) DeepCopy

func (in *PodDNSConfigOption) DeepCopy() *PodDNSConfigOption

func (*PodDNSConfigOption) DeepCopyInto

func (in *PodDNSConfigOption) DeepCopyInto(out *PodDNSConfigOption)

type PodExecOptions

type PodExecOptions struct {
	metav1.TypeMeta `json:",inline"`
	// Redirect the standard input stream of the pod for this call.
	// Defaults to false.
	Stdin bool `json:"stdin,omitempty"`
	// Redirect the standard output stream of the pod for this call.
	Stdout bool `json:"stdout,omitempty"`
	// Redirect the standard error stream of the pod for this call.
	Stderr bool `json:"stderr,omitempty"`
	// TTY if true indicates that a tty will be allocated for the exec call.
	// Defaults to false.
	TTY bool `json:"tty,omitempty"`
	// Container in which to execute the command.
	// Defaults to only container if there is only one container in the pod.
	Container string `json:"container,omitempty"`
	// Command is the remote command to execute. argv array. Not executed within a shell.
	Command []string `json:"command"`
}

func (*PodExecOptions) DeepCopy

func (in *PodExecOptions) DeepCopy() *PodExecOptions

func (*PodExecOptions) DeepCopyInto

func (in *PodExecOptions) DeepCopyInto(out *PodExecOptions)

func (*PodExecOptions) DeepCopyObject

func (in *PodExecOptions) DeepCopyObject() runtime.Object

type PodFSGroupChangePolicy

type PodFSGroupChangePolicy string
const (
	PodFSGroupChangePolicyOnRootMismatch PodFSGroupChangePolicy = "OnRootMismatch"
	PodFSGroupChangePolicyAlways         PodFSGroupChangePolicy = "Always"
)

type PodIP

type PodIP struct {
	// ip is an IP address (IPv4 or IPv6) assigned to the pod
	IP string `json:"ip,omitempty"`
}

func (*PodIP) DeepCopy

func (in *PodIP) DeepCopy() *PodIP

func (*PodIP) DeepCopyInto

func (in *PodIP) DeepCopyInto(out *PodIP)

type PodList

type PodList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Pod `json:"items"`
}

func (*PodList) DeepCopy

func (in *PodList) DeepCopy() *PodList

func (*PodList) DeepCopyInto

func (in *PodList) DeepCopyInto(out *PodList)

func (*PodList) DeepCopyObject

func (in *PodList) DeepCopyObject() runtime.Object

type PodLogOptions

type PodLogOptions struct {
	metav1.TypeMeta `json:",inline"`
	// The container for which to stream logs. Defaults to only container if there is one container in the pod.
	Container string `json:"container,omitempty"`
	// Follow the log stream of the pod. Defaults to false.
	Follow bool `json:"follow,omitempty"`
	// Return previous terminated container logs. Defaults to false.
	Previous bool `json:"previous,omitempty"`
	// A relative time in seconds before the current time from which to show logs. If this value
	// precedes the time a pod was started, only logs since the pod start will be returned.
	// If this value is in the future, no logs will be returned.
	// Only one of sinceSeconds or sinceTime may be specified.
	SinceSeconds int64 `json:"sinceSeconds,omitempty"`
	// An RFC3339 timestamp from which to show logs. If this value
	// precedes the time a pod was started, only logs since the pod start will be returned.
	// If this value is in the future, no logs will be returned.
	// Only one of sinceSeconds or sinceTime may be specified.
	SinceTime *metav1.Time `json:"sinceTime,omitempty"`
	// If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line
	// of log output. Defaults to false.
	Timestamps bool `json:"timestamps,omitempty"`
	// If set, the number of lines from the end of the logs to show. If not specified,
	// logs are shown from the creation of the container or sinceSeconds or sinceTime
	TailLines int64 `json:"tailLines,omitempty"`
	// If set, the number of bytes to read from the server before terminating the
	// log output. This may not display a complete final line of logging, and may return
	// slightly more or slightly less than the specified limit.
	LimitBytes int64 `json:"limitBytes,omitempty"`
	// insecureSkipTLSVerifyBackend indicates that the apiserver should not confirm the validity of the
	// serving certificate of the backend it is connecting to.  This will make the HTTPS connection between the apiserver
	// and the backend insecure. This means the apiserver cannot verify the log data it is receiving came from the real
	// kubelet.  If the kubelet is configured to verify the apiserver's TLS credentials, it does not mean the
	// connection to the real kubelet is vulnerable to a man in the middle attack (e.g. an attacker could not intercept
	// the actual log data coming from the real kubelet).
	InsecureSkipTLSVerifyBackend bool `json:"insecureSkipTLSVerifyBackend,omitempty"`
}

func (*PodLogOptions) DeepCopy

func (in *PodLogOptions) DeepCopy() *PodLogOptions

func (*PodLogOptions) DeepCopyInto

func (in *PodLogOptions) DeepCopyInto(out *PodLogOptions)

func (*PodLogOptions) DeepCopyObject

func (in *PodLogOptions) DeepCopyObject() runtime.Object

type PodOS

type PodOS struct {
	// Name is the name of the operating system. The currently supported values are linux and windows.
	// Additional value may be defined in future and can be one of:
	// https://github.com/opencontainers/runtime-spec/blob/master/config.md#platform-specific-configuration
	// Clients should expect to handle additional values and treat unrecognized values in this field as os: null
	Name OSName `json:"name"`
}

func (*PodOS) DeepCopy

func (in *PodOS) DeepCopy() *PodOS

func (*PodOS) DeepCopyInto

func (in *PodOS) DeepCopyInto(out *PodOS)

type PodPhase

type PodPhase string
const (
	PodPhasePending   PodPhase = "Pending"
	PodPhaseRunning   PodPhase = "Running"
	PodPhaseSucceeded PodPhase = "Succeeded"
	PodPhaseFailed    PodPhase = "Failed"
	PodPhaseUnknown   PodPhase = "Unknown"
)

type PodPortForwardOptions

type PodPortForwardOptions struct {
	metav1.TypeMeta `json:",inline"`
	// List of ports to forward
	// Required when using WebSockets
	Ports []int `json:"ports"`
}

func (*PodPortForwardOptions) DeepCopy

func (*PodPortForwardOptions) DeepCopyInto

func (in *PodPortForwardOptions) DeepCopyInto(out *PodPortForwardOptions)

func (*PodPortForwardOptions) DeepCopyObject

func (in *PodPortForwardOptions) DeepCopyObject() runtime.Object

type PodProxyOptions

type PodProxyOptions struct {
	metav1.TypeMeta `json:",inline"`
	// Path is the URL path to use for the current proxy request to pod.
	Path string `json:"path,omitempty"`
}

func (*PodProxyOptions) DeepCopy

func (in *PodProxyOptions) DeepCopy() *PodProxyOptions

func (*PodProxyOptions) DeepCopyInto

func (in *PodProxyOptions) DeepCopyInto(out *PodProxyOptions)

func (*PodProxyOptions) DeepCopyObject

func (in *PodProxyOptions) DeepCopyObject() runtime.Object

type PodQOSClass

type PodQOSClass string
const (
	PodQOSClassGuaranteed PodQOSClass = "Guaranteed"
	PodQOSClassBurstable  PodQOSClass = "Burstable"
	PodQOSClassBestEffort PodQOSClass = "BestEffort"
)

type PodReadinessGate

type PodReadinessGate struct {
	// ConditionType refers to a condition in the pod's condition list with matching type.
	ConditionType PodConditionType `json:"conditionType"`
}

func (*PodReadinessGate) DeepCopy

func (in *PodReadinessGate) DeepCopy() *PodReadinessGate

func (*PodReadinessGate) DeepCopyInto

func (in *PodReadinessGate) DeepCopyInto(out *PodReadinessGate)

type PodResizeStatus

type PodResizeStatus string
const (
	PodResizeStatusProposed   PodResizeStatus = "Proposed"
	PodResizeStatusInProgress PodResizeStatus = "InProgress"
	PodResizeStatusDeferred   PodResizeStatus = "Deferred"
	PodResizeStatusInfeasible PodResizeStatus = "Infeasible"
)

type PodResourceClaim

type PodResourceClaim struct {
	// Name uniquely identifies this resource claim inside the pod.
	// This must be a DNS_LABEL.
	Name string `json:"name"`
	// Source describes where to find the ResourceClaim.
	Source *ClaimSource `json:"source,omitempty"`
}

func (*PodResourceClaim) DeepCopy

func (in *PodResourceClaim) DeepCopy() *PodResourceClaim

func (*PodResourceClaim) DeepCopyInto

func (in *PodResourceClaim) DeepCopyInto(out *PodResourceClaim)

type PodSchedulingGate

type PodSchedulingGate struct {
	// Name of the scheduling gate.
	// Each scheduling gate must have a unique name field.
	Name string `json:"name"`
}

func (*PodSchedulingGate) DeepCopy

func (in *PodSchedulingGate) DeepCopy() *PodSchedulingGate

func (*PodSchedulingGate) DeepCopyInto

func (in *PodSchedulingGate) DeepCopyInto(out *PodSchedulingGate)

type PodSecurityContext

type PodSecurityContext struct {
	// The SELinux context to be applied to all containers.
	// If unspecified, the container runtime will allocate a random SELinux context for each
	// container.  May also be set in SecurityContext.  If set in
	// both SecurityContext and PodSecurityContext, the value specified in SecurityContext
	// takes precedence for that container.
	// Note that this field cannot be set when spec.os.name is windows.
	SELinuxOptions *SELinuxOptions `json:"seLinuxOptions,omitempty"`
	// The Windows specific settings applied to all containers.
	// If unspecified, the options within a container's SecurityContext will be used.
	// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
	// Note that this field cannot be set when spec.os.name is linux.
	WindowsOptions *WindowsSecurityContextOptions `json:"windowsOptions,omitempty"`
	// The UID to run the entrypoint of the container process.
	// Defaults to user specified in image metadata if unspecified.
	// May also be set in SecurityContext.  If set in both SecurityContext and
	// PodSecurityContext, the value specified in SecurityContext takes precedence
	// for that container.
	// Note that this field cannot be set when spec.os.name is windows.
	RunAsUser int64 `json:"runAsUser,omitempty"`
	// The GID to run the entrypoint of the container process.
	// Uses runtime default if unset.
	// May also be set in SecurityContext.  If set in both SecurityContext and
	// PodSecurityContext, the value specified in SecurityContext takes precedence
	// for that container.
	// Note that this field cannot be set when spec.os.name is windows.
	RunAsGroup int64 `json:"runAsGroup,omitempty"`
	// Indicates that the container must run as a non-root user.
	// If true, the Kubelet will validate the image at runtime to ensure that it
	// does not run as UID 0 (root) and fail to start the container if it does.
	// If unset or false, no such validation will be performed.
	// May also be set in SecurityContext.  If set in both SecurityContext and
	// PodSecurityContext, the value specified in SecurityContext takes precedence.
	RunAsNonRoot bool `json:"runAsNonRoot,omitempty"`
	// A list of groups applied to the first process run in each container, in addition
	// to the container's primary GID, the fsGroup (if specified), and group memberships
	// defined in the container image for the uid of the container process. If unspecified,
	// no additional groups are added to any container. Note that group memberships
	// defined in the container image for the uid of the container process are still effective,
	// even if they are not included in this list.
	// Note that this field cannot be set when spec.os.name is windows.
	SupplementalGroups []int64 `json:"supplementalGroups"`
	// A special supplemental group that applies to all containers in a pod.
	// Some volume types allow the Kubelet to change the ownership of that volume
	// to be owned by the pod:
	// 1. The owning GID will be the FSGroup
	// 2. The setgid bit is set (new files created in the volume will be owned by FSGroup)
	// 3. The permission bits are OR'd with rw-rw----
	// If unset, the Kubelet will not modify the ownership and permissions of any volume.
	// Note that this field cannot be set when spec.os.name is windows.
	FSGroup int64 `json:"fsGroup,omitempty"`
	// Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported
	// sysctls (by the container runtime) might fail to launch.
	// Note that this field cannot be set when spec.os.name is windows.
	Sysctls []Sysctl `json:"sysctls"`
	// fsGroupChangePolicy defines behavior of changing ownership and permission of the volume
	// before being exposed inside Pod. This field will only apply to
	// volume types which support fsGroup based ownership(and permissions).
	// It will have no effect on ephemeral volume types such as: secret, configmaps
	// and emptydir.
	// Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used.
	// Note that this field cannot be set when spec.os.name is windows.
	FSGroupChangePolicy PodFSGroupChangePolicy `json:"fsGroupChangePolicy,omitempty"`
	// The seccomp options to use by the containers in this pod.
	// Note that this field cannot be set when spec.os.name is windows.
	SeccompProfile *SeccompProfile `json:"seccompProfile,omitempty"`
}

func (*PodSecurityContext) DeepCopy

func (in *PodSecurityContext) DeepCopy() *PodSecurityContext

func (*PodSecurityContext) DeepCopyInto

func (in *PodSecurityContext) DeepCopyInto(out *PodSecurityContext)

type PodSignature

type PodSignature struct {
	// Reference to controller whose pods should avoid this node.
	PodController *metav1.OwnerReference `json:"podController,omitempty"`
}

func (*PodSignature) DeepCopy

func (in *PodSignature) DeepCopy() *PodSignature

func (*PodSignature) DeepCopyInto

func (in *PodSignature) DeepCopyInto(out *PodSignature)

type PodSpec

type PodSpec struct {
	// List of volumes that can be mounted by containers belonging to the pod.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes
	Volumes []Volume `json:"volumes"`
	// List of initialization containers belonging to the pod.
	// Init containers are executed in order prior to containers being started. If any
	// init container fails, the pod is considered to have failed and is handled according
	// to its restartPolicy. The name for an init container or normal container must be
	// unique among all containers.
	// Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes.
	// The resourceRequirements of an init container are taken into account during scheduling
	// by finding the highest request/limit for each resource type, and then using the max of
	// of that value or the sum of the normal containers. Limits are applied to init containers
	// in a similar fashion.
	// Init containers cannot currently be added or removed.
	// Cannot be updated.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/
	InitContainers []Container `json:"initContainers"`
	// List of containers belonging to the pod.
	// Containers cannot currently be added or removed.
	// There must be at least one container in a Pod.
	// Cannot be updated.
	Containers []Container `json:"containers"`
	// List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing
	// pod to perform user-initiated actions such as debugging. This list cannot be specified when
	// creating a pod, and it cannot be modified by updating the pod spec. In order to add an
	// ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource.
	EphemeralContainers []EphemeralContainer `json:"ephemeralContainers"`
	// Restart policy for all containers within the pod.
	// One of Always, OnFailure, Never. In some contexts, only a subset of those values may be permitted.
	// Default to Always.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy
	RestartPolicy RestartPolicy `json:"restartPolicy,omitempty"`
	// Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request.
	// Value must be non-negative integer. The value zero indicates stop immediately via
	// the kill signal (no opportunity to shut down).
	// If this value is nil, the default grace period will be used instead.
	// The grace period is the duration in seconds after the processes running in the pod are sent
	// a termination signal and the time when the processes are forcibly halted with a kill signal.
	// Set this value longer than the expected cleanup time for your process.
	// Defaults to 30 seconds.
	TerminationGracePeriodSeconds int64 `json:"terminationGracePeriodSeconds,omitempty"`
	// Optional duration in seconds the pod may be active on the node relative to
	// StartTime before the system will actively try to mark it failed and kill associated containers.
	// Value must be a positive integer.
	ActiveDeadlineSeconds int64 `json:"activeDeadlineSeconds,omitempty"`
	// Set DNS policy for the pod.
	// Defaults to "ClusterFirst".
	// Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'.
	// DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy.
	// To have DNS options set along with hostNetwork, you have to specify DNS policy
	// explicitly to 'ClusterFirstWithHostNet'.
	DNSPolicy DNSPolicy `json:"dnsPolicy,omitempty"`
	// NodeSelector is a selector which must be true for the pod to fit on a node.
	// Selector which must match a node's labels for the pod to be scheduled on that node.
	// More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// ServiceAccountName is the name of the ServiceAccount to use to run this pod.
	// More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/
	ServiceAccountName string `json:"serviceAccountName,omitempty"`
	// DeprecatedServiceAccount is a depreciated alias for ServiceAccountName.
	// Deprecated: Use serviceAccountName instead.
	DeprecatedServiceAccount string `json:"serviceAccount,omitempty"`
	// AutomountServiceAccountToken indicates whether a service account token should be automatically mounted.
	AutomountServiceAccountToken bool `json:"automountServiceAccountToken,omitempty"`
	// NodeName is a request to schedule this pod onto a specific node. If it is non-empty,
	// the scheduler simply schedules this pod onto that node, assuming that it fits resource
	// requirements.
	NodeName string `json:"nodeName,omitempty"`
	// Host networking requested for this pod. Use the host's network namespace.
	// If this option is set, the ports that will be used must be specified.
	// Default to false.
	HostNetwork bool `json:"hostNetwork,omitempty"`
	// Use the host's pid namespace.
	// Optional: Default to false.
	HostPID bool `json:"hostPID,omitempty"`
	// Use the host's ipc namespace.
	// Optional: Default to false.
	HostIPC bool `json:"hostIPC,omitempty"`
	// Share a single process namespace between all of the containers in a pod.
	// When this is set containers will be able to view and signal processes from other containers
	// in the same pod, and the first process in each container will not be assigned PID 1.
	// HostPID and ShareProcessNamespace cannot both be set.
	// Optional: Default to false.
	ShareProcessNamespace bool `json:"shareProcessNamespace,omitempty"`
	// SecurityContext holds pod-level security attributes and common container settings.
	// Optional: Defaults to empty.  See type description for default values of each field.
	SecurityContext *PodSecurityContext `json:"securityContext,omitempty"`
	// ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec.
	// If specified, these secrets will be passed to individual puller implementations for them to use.
	// More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod
	ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets"`
	// Specifies the hostname of the Pod
	// If not specified, the pod's hostname will be set to a system-defined value.
	Hostname string `json:"hostname,omitempty"`
	// If specified, the fully qualified Pod hostname will be "<hostname>.<subdomain>.<pod namespace>.svc.<cluster domain>".
	// If not specified, the pod will not have a domainname at all.
	Subdomain string `json:"subdomain,omitempty"`
	// If specified, the pod's scheduling constraints
	Affinity *Affinity `json:"affinity,omitempty"`
	// If specified, the pod will be dispatched by specified scheduler.
	// If not specified, the pod will be dispatched by default scheduler.
	SchedulerName string `json:"schedulerName,omitempty"`
	// If specified, the pod's tolerations.
	Tolerations []Toleration `json:"tolerations"`
	// HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts
	// file if specified. This is only valid for non-hostNetwork pods.
	HostAliases []HostAlias `json:"hostAliases"`
	// If specified, indicates the pod's priority. "system-node-critical" and
	// "system-cluster-critical" are two special keywords which indicate the
	// highest priorities with the former being the highest priority. Any other
	// name must be defined by creating a PriorityClass object with that name.
	// If not specified, the pod priority will be default or zero if there is no
	// default.
	PriorityClassName string `json:"priorityClassName,omitempty"`
	// The priority value. Various system components use this field to find the
	// priority of the pod. When Priority Admission Controller is enabled, it
	// prevents users from setting this field. The admission controller populates
	// this field from PriorityClassName.
	// The higher the value, the higher the priority.
	Priority int `json:"priority,omitempty"`
	// Specifies the DNS parameters of a pod.
	// Parameters specified here will be merged to the generated DNS
	// configuration based on DNSPolicy.
	DNSConfig *PodDNSConfig `json:"dnsConfig,omitempty"`
	// If specified, all readiness gates will be evaluated for pod readiness.
	// A pod is ready when all its containers are ready AND
	// all conditions specified in the readiness gates have status equal to "True"
	// More info: https://git.k8s.io/enhancements/keps/sig-network/580-pod-readiness-gates
	ReadinessGates []PodReadinessGate `json:"readinessGates"`
	// RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used
	// to run this pod.  If no RuntimeClass resource matches the named class, the pod will not be run.
	// If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an
	// empty definition that uses the default runtime handler.
	// More info: https://git.k8s.io/enhancements/keps/sig-node/585-runtime-class
	RuntimeClassName string `json:"runtimeClassName,omitempty"`
	// EnableServiceLinks indicates whether information about services should be injected into pod's
	// environment variables, matching the syntax of Docker links.
	// Optional: Defaults to true.
	EnableServiceLinks bool `json:"enableServiceLinks,omitempty"`
	// PreemptionPolicy is the Policy for preempting pods with lower priority.
	// One of Never, PreemptLowerPriority.
	// Defaults to PreemptLowerPriority if unset.
	PreemptionPolicy PreemptionPolicy `json:"preemptionPolicy,omitempty"`
	// Overhead represents the resource overhead associated with running a pod for a given RuntimeClass.
	// This field will be autopopulated at admission time by the RuntimeClass admission controller. If
	// the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests.
	// The RuntimeClass admission controller will reject Pod create requests which have the overhead already
	// set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value
	// defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero.
	// More info: https://git.k8s.io/enhancements/keps/sig-node/688-pod-overhead/README.md
	Overhead map[string]apiresource.Quantity `json:"overhead,omitempty"`
	// TopologySpreadConstraints describes how a group of pods ought to spread across topology
	// domains. Scheduler will schedule pods in a way which abides by the constraints.
	// All topologySpreadConstraints are ANDed.
	TopologySpreadConstraints []TopologySpreadConstraint `json:"topologySpreadConstraints"`
	// If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default).
	// In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname).
	// In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN.
	// If a pod does not have FQDN, this has no effect.
	// Default to false.
	SetHostnameAsFQDN bool `json:"setHostnameAsFQDN,omitempty"`
	// Specifies the OS of the containers in the pod.
	// Some pod and container fields are restricted if this is set.
	// If the OS field is set to linux, the following fields must be unset:
	// -securityContext.windowsOptions
	// If the OS field is set to windows, following fields must be unset:
	// - spec.hostPID
	// - spec.hostIPC
	// - spec.hostUsers
	// - spec.securityContext.seLinuxOptions
	// - spec.securityContext.seccompProfile
	// - spec.securityContext.fsGroup
	// - spec.securityContext.fsGroupChangePolicy
	// - spec.securityContext.sysctls
	// - spec.shareProcessNamespace
	// - spec.securityContext.runAsUser
	// - spec.securityContext.runAsGroup
	// - spec.securityContext.supplementalGroups
	// - spec.containers[*].securityContext.seLinuxOptions
	// - spec.containers[*].securityContext.seccompProfile
	// - spec.containers[*].securityContext.capabilities
	// - spec.containers[*].securityContext.readOnlyRootFilesystem
	// - spec.containers[*].securityContext.privileged
	// - spec.containers[*].securityContext.allowPrivilegeEscalation
	// - spec.containers[*].securityContext.procMount
	// - spec.containers[*].securityContext.runAsUser
	// - spec.containers[*].securityContext.runAsGroup
	OS *PodOS `json:"os,omitempty"`
	// Use the host's user namespace.
	// Optional: Default to true.
	// If set to true or not present, the pod will be run in the host user namespace, useful
	// for when the pod needs a feature only available to the host user namespace, such as
	// loading a kernel module with CAP_SYS_MODULE.
	// When set to false, a new userns is created for the pod. Setting false is useful for
	// mitigating container breakout vulnerabilities even allowing users to run their
	// containers as root without actually having root privileges on the host.
	// This field is alpha-level and is only honored by servers that enable the UserNamespacesSupport feature.
	HostUsers bool `json:"hostUsers,omitempty"`
	// SchedulingGates is an opaque list of values that if specified will block scheduling the pod.
	// If schedulingGates is not empty, the pod will stay in the SchedulingGated state and the
	// scheduler will not attempt to schedule the pod.
	// SchedulingGates can only be set at pod creation time, and be removed only afterwards.
	// This is a beta feature enabled by the PodSchedulingReadiness feature gate.
	SchedulingGates []PodSchedulingGate `json:"schedulingGates"`
	// ResourceClaims defines which ResourceClaims must be allocated
	// and reserved before the Pod is allowed to start. The resources
	// will be made available to those containers which consume them
	// by name.
	// This is an alpha field and requires enabling the
	// DynamicResourceAllocation feature gate.
	// This field is immutable.
	ResourceClaims []PodResourceClaim `json:"resourceClaims"`
}

func (*PodSpec) DeepCopy

func (in *PodSpec) DeepCopy() *PodSpec

func (*PodSpec) DeepCopyInto

func (in *PodSpec) DeepCopyInto(out *PodSpec)

type PodStatus

type PodStatus struct {
	// The phase of a Pod is a simple, high-level summary of where the Pod is in its lifecycle.
	// The conditions array, the reason and message fields, and the individual container status
	// arrays contain more detail about the pod's status.
	// There are five possible phase values:
	// Pending: The pod has been accepted by the Kubernetes system, but one or more of the
	// container images has not been created. This includes time before being scheduled as
	// well as time spent downloading images over the network, which could take a while.
	// Running: The pod has been bound to a node, and all of the containers have been created.
	// At least one container is still running, or is in the process of starting or restarting.
	// Succeeded: All containers in the pod have terminated in success, and will not be restarted.
	// Failed: All containers in the pod have terminated, and at least one container has
	// terminated in failure. The container either exited with non-zero status or was terminated
	// by the system.
	// Unknown: For some reason the state of the pod could not be obtained, typically due to an
	// error in communicating with the host of the pod.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-phase
	Phase PodPhase `json:"phase,omitempty"`
	// Current service state of pod.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-conditions
	Conditions []PodCondition `json:"conditions"`
	// A human readable message indicating details about why the pod is in this condition.
	Message string `json:"message,omitempty"`
	// A brief CamelCase message indicating details about why the pod is in this state.
	// e.g. 'Evicted'
	Reason string `json:"reason,omitempty"`
	// nominatedNodeName is set only when this pod preempts other pods on the node, but it cannot be
	// scheduled right away as preemption victims receive their graceful termination periods.
	// This field does not guarantee that the pod will be scheduled on this node. Scheduler may decide
	// to place the pod elsewhere if other nodes become available sooner. Scheduler may also decide to
	// give the resources on this node to a higher priority pod that is created after preemption.
	// As a result, this field may be different than PodSpec.nodeName when the pod is
	// scheduled.
	NominatedNodeName string `json:"nominatedNodeName,omitempty"`
	// IP address of the host to which the pod is assigned. Empty if not yet scheduled.
	HostIP string `json:"hostIP,omitempty"`
	// IP address allocated to the pod. Routable at least within the cluster.
	// Empty if not yet allocated.
	PodIP string `json:"podIP,omitempty"`
	// podIPs holds the IP addresses allocated to the pod. If this field is specified, the 0th entry must
	// match the podIP field. Pods may be allocated at most 1 value for each of IPv4 and IPv6. This list
	// is empty if no IPs have been allocated yet.
	PodIPs []PodIP `json:"podIPs"`
	// RFC 3339 date and time at which the object was acknowledged by the Kubelet.
	// This is before the Kubelet pulled the container image(s) for the pod.
	StartTime *metav1.Time `json:"startTime,omitempty"`
	// The list has one entry per init container in the manifest. The most recent successful
	// init container will have ready = true, the most recently started container will have
	// startTime set.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
	InitContainerStatuses []ContainerStatus `json:"initContainerStatuses"`
	// The list has one entry per container in the manifest.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#pod-and-container-status
	ContainerStatuses []ContainerStatus `json:"containerStatuses"`
	// The Quality of Service (QOS) classification assigned to the pod based on resource requirements
	// See PodQOSClass type for available QOS classes
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-qos/#quality-of-service-classes
	QOSClass PodQOSClass `json:"qosClass,omitempty"`
	// Status for any ephemeral containers that have run in this pod.
	EphemeralContainerStatuses []ContainerStatus `json:"ephemeralContainerStatuses"`
	// Status of resources resize desired for pod's containers.
	// It is empty if no resources resize is pending.
	// Any changes to container resources will automatically set this to "Proposed"
	Resize PodResizeStatus `json:"resize,omitempty"`
}

func (*PodStatus) DeepCopy

func (in *PodStatus) DeepCopy() *PodStatus

func (*PodStatus) DeepCopyInto

func (in *PodStatus) DeepCopyInto(out *PodStatus)

type PodStatusResult

type PodStatusResult struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Most recently observed status of the pod.
	// This data may not be up to date.
	// Populated by the system.
	// Read-only.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Status *PodStatus `json:"status,omitempty"`
}

func (*PodStatusResult) DeepCopy

func (in *PodStatusResult) DeepCopy() *PodStatusResult

func (*PodStatusResult) DeepCopyInto

func (in *PodStatusResult) DeepCopyInto(out *PodStatusResult)

func (*PodStatusResult) DeepCopyObject

func (in *PodStatusResult) DeepCopyObject() runtime.Object

type PodStatusResultList

type PodStatusResultList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []PodStatusResult `json:"items"`
}

func (*PodStatusResultList) DeepCopy

func (in *PodStatusResultList) DeepCopy() *PodStatusResultList

func (*PodStatusResultList) DeepCopyInto

func (in *PodStatusResultList) DeepCopyInto(out *PodStatusResultList)

func (*PodStatusResultList) DeepCopyObject

func (in *PodStatusResultList) DeepCopyObject() runtime.Object

type PodTemplate

type PodTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Template defines the pods that will be created from this pod template.
	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Template *PodTemplateSpec `json:"template,omitempty"`
}

func (*PodTemplate) DeepCopy

func (in *PodTemplate) DeepCopy() *PodTemplate

func (*PodTemplate) DeepCopyInto

func (in *PodTemplate) DeepCopyInto(out *PodTemplate)

func (*PodTemplate) DeepCopyObject

func (in *PodTemplate) DeepCopyObject() runtime.Object

type PodTemplateList

type PodTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []PodTemplate `json:"items"`
}

func (*PodTemplateList) DeepCopy

func (in *PodTemplateList) DeepCopy() *PodTemplateList

func (*PodTemplateList) DeepCopyInto

func (in *PodTemplateList) DeepCopyInto(out *PodTemplateList)

func (*PodTemplateList) DeepCopyObject

func (in *PodTemplateList) DeepCopyObject() runtime.Object

type PodTemplateSpec

type PodTemplateSpec struct {
	// Standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	ObjectMeta *metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification of the desired behavior of the pod.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Spec *PodSpec `json:"spec,omitempty"`
}

func (*PodTemplateSpec) DeepCopy

func (in *PodTemplateSpec) DeepCopy() *PodTemplateSpec

func (*PodTemplateSpec) DeepCopyInto

func (in *PodTemplateSpec) DeepCopyInto(out *PodTemplateSpec)

type PortStatus

type PortStatus struct {
	// Port is the port number of the service port of which status is recorded here
	Port int `json:"port"`
	// Protocol is the protocol of the service port of which status is recorded here
	// The supported values are: "TCP", "UDP", "SCTP"
	Protocol Protocol `json:"protocol"`
	// Error is to record the problem with the service port
	// The format of the error shall comply with the following rules:
	// - built-in error values shall be specified in this file and those shall use
	// CamelCase names
	// - cloud provider specific error values must have names that comply with the
	// format foo.example.com/CamelCase.
	// ---
	// The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
	Error string `json:"error,omitempty"`
}

func (*PortStatus) DeepCopy

func (in *PortStatus) DeepCopy() *PortStatus

func (*PortStatus) DeepCopyInto

func (in *PortStatus) DeepCopyInto(out *PortStatus)

type PortworxVolumeSource

type PortworxVolumeSource struct {
	// volumeID uniquely identifies a Portworx volume
	VolumeID string `json:"volumeID"`
	// fSType represents the filesystem type to mount
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified.
	FSType string `json:"fsType,omitempty"`
	// readOnly defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*PortworxVolumeSource) DeepCopy

func (*PortworxVolumeSource) DeepCopyInto

func (in *PortworxVolumeSource) DeepCopyInto(out *PortworxVolumeSource)

type Preconditions

type Preconditions struct {
	// Specifies the target UID.
	UID string `json:"uid,omitempty"`
}

func (*Preconditions) DeepCopy

func (in *Preconditions) DeepCopy() *Preconditions

func (*Preconditions) DeepCopyInto

func (in *Preconditions) DeepCopyInto(out *Preconditions)

type PreemptionPolicy

type PreemptionPolicy string
const (
	PreemptionPolicyPreemptLowerPriority PreemptionPolicy = "PreemptLowerPriority"
	PreemptionPolicyNever                PreemptionPolicy = "Never"
)

type PreferAvoidPodsEntry

type PreferAvoidPodsEntry struct {
	// The class of pods.
	PodSignature PodSignature `json:"podSignature"`
	// Time at which this entry was added to the list.
	EvictionTime *metav1.Time `json:"evictionTime,omitempty"`
	// (brief) reason why this entry was added to the list.
	Reason string `json:"reason,omitempty"`
	// Human readable message indicating why this entry was added to the list.
	Message string `json:"message,omitempty"`
}

func (*PreferAvoidPodsEntry) DeepCopy

func (*PreferAvoidPodsEntry) DeepCopyInto

func (in *PreferAvoidPodsEntry) DeepCopyInto(out *PreferAvoidPodsEntry)

type PreferredSchedulingTerm

type PreferredSchedulingTerm struct {
	// Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100.
	Weight int `json:"weight"`
	// A node selector term, associated with the corresponding weight.
	Preference NodeSelectorTerm `json:"preference"`
}

func (*PreferredSchedulingTerm) DeepCopy

func (*PreferredSchedulingTerm) DeepCopyInto

func (in *PreferredSchedulingTerm) DeepCopyInto(out *PreferredSchedulingTerm)

type Probe

type Probe struct {
	// The action taken to determine the health of a container
	ProbeHandler `json:",inline"`
	// Number of seconds after the container has started before liveness probes are initiated.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
	InitialDelaySeconds int `json:"initialDelaySeconds,omitempty"`
	// Number of seconds after which the probe times out.
	// Defaults to 1 second. Minimum value is 1.
	// More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes
	TimeoutSeconds int `json:"timeoutSeconds,omitempty"`
	// How often (in seconds) to perform the probe.
	// Default to 10 seconds. Minimum value is 1.
	PeriodSeconds int `json:"periodSeconds,omitempty"`
	// Minimum consecutive successes for the probe to be considered successful after having failed.
	// Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1.
	SuccessThreshold int `json:"successThreshold,omitempty"`
	// Minimum consecutive failures for the probe to be considered failed after having succeeded.
	// Defaults to 3. Minimum value is 1.
	FailureThreshold int `json:"failureThreshold,omitempty"`
	// Optional duration in seconds the pod needs to terminate gracefully upon probe failure.
	// The grace period is the duration in seconds after the processes running in the pod are sent
	// a termination signal and the time when the processes are forcibly halted with a kill signal.
	// Set this value longer than the expected cleanup time for your process.
	// If this value is nil, the pod's terminationGracePeriodSeconds will be used. Otherwise, this
	// value overrides the value provided by the pod spec.
	// Value must be non-negative integer. The value zero indicates stop immediately via
	// the kill signal (no opportunity to shut down).
	// This is a beta field and requires enabling ProbeTerminationGracePeriod feature gate.
	// Minimum value is 1. spec.terminationGracePeriodSeconds is used if unset.
	TerminationGracePeriodSeconds int64 `json:"terminationGracePeriodSeconds,omitempty"`
}

func (*Probe) DeepCopy

func (in *Probe) DeepCopy() *Probe

func (*Probe) DeepCopyInto

func (in *Probe) DeepCopyInto(out *Probe)

type ProbeHandler

type ProbeHandler struct {
	// Exec specifies the action to take.
	Exec *ExecAction `json:"exec,omitempty"`
	// HTTPGet specifies the http request to perform.
	HTTPGet *HTTPGetAction `json:"httpGet,omitempty"`
	// TCPSocket specifies an action involving a TCP port.
	TCPSocket *TCPSocketAction `json:"tcpSocket,omitempty"`
	// GRPC specifies an action involving a GRPC port.
	GRPC *GRPCAction `json:"grpc,omitempty"`
}

func (*ProbeHandler) DeepCopy

func (in *ProbeHandler) DeepCopy() *ProbeHandler

func (*ProbeHandler) DeepCopyInto

func (in *ProbeHandler) DeepCopyInto(out *ProbeHandler)

type ProcMountType

type ProcMountType string
const (
	ProcMountTypeDefault  ProcMountType = "Default"
	ProcMountTypeUnmasked ProcMountType = "Unmasked"
)

type ProjectedVolumeSource

type ProjectedVolumeSource struct {
	// sources is the list of volume projections
	Sources []VolumeProjection `json:"sources"`
	// defaultMode are the mode bits used to set permissions on created files by default.
	// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
	// YAML accepts both octal and decimal values, JSON requires decimal values for mode bits.
	// Directories within the path are not affected by this setting.
	// This might be in conflict with other options that affect the file
	// mode, like fsGroup, and the result can be other mode bits set.
	DefaultMode int `json:"defaultMode,omitempty"`
}

func (*ProjectedVolumeSource) DeepCopy

func (*ProjectedVolumeSource) DeepCopyInto

func (in *ProjectedVolumeSource) DeepCopyInto(out *ProjectedVolumeSource)

type Protocol

type Protocol string
const (
	ProtocolTCP  Protocol = "TCP"
	ProtocolUDP  Protocol = "UDP"
	ProtocolSCTP Protocol = "SCTP"
)

type PullPolicy

type PullPolicy string
const (
	PullPolicyAlways       PullPolicy = "Always"
	PullPolicyNever        PullPolicy = "Never"
	PullPolicyIfNotPresent PullPolicy = "IfNotPresent"
)

type QuobyteVolumeSource

type QuobyteVolumeSource struct {
	// registry represents a single or multiple Quobyte Registry services
	// specified as a string as host:port pair (multiple entries are separated with commas)
	// which acts as the central registry for volumes
	Registry string `json:"registry"`
	// volume is a string that references an already created Quobyte volume by name.
	Volume string `json:"volume"`
	// readOnly here will force the Quobyte volume to be mounted with read-only permissions.
	// Defaults to false.
	ReadOnly bool `json:"readOnly,omitempty"`
	// user to map volume access to
	// Defaults to serivceaccount user
	User string `json:"user,omitempty"`
	// group to map volume access to
	// Default is no group
	Group string `json:"group,omitempty"`
	// tenant owning the given Quobyte volume in the Backend
	// Used with dynamically provisioned Quobyte volumes, value is set by the plugin
	Tenant string `json:"tenant,omitempty"`
}

func (*QuobyteVolumeSource) DeepCopy

func (in *QuobyteVolumeSource) DeepCopy() *QuobyteVolumeSource

func (*QuobyteVolumeSource) DeepCopyInto

func (in *QuobyteVolumeSource) DeepCopyInto(out *QuobyteVolumeSource)

type RBDPersistentVolumeSource

type RBDPersistentVolumeSource struct {
	// monitors is a collection of Ceph monitors.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	CephMonitors []string `json:"monitors"`
	// image is the rados image name.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	RBDImage string `json:"image"`
	// fsType is the filesystem type of the volume that you want to mount.
	// Tip: Ensure that the filesystem type is supported by the host operating system.
	// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
	FSType string `json:"fsType,omitempty"`
	// pool is the rados pool name.
	// Default is rbd.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	RBDPool string `json:"pool,omitempty"`
	// user is the rados user name.
	// Default is admin.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	RadosUser string `json:"user,omitempty"`
	// keyring is the path to key ring for RBDUser.
	// Default is /etc/ceph/keyring.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	Keyring string `json:"keyring,omitempty"`
	// secretRef is name of the authentication secret for RBDUser. If provided
	// overrides keyring.
	// Default is nil.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	SecretRef *SecretReference `json:"secretRef,omitempty"`
	// readOnly here will force the ReadOnly setting in VolumeMounts.
	// Defaults to false.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*RBDPersistentVolumeSource) DeepCopy

func (*RBDPersistentVolumeSource) DeepCopyInto

type RBDVolumeSource

type RBDVolumeSource struct {
	// monitors is a collection of Ceph monitors.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	CephMonitors []string `json:"monitors"`
	// image is the rados image name.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	RBDImage string `json:"image"`
	// fsType is the filesystem type of the volume that you want to mount.
	// Tip: Ensure that the filesystem type is supported by the host operating system.
	// Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd
	FSType string `json:"fsType,omitempty"`
	// pool is the rados pool name.
	// Default is rbd.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	RBDPool string `json:"pool,omitempty"`
	// user is the rados user name.
	// Default is admin.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	RadosUser string `json:"user,omitempty"`
	// keyring is the path to key ring for RBDUser.
	// Default is /etc/ceph/keyring.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	Keyring string `json:"keyring,omitempty"`
	// secretRef is name of the authentication secret for RBDUser. If provided
	// overrides keyring.
	// Default is nil.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	SecretRef *LocalObjectReference `json:"secretRef,omitempty"`
	// readOnly here will force the ReadOnly setting in VolumeMounts.
	// Defaults to false.
	// More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*RBDVolumeSource) DeepCopy

func (in *RBDVolumeSource) DeepCopy() *RBDVolumeSource

func (*RBDVolumeSource) DeepCopyInto

func (in *RBDVolumeSource) DeepCopyInto(out *RBDVolumeSource)

type RangeAllocation

type RangeAllocation struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Range is string that identifies the range represented by 'data'.
	Range string `json:"range"`
	// Data is a bit array containing all allocated addresses in the previous segment.
	Data []byte `json:"data,omitempty"`
}

func (*RangeAllocation) DeepCopy

func (in *RangeAllocation) DeepCopy() *RangeAllocation

func (*RangeAllocation) DeepCopyInto

func (in *RangeAllocation) DeepCopyInto(out *RangeAllocation)

func (*RangeAllocation) DeepCopyObject

func (in *RangeAllocation) DeepCopyObject() runtime.Object

type RangeAllocationList

type RangeAllocationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []RangeAllocation `json:"items"`
}

func (*RangeAllocationList) DeepCopy

func (in *RangeAllocationList) DeepCopy() *RangeAllocationList

func (*RangeAllocationList) DeepCopyInto

func (in *RangeAllocationList) DeepCopyInto(out *RangeAllocationList)

func (*RangeAllocationList) DeepCopyObject

func (in *RangeAllocationList) DeepCopyObject() runtime.Object

type ReplicationController

type ReplicationController struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Spec defines the specification of the desired behavior of the replication controller.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Spec *ReplicationControllerSpec `json:"spec,omitempty"`
	// Status is the most recently observed status of the replication controller.
	// This data may be out of date by some window of time.
	// Populated by the system.
	// Read-only.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Status *ReplicationControllerStatus `json:"status,omitempty"`
}

func (*ReplicationController) DeepCopy

func (*ReplicationController) DeepCopyInto

func (in *ReplicationController) DeepCopyInto(out *ReplicationController)

func (*ReplicationController) DeepCopyObject

func (in *ReplicationController) DeepCopyObject() runtime.Object

type ReplicationControllerCondition

type ReplicationControllerCondition struct {
	// Type of replication controller condition.
	Type ReplicationControllerConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status ConditionStatus `json:"status"`
	// The last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty"`
}

func (*ReplicationControllerCondition) DeepCopy

func (*ReplicationControllerCondition) DeepCopyInto

type ReplicationControllerConditionType

type ReplicationControllerConditionType string
const (
	ReplicationControllerConditionTypeReplicaFailure ReplicationControllerConditionType = "ReplicaFailure"
)

type ReplicationControllerList

type ReplicationControllerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []ReplicationController `json:"items"`
}

func (*ReplicationControllerList) DeepCopy

func (*ReplicationControllerList) DeepCopyInto

func (*ReplicationControllerList) DeepCopyObject

func (in *ReplicationControllerList) DeepCopyObject() runtime.Object

type ReplicationControllerSpec

type ReplicationControllerSpec struct {
	// Replicas is the number of desired replicas.
	// This is a pointer to distinguish between explicit zero and unspecified.
	// Defaults to 1.
	// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#what-is-a-replicationcontroller
	Replicas int `json:"replicas,omitempty"`
	// Minimum number of seconds for which a newly created pod should be ready
	// without any of its container crashing, for it to be considered available.
	// Defaults to 0 (pod will be considered available as soon as it is ready)
	MinReadySeconds int `json:"minReadySeconds,omitempty"`
	// Selector is a label query over pods that should match the Replicas count.
	// If Selector is empty, it is defaulted to the labels present on the Pod template.
	// Label keys and values that must match in order to be controlled by this replication
	// controller, if empty defaulted to labels on Pod template.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
	Selector map[string]string `json:"selector,omitempty"`
	// Template is the object that describes the pod that will be created if
	// insufficient replicas are detected. This takes precedence over a TemplateRef.
	// The only allowed template.spec.restartPolicy value is "Always".
	// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#pod-template
	Template *PodTemplateSpec `json:"template,omitempty"`
}

func (*ReplicationControllerSpec) DeepCopy

func (*ReplicationControllerSpec) DeepCopyInto

type ReplicationControllerStatus

type ReplicationControllerStatus struct {
	// Replicas is the most recently observed number of replicas.
	// More info: https://kubernetes.io/docs/concepts/workloads/controllers/replicationcontroller#what-is-a-replicationcontroller
	Replicas int `json:"replicas"`
	// The number of pods that have labels matching the labels of the pod template of the replication controller.
	FullyLabeledReplicas int `json:"fullyLabeledReplicas,omitempty"`
	// The number of ready replicas for this replication controller.
	ReadyReplicas int `json:"readyReplicas,omitempty"`
	// The number of available replicas (ready for at least minReadySeconds) for this replication controller.
	AvailableReplicas int `json:"availableReplicas,omitempty"`
	// ObservedGeneration reflects the generation of the most recently observed replication controller.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Represents the latest available observations of a replication controller's current state.
	Conditions []ReplicationControllerCondition `json:"conditions"`
}

func (*ReplicationControllerStatus) DeepCopy

func (*ReplicationControllerStatus) DeepCopyInto

type ResourceClaim

type ResourceClaim struct {
	// Name must match the name of one entry in pod.spec.resourceClaims of
	// the Pod where this field is used. It makes that resource available
	// inside a container.
	Name string `json:"name"`
}

func (*ResourceClaim) DeepCopy

func (in *ResourceClaim) DeepCopy() *ResourceClaim

func (*ResourceClaim) DeepCopyInto

func (in *ResourceClaim) DeepCopyInto(out *ResourceClaim)

type ResourceFieldSelector

type ResourceFieldSelector struct {
	// Container name: required for volumes, optional for env vars
	ContainerName string `json:"containerName,omitempty"`
	// Required: resource to select
	Resource string `json:"resource"`
	// Specifies the output format of the exposed resources, defaults to "1"
	Divisor *apiresource.Quantity `json:"divisor,omitempty"`
}

func (*ResourceFieldSelector) DeepCopy

func (*ResourceFieldSelector) DeepCopyInto

func (in *ResourceFieldSelector) DeepCopyInto(out *ResourceFieldSelector)

type ResourceName

type ResourceName string
const (
	ResourceNameCpu                      ResourceName = "cpu"
	ResourceNameMemory                   ResourceName = "memory"
	ResourceNameStorage                  ResourceName = "storage"
	ResourceNameEphemeralStorage         ResourceName = "ephemeral-storage"
	ResourceNamePods                     ResourceName = "pods"
	ResourceNameServices                 ResourceName = "services"
	ResourceNameReplicationcontrollers   ResourceName = "replicationcontrollers"
	ResourceNameResourcequotas           ResourceName = "resourcequotas"
	ResourceNameSecrets                  ResourceName = "secrets"
	ResourceNameConfigmaps               ResourceName = "configmaps"
	ResourceNamePersistentvolumeclaims   ResourceName = "persistentvolumeclaims"
	ResourceNameServicesNodeports        ResourceName = "services.nodeports"
	ResourceNameServicesLoadbalancers    ResourceName = "services.loadbalancers"
	ResourceNameRequestsCpu              ResourceName = "requests.cpu"
	ResourceNameRequestsMemory           ResourceName = "requests.memory"
	ResourceNameRequestsStorage          ResourceName = "requests.storage"
	ResourceNameRequestsEphemeralStorage ResourceName = "requests.ephemeral-storage"
	ResourceNameLimitsCpu                ResourceName = "limits.cpu"
	ResourceNameLimitsMemory             ResourceName = "limits.memory"
	ResourceNameLimitsEphemeralStorage   ResourceName = "limits.ephemeral-storage"
)

type ResourceQuota

type ResourceQuota struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Spec defines the desired quota.
	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Spec *ResourceQuotaSpec `json:"spec,omitempty"`
	// Status defines the actual enforced quota and its current usage.
	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Status *ResourceQuotaStatus `json:"status,omitempty"`
}

func (*ResourceQuota) DeepCopy

func (in *ResourceQuota) DeepCopy() *ResourceQuota

func (*ResourceQuota) DeepCopyInto

func (in *ResourceQuota) DeepCopyInto(out *ResourceQuota)

func (*ResourceQuota) DeepCopyObject

func (in *ResourceQuota) DeepCopyObject() runtime.Object

type ResourceQuotaList

type ResourceQuotaList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []ResourceQuota `json:"items"`
}

func (*ResourceQuotaList) DeepCopy

func (in *ResourceQuotaList) DeepCopy() *ResourceQuotaList

func (*ResourceQuotaList) DeepCopyInto

func (in *ResourceQuotaList) DeepCopyInto(out *ResourceQuotaList)

func (*ResourceQuotaList) DeepCopyObject

func (in *ResourceQuotaList) DeepCopyObject() runtime.Object

type ResourceQuotaScope

type ResourceQuotaScope string
const (
	ResourceQuotaScopeTerminating               ResourceQuotaScope = "Terminating"
	ResourceQuotaScopeNotTerminating            ResourceQuotaScope = "NotTerminating"
	ResourceQuotaScopeBestEffort                ResourceQuotaScope = "BestEffort"
	ResourceQuotaScopeNotBestEffort             ResourceQuotaScope = "NotBestEffort"
	ResourceQuotaScopePriorityClass             ResourceQuotaScope = "PriorityClass"
	ResourceQuotaScopeCrossNamespacePodAffinity ResourceQuotaScope = "CrossNamespacePodAffinity"
)

type ResourceQuotaSpec

type ResourceQuotaSpec struct {
	// hard is the set of desired hard limits for each named resource.
	// More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/
	Hard map[string]apiresource.Quantity `json:"hard,omitempty"`
	// A collection of filters that must match each object tracked by a quota.
	// If not specified, the quota matches all objects.
	Scopes []ResourceQuotaScope `json:"scopes"`
	// scopeSelector is also a collection of filters like scopes that must match each object tracked by a quota
	// but expressed using ScopeSelectorOperator in combination with possible values.
	// For a resource to match, both scopes AND scopeSelector (if specified in spec), must be matched.
	ScopeSelector *ScopeSelector `json:"scopeSelector,omitempty"`
}

func (*ResourceQuotaSpec) DeepCopy

func (in *ResourceQuotaSpec) DeepCopy() *ResourceQuotaSpec

func (*ResourceQuotaSpec) DeepCopyInto

func (in *ResourceQuotaSpec) DeepCopyInto(out *ResourceQuotaSpec)

type ResourceQuotaStatus

type ResourceQuotaStatus struct {
	// Hard is the set of enforced hard limits for each named resource.
	// More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/
	Hard map[string]apiresource.Quantity `json:"hard,omitempty"`
	// Used is the current observed total usage of the resource in the namespace.
	Used map[string]apiresource.Quantity `json:"used,omitempty"`
}

func (*ResourceQuotaStatus) DeepCopy

func (in *ResourceQuotaStatus) DeepCopy() *ResourceQuotaStatus

func (*ResourceQuotaStatus) DeepCopyInto

func (in *ResourceQuotaStatus) DeepCopyInto(out *ResourceQuotaStatus)

type ResourceRequirements

type ResourceRequirements struct {
	// Limits describes the maximum amount of compute resources allowed.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	Limits map[string]apiresource.Quantity `json:"limits,omitempty"`
	// Requests describes the minimum amount of compute resources required.
	// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
	// otherwise to an implementation-defined value. Requests cannot exceed Limits.
	// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	Requests map[string]apiresource.Quantity `json:"requests,omitempty"`
	// Claims lists the names of resources, defined in spec.resourceClaims,
	// that are used by this container.
	// This is an alpha field and requires enabling the
	// DynamicResourceAllocation feature gate.
	// This field is immutable. It can only be set for containers.
	Claims []ResourceClaim `json:"claims"`
}

func (*ResourceRequirements) DeepCopy

func (*ResourceRequirements) DeepCopyInto

func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements)

type ResourceResizeRestartPolicy

type ResourceResizeRestartPolicy string
const (
	ResourceResizeRestartPolicyNotRequired      ResourceResizeRestartPolicy = "NotRequired"
	ResourceResizeRestartPolicyRestartContainer ResourceResizeRestartPolicy = "RestartContainer"
)

type RestartPolicy

type RestartPolicy string
const (
	RestartPolicyAlways    RestartPolicy = "Always"
	RestartPolicyOnFailure RestartPolicy = "OnFailure"
	RestartPolicyNever     RestartPolicy = "Never"
)

type SELinuxOptions

type SELinuxOptions struct {
	// User is a SELinux user label that applies to the container.
	User string `json:"user,omitempty"`
	// Role is a SELinux role label that applies to the container.
	Role string `json:"role,omitempty"`
	// Type is a SELinux type label that applies to the container.
	Type string `json:"type,omitempty"`
	// Level is SELinux level label that applies to the container.
	Level string `json:"level,omitempty"`
}

func (*SELinuxOptions) DeepCopy

func (in *SELinuxOptions) DeepCopy() *SELinuxOptions

func (*SELinuxOptions) DeepCopyInto

func (in *SELinuxOptions) DeepCopyInto(out *SELinuxOptions)

type ScaleIOPersistentVolumeSource

type ScaleIOPersistentVolumeSource struct {
	// gateway is the host address of the ScaleIO API Gateway.
	Gateway string `json:"gateway"`
	// system is the name of the storage system as configured in ScaleIO.
	System string `json:"system"`
	// secretRef references to the secret for ScaleIO user and other
	// sensitive information. If this is not provided, Login operation will fail.
	SecretRef *SecretReference `json:"secretRef,omitempty"`
	// sslEnabled is the flag to enable/disable SSL communication with Gateway, default false
	SSLEnabled bool `json:"sslEnabled,omitempty"`
	// protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.
	ProtectionDomain string `json:"protectionDomain,omitempty"`
	// storagePool is the ScaleIO Storage Pool associated with the protection domain.
	StoragePool string `json:"storagePool,omitempty"`
	// storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
	// Default is ThinProvisioned.
	StorageMode string `json:"storageMode,omitempty"`
	// volumeName is the name of a volume already created in the ScaleIO system
	// that is associated with this volume source.
	VolumeName string `json:"volumeName,omitempty"`
	// fsType is the filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs".
	// Default is "xfs"
	FSType string `json:"fsType,omitempty"`
	// readOnly defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*ScaleIOPersistentVolumeSource) DeepCopy

func (*ScaleIOPersistentVolumeSource) DeepCopyInto

type ScaleIOVolumeSource

type ScaleIOVolumeSource struct {
	// gateway is the host address of the ScaleIO API Gateway.
	Gateway string `json:"gateway"`
	// system is the name of the storage system as configured in ScaleIO.
	System string `json:"system"`
	// secretRef references to the secret for ScaleIO user and other
	// sensitive information. If this is not provided, Login operation will fail.
	SecretRef *LocalObjectReference `json:"secretRef,omitempty"`
	// sslEnabled Flag enable/disable SSL communication with Gateway, default false
	SSLEnabled bool `json:"sslEnabled,omitempty"`
	// protectionDomain is the name of the ScaleIO Protection Domain for the configured storage.
	ProtectionDomain string `json:"protectionDomain,omitempty"`
	// storagePool is the ScaleIO Storage Pool associated with the protection domain.
	StoragePool string `json:"storagePool,omitempty"`
	// storageMode indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned.
	// Default is ThinProvisioned.
	StorageMode string `json:"storageMode,omitempty"`
	// volumeName is the name of a volume already created in the ScaleIO system
	// that is associated with this volume source.
	VolumeName string `json:"volumeName,omitempty"`
	// fsType is the filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs".
	// Default is "xfs".
	FSType string `json:"fsType,omitempty"`
	// readOnly Defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	ReadOnly bool `json:"readOnly,omitempty"`
}

func (*ScaleIOVolumeSource) DeepCopy

func (in *ScaleIOVolumeSource) DeepCopy() *ScaleIOVolumeSource

func (*ScaleIOVolumeSource) DeepCopyInto

func (in *ScaleIOVolumeSource) DeepCopyInto(out *ScaleIOVolumeSource)

type ScopeSelector

type ScopeSelector struct {
	// A list of scope selector requirements by scope of the resources.
	MatchExpressions []ScopedResourceSelectorRequirement `json:"matchExpressions"`
}

func (*ScopeSelector) DeepCopy

func (in *ScopeSelector) DeepCopy() *ScopeSelector

func (*ScopeSelector) DeepCopyInto

func (in *ScopeSelector) DeepCopyInto(out *ScopeSelector)

type ScopeSelectorOperator

type ScopeSelectorOperator string
const (
	ScopeSelectorOperatorIn           ScopeSelectorOperator = "In"
	ScopeSelectorOperatorNotIn        ScopeSelectorOperator = "NotIn"
	ScopeSelectorOperatorExists       ScopeSelectorOperator = "Exists"
	ScopeSelectorOperatorDoesNotExist ScopeSelectorOperator = "DoesNotExist"
)

type ScopedResourceSelectorRequirement

type ScopedResourceSelectorRequirement struct {
	// The name of the scope that the selector applies to.
	ScopeName ResourceQuotaScope `json:"scopeName"`
	// Represents a scope's relationship to a set of values.
	// Valid operators are In, NotIn, Exists, DoesNotExist.
	Operator ScopeSelectorOperator `json:"operator"`
	// An array of string values. If the operator is In or NotIn,
	// the values array must be non-empty. If the operator is Exists or DoesNotExist,
	// the values array must be empty.
	// This array is replaced during a strategic merge patch.
	Values []string `json:"values"`
}

func (*ScopedResourceSelectorRequirement) DeepCopy

func (*ScopedResourceSelectorRequirement) DeepCopyInto

type SeccompProfile

type SeccompProfile struct {
	// type indicates which kind of seccomp profile will be applied.
	// Valid options are:
	// Localhost - a profile defined in a file on the node should be used.
	// RuntimeDefault - the container runtime default profile should be used.
	// Unconfined - no profile should be applied.
	Type SeccompProfileType `json:"type"`
	// localhostProfile indicates a profile defined in a file on the node should be used.
	// The profile must be preconfigured on the node to work.
	// Must be a descending path, relative to the kubelet's configured seccomp profile location.
	// Must only be set if type is "Localhost".
	LocalhostProfile string `json:"localhostProfile,omitempty"`
}

func (*SeccompProfile) DeepCopy

func (in *SeccompProfile) DeepCopy() *SeccompProfile

func (*SeccompProfile) DeepCopyInto

func (in *SeccompProfile) DeepCopyInto(out *SeccompProfile)

type SeccompProfileType

type SeccompProfileType string
const (
	SeccompProfileTypeUnconfined     SeccompProfileType = "Unconfined"
	SeccompProfileTypeRuntimeDefault SeccompProfileType = "RuntimeDefault"
	SeccompProfileTypeLocalhost      SeccompProfileType = "Localhost"
)

type Secret

type Secret struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Immutable, if set to true, ensures that data stored in the Secret cannot
	// be updated (only object metadata can be modified).
	// If not set to true, the field can be modified at any time.
	// Defaulted to nil.
	Immutable bool `json:"immutable,omitempty"`
	// Data contains the secret data. Each key must consist of alphanumeric
	// characters, '-', '_' or '.'. The serialized form of the secret data is a
	// base64 encoded string, representing the arbitrary (possibly non-string)
	// data value here. Described in https://tools.ietf.org/html/rfc4648#section-4
	Data map[string][]byte `json:"data,omitempty"`
	// stringData allows specifying non-binary secret data in string form.
	// It is provided as a write-only input field for convenience.
	// All keys and values are merged into the data field on write, overwriting any existing values.
	// The stringData field is never output when reading from the API.
	StringData map[string]string `json:"stringData,omitempty"`
	// Used to facilitate programmatic handling of secret data.
	// More info: https://kubernetes.io/docs/concepts/configuration/secret/#secret-types
	Type SecretType `json:"type,omitempty"`
}

func (*Secret) DeepCopy

func (in *Secret) DeepCopy() *Secret

func (*Secret) DeepCopyInto

func (in *Secret) DeepCopyInto(out *Secret)

func (*Secret) DeepCopyObject

func (in *Secret) DeepCopyObject() runtime.Object

type SecretEnvSource

type SecretEnvSource struct {
	// The Secret to select from.
	LocalObjectReference `json:",inline"`
	// Specify whether the Secret must be defined
	Optional bool `json:"optional,omitempty"`
}

func (*SecretEnvSource) DeepCopy

func (in *SecretEnvSource) DeepCopy() *SecretEnvSource

func (*SecretEnvSource) DeepCopyInto

func (in *SecretEnvSource) DeepCopyInto(out *SecretEnvSource)

type SecretKeySelector

type SecretKeySelector struct {
	// The name of the secret in the pod's namespace to select from.
	LocalObjectReference `json:",inline"`
	// The key of the secret to select from.  Must be a valid secret key.
	Key string `json:"key"`
	// Specify whether the Secret or its key must be defined
	Optional bool `json:"optional,omitempty"`
}

func (*SecretKeySelector) DeepCopy

func (in *SecretKeySelector) DeepCopy() *SecretKeySelector

func (*SecretKeySelector) DeepCopyInto

func (in *SecretKeySelector) DeepCopyInto(out *SecretKeySelector)

type SecretList

type SecretList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Secret `json:"items"`
}

func (*SecretList) DeepCopy

func (in *SecretList) DeepCopy() *SecretList

func (*SecretList) DeepCopyInto

func (in *SecretList) DeepCopyInto(out *SecretList)

func (*SecretList) DeepCopyObject

func (in *SecretList) DeepCopyObject() runtime.Object

type SecretProjection

type SecretProjection struct {
	LocalObjectReference `json:",inline"`
	// items if unspecified, each key-value pair in the Data field of the referenced
	// Secret will be projected into the volume as a file whose name is the
	// key and content is the value. If specified, the listed keys will be
	// projected into the specified paths, and unlisted keys will not be
	// present. If a key is specified which is not present in the Secret,
	// the volume setup will error unless it is marked optional. Paths must be
	// relative and may not contain the '..' path or start with '..'.
	Items []KeyToPath `json:"items"`
	// optional field specify whether the Secret or its key must be defined
	Optional bool `json:"optional,omitempty"`
}

func (*SecretProjection) DeepCopy

func (in *SecretProjection) DeepCopy() *SecretProjection

func (*SecretProjection) DeepCopyInto

func (in *SecretProjection) DeepCopyInto(out *SecretProjection)

type SecretReference

type SecretReference struct {
	// name is unique within a namespace to reference a secret resource.
	Name string `json:"name,omitempty"`
	// namespace defines the space within which the secret name must be unique.
	Namespace string `json:"namespace,omitempty"`
}

func (*SecretReference) DeepCopy

func (in *SecretReference) DeepCopy() *SecretReference

func (*SecretReference) DeepCopyInto

func (in *SecretReference) DeepCopyInto(out *SecretReference)

type SecretType

type SecretType string
const (
	SecretTypeOpaque                          SecretType = "Opaque"
	SecretTypeKubernetesIoServiceAccountToken SecretType = "kubernetes.io/service-account-token"
	SecretTypeKubernetesIoDockercfg           SecretType = "kubernetes.io/dockercfg"
	SecretTypeKubernetesIoDockerconfigjson    SecretType = "kubernetes.io/dockerconfigjson"
	SecretTypeKubernetesIoBasicAuth           SecretType = "kubernetes.io/basic-auth"
	SecretTypeKubernetesIoSshAuth             SecretType = "kubernetes.io/ssh-auth"
	SecretTypeKubernetesIoTls                 SecretType = "kubernetes.io/tls"
	SecretTypeBootstrapKubernetesIoToken      SecretType = "bootstrap.kubernetes.io/token"
)

type SecretVolumeSource

type SecretVolumeSource struct {
	// secretName is the name of the secret in the pod's namespace to use.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
	SecretName string `json:"secretName,omitempty"`
	// items If unspecified, each key-value pair in the Data field of the referenced
	// Secret will be projected into the volume as a file whose name is the
	// key and content is the value. If specified, the listed keys will be
	// projected into the specified paths, and unlisted keys will not be
	// present. If a key is specified which is not present in the Secret,
	// the volume setup will error unless it is marked optional. Paths must be
	// relative and may not contain the '..' path or start with '..'.
	Items []KeyToPath `json:"items"`
	// defaultMode is Optional: mode bits used to set permissions on created files by default.
	// Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511.
	// YAML accepts both octal and decimal values, JSON requires decimal values
	// for mode bits. Defaults to 0644.
	// Directories within the path are not affected by this setting.
	// This might be in conflict with other options that affect the file
	// mode, like fsGroup, and the result can be other mode bits set.
	DefaultMode int `json:"defaultMode,omitempty"`
	// optional field specify whether the Secret or its keys must be defined
	Optional bool `json:"optional,omitempty"`
}

func (*SecretVolumeSource) DeepCopy

func (in *SecretVolumeSource) DeepCopy() *SecretVolumeSource

func (*SecretVolumeSource) DeepCopyInto

func (in *SecretVolumeSource) DeepCopyInto(out *SecretVolumeSource)

type SecurityContext

type SecurityContext struct {
	// The capabilities to add/drop when running containers.
	// Defaults to the default set of capabilities granted by the container runtime.
	// Note that this field cannot be set when spec.os.name is windows.
	Capabilities *Capabilities `json:"capabilities,omitempty"`
	// Run container in privileged mode.
	// Processes in privileged containers are essentially equivalent to root on the host.
	// Defaults to false.
	// Note that this field cannot be set when spec.os.name is windows.
	Privileged bool `json:"privileged,omitempty"`
	// The SELinux context to be applied to the container.
	// If unspecified, the container runtime will allocate a random SELinux context for each
	// container.  May also be set in PodSecurityContext.  If set in both SecurityContext and
	// PodSecurityContext, the value specified in SecurityContext takes precedence.
	// Note that this field cannot be set when spec.os.name is windows.
	SELinuxOptions *SELinuxOptions `json:"seLinuxOptions,omitempty"`
	// The Windows specific settings applied to all containers.
	// If unspecified, the options from the PodSecurityContext will be used.
	// If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
	// Note that this field cannot be set when spec.os.name is linux.
	WindowsOptions *WindowsSecurityContextOptions `json:"windowsOptions,omitempty"`
	// The UID to run the entrypoint of the container process.
	// Defaults to user specified in image metadata if unspecified.
	// May also be set in PodSecurityContext.  If set in both SecurityContext and
	// PodSecurityContext, the value specified in SecurityContext takes precedence.
	// Note that this field cannot be set when spec.os.name is windows.
	RunAsUser int64 `json:"runAsUser,omitempty"`
	// The GID to run the entrypoint of the container process.
	// Uses runtime default if unset.
	// May also be set in PodSecurityContext.  If set in both SecurityContext and
	// PodSecurityContext, the value specified in SecurityContext takes precedence.
	// Note that this field cannot be set when spec.os.name is windows.
	RunAsGroup int64 `json:"runAsGroup,omitempty"`
	// Indicates that the container must run as a non-root user.
	// If true, the Kubelet will validate the image at runtime to ensure that it
	// does not run as UID 0 (root) and fail to start the container if it does.
	// If unset or false, no such validation will be performed.
	// May also be set in PodSecurityContext.  If set in both SecurityContext and
	// PodSecurityContext, the value specified in SecurityContext takes precedence.
	RunAsNonRoot bool `json:"runAsNonRoot,omitempty"`
	// Whether this container has a read-only root filesystem.
	// Default is false.
	// Note that this field cannot be set when spec.os.name is windows.
	ReadOnlyRootFilesystem bool `json:"readOnlyRootFilesystem,omitempty"`
	// AllowPrivilegeEscalation controls whether a process can gain more
	// privileges than its parent process. This bool directly controls if
	// the no_new_privs flag will be set on the container process.
	// AllowPrivilegeEscalation is true always when the container is:
	// 1) run as Privileged
	// 2) has CAP_SYS_ADMIN
	// Note that this field cannot be set when spec.os.name is windows.
	AllowPrivilegeEscalation bool `json:"allowPrivilegeEscalation,omitempty"`
	// procMount denotes the type of proc mount to use for the containers.
	// The default is DefaultProcMount which uses the container runtime defaults for
	// readonly paths and masked paths.
	// This requires the ProcMountType feature flag to be enabled.
	// Note that this field cannot be set when spec.os.name is windows.
	ProcMount ProcMountType `json:"procMount,omitempty"`
	// The seccomp options to use by this container. If seccomp options are
	// provided at both the pod & container level, the container options
	// override the pod options.
	// Note that this field cannot be set when spec.os.name is windows.
	SeccompProfile *SeccompProfile `json:"seccompProfile,omitempty"`
}

func (*SecurityContext) DeepCopy

func (in *SecurityContext) DeepCopy() *SecurityContext

func (*SecurityContext) DeepCopyInto

func (in *SecurityContext) DeepCopyInto(out *SecurityContext)

type SerializedReference

type SerializedReference struct {
	metav1.TypeMeta `json:",inline"`
	// The reference to an object in the system.
	Reference *ObjectReference `json:"reference,omitempty"`
}

func (*SerializedReference) DeepCopy

func (in *SerializedReference) DeepCopy() *SerializedReference

func (*SerializedReference) DeepCopyInto

func (in *SerializedReference) DeepCopyInto(out *SerializedReference)

func (*SerializedReference) DeepCopyObject

func (in *SerializedReference) DeepCopyObject() runtime.Object

type Service

type Service struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Spec defines the behavior of a service.
	// https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Spec *ServiceSpec `json:"spec,omitempty"`
	// Most recently observed status of the service.
	// Populated by the system.
	// Read-only.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
	Status *ServiceStatus `json:"status,omitempty"`
}

func (*Service) DeepCopy

func (in *Service) DeepCopy() *Service

func (*Service) DeepCopyInto

func (in *Service) DeepCopyInto(out *Service)

func (*Service) DeepCopyObject

func (in *Service) DeepCopyObject() runtime.Object

type ServiceAccount

type ServiceAccount struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata"`
	// Secrets is a list of the secrets in the same namespace that pods running using this ServiceAccount are allowed to use.
	// Pods are only limited to this list if this service account has a "kubernetes.io/enforce-mountable-secrets" annotation set to "true".
	// This field should not be used to find auto-generated service account token secrets for use outside of pods.
	// Instead, tokens can be requested directly using the TokenRequest API, or service account token secrets can be manually created.
	// More info: https://kubernetes.io/docs/concepts/configuration/secret
	Secrets []ObjectReference `json:"secrets"`
	// ImagePullSecrets is a list of references to secrets in the same namespace to use for pulling any images
	// in pods that reference this ServiceAccount. ImagePullSecrets are distinct from Secrets because Secrets
	// can be mounted in the pod, but ImagePullSecrets are only accessed by the kubelet.
	// More info: https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod
	ImagePullSecrets []LocalObjectReference `json:"imagePullSecrets"`
	// AutomountServiceAccountToken indicates whether pods running as this service account should have an API token automatically mounted.
	// Can be overridden at the pod level.
	AutomountServiceAccountToken bool `json:"automountServiceAccountToken,omitempty"`
}

func (*ServiceAccount) DeepCopy

func (in *ServiceAccount) DeepCopy() *ServiceAccount

func (*ServiceAccount) DeepCopyInto

func (in *ServiceAccount) DeepCopyInto(out *ServiceAccount)

func (*ServiceAccount) DeepCopyObject

func (in *ServiceAccount) DeepCopyObject() runtime.Object

type ServiceAccountList

type ServiceAccountList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []ServiceAccount `json:"items"`
}

func (*ServiceAccountList) DeepCopy

func (in *ServiceAccountList) DeepCopy() *ServiceAccountList

func (*ServiceAccountList) DeepCopyInto

func (in *ServiceAccountList) DeepCopyInto(out *ServiceAccountList)

func (*ServiceAccountList) DeepCopyObject

func (in *ServiceAccountList) DeepCopyObject() runtime.Object

type ServiceAccountTokenProjection

type ServiceAccountTokenProjection struct {
	// audience is the intended audience of the token. A recipient of a token
	// must identify itself with an identifier specified in the audience of the
	// token, and otherwise should reject the token. The audience defaults to the
	// identifier of the apiserver.
	Audience string `json:"audience,omitempty"`
	// expirationSeconds is the requested duration of validity of the service
	// account token. As the token approaches expiration, the kubelet volume
	// plugin will proactively rotate the service account token. The kubelet will
	// start trying to rotate the token if the token is older than 80 percent of
	// its time to live or if the token is older than 24 hours.Defaults to 1 hour
	// and must be at least 10 minutes.
	ExpirationSeconds int64 `json:"expirationSeconds,omitempty"`
	// path is the path relative to the mount point of the file to project the
	// token into.
	Path string `json:"path"`
}

func (*ServiceAccountTokenProjection) DeepCopy

func (*ServiceAccountTokenProjection) DeepCopyInto

type ServiceAffinity

type ServiceAffinity string
const (
	ServiceAffinityClientIP ServiceAffinity = "ClientIP"
	ServiceAffinityNone     ServiceAffinity = "None"
)

type ServiceExternalTrafficPolicy

type ServiceExternalTrafficPolicy string
const (
	ServiceExternalTrafficPolicyCluster ServiceExternalTrafficPolicy = "Cluster"
	ServiceExternalTrafficPolicyLocal   ServiceExternalTrafficPolicy = "Local"
)

type ServiceInternalTrafficPolicy

type ServiceInternalTrafficPolicy string
const (
	ServiceInternalTrafficPolicyCluster ServiceInternalTrafficPolicy = "Cluster"
	ServiceInternalTrafficPolicyLocal   ServiceInternalTrafficPolicy = "Local"
)

type ServiceList

type ServiceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []Service `json:"items"`
}

func (*ServiceList) DeepCopy

func (in *ServiceList) DeepCopy() *ServiceList

func (*ServiceList) DeepCopyInto

func (in *ServiceList) DeepCopyInto(out *ServiceList)

func (*ServiceList) DeepCopyObject

func (in *ServiceList) DeepCopyObject() runtime.Object

type ServicePort

type ServicePort struct {
	// The name of this port within the service. This must be a DNS_LABEL.
	// All ports within a ServiceSpec must have unique names. When considering
	// the endpoints for a Service, this must match the 'name' field in the
	// EndpointPort.
	// Optional if only one ServicePort is defined on this service.
	Name string `json:"name,omitempty"`
	// The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
	// Default is TCP.
	Protocol Protocol `json:"protocol,omitempty"`
	// The application protocol for this port.
	// This field follows standard Kubernetes label syntax.
	// Un-prefixed names are reserved for IANA standard service names (as per
	// RFC-6335 and https://www.iana.org/assignments/service-names).
	// Non-standard protocols should use prefixed names such as
	// mycompany.com/my-custom-protocol.
	AppProtocol string `json:"appProtocol,omitempty"`
	// The port that will be exposed by this service.
	Port int `json:"port"`
	// Number or name of the port to access on the pods targeted by the service.
	// Number must be in the range 1 to 65535. Name must be an IANA_SVC_NAME.
	// If this is a string, it will be looked up as a named port in the
	// target Pod's container ports. If this is not specified, the value
	// of the 'port' field is used (an identity map).
	// This field is ignored for services with clusterIP=None, and should be
	// omitted or set equal to the 'port' field.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#defining-a-service
	TargetPort *utilintstr.IntOrString `json:"targetPort,omitempty"`
	// The port on each node on which this service is exposed when type is
	// NodePort or LoadBalancer.  Usually assigned by the system. If a value is
	// specified, in-range, and not in use it will be used, otherwise the
	// operation will fail.  If not specified, a port will be allocated if this
	// Service requires one.  If this field is specified when creating a
	// Service which does not need it, creation will fail. This field will be
	// wiped when updating a Service to no longer need it (e.g. changing type
	// from NodePort to ClusterIP).
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport
	NodePort int `json:"nodePort,omitempty"`
}

func (*ServicePort) DeepCopy

func (in *ServicePort) DeepCopy() *ServicePort

func (*ServicePort) DeepCopyInto

func (in *ServicePort) DeepCopyInto(out *ServicePort)

type ServiceProxyOptions

type ServiceProxyOptions struct {
	metav1.TypeMeta `json:",inline"`
	// Path is the part of URLs that include service endpoints, suffixes,
	// and parameters to use for the current proxy request to service.
	// For example, the whole request URL is
	// http://localhost/api/v1/namespaces/kube-system/services/elasticsearch-logging/_search?q=user:kimchy.
	// Path is _search?q=user:kimchy.
	Path string `json:"path,omitempty"`
}

func (*ServiceProxyOptions) DeepCopy

func (in *ServiceProxyOptions) DeepCopy() *ServiceProxyOptions

func (*ServiceProxyOptions) DeepCopyInto

func (in *ServiceProxyOptions) DeepCopyInto(out *ServiceProxyOptions)

func (*ServiceProxyOptions) DeepCopyObject

func (in *ServiceProxyOptions) DeepCopyObject() runtime.Object

type ServiceSpec

type ServiceSpec struct {
	// The list of ports that are exposed by this service.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	Ports []ServicePort `json:"ports"`
	// Route service traffic to pods with label keys and values matching this
	// selector. If empty or not present, the service is assumed to have an
	// external process managing its endpoints, which Kubernetes will not
	// modify. Only applies to types ClusterIP, NodePort, and LoadBalancer.
	// Ignored if type is ExternalName.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/
	Selector map[string]string `json:"selector,omitempty"`
	// clusterIP is the IP address of the service and is usually assigned
	// randomly. If an address is specified manually, is in-range (as per
	// system configuration), and is not in use, it will be allocated to the
	// service; otherwise creation of the service will fail. This field may not
	// be changed through updates unless the type field is also being changed
	// to ExternalName (which requires this field to be blank) or the type
	// field is being changed from ExternalName (in which case this field may
	// optionally be specified, as describe above).  Valid values are "None",
	// empty string (""), or a valid IP address. Setting this to "None" makes a
	// "headless service" (no virtual IP), which is useful when direct endpoint
	// connections are preferred and proxying is not required.  Only applies to
	// types ClusterIP, NodePort, and LoadBalancer. If this field is specified
	// when creating a Service of type ExternalName, creation will fail. This
	// field will be wiped when updating a Service to type ExternalName.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	ClusterIP string `json:"clusterIP,omitempty"`
	// ClusterIPs is a list of IP addresses assigned to this service, and are
	// usually assigned randomly.  If an address is specified manually, is
	// in-range (as per system configuration), and is not in use, it will be
	// allocated to the service; otherwise creation of the service will fail.
	// This field may not be changed through updates unless the type field is
	// also being changed to ExternalName (which requires this field to be
	// empty) or the type field is being changed from ExternalName (in which
	// case this field may optionally be specified, as describe above).  Valid
	// values are "None", empty string (""), or a valid IP address.  Setting
	// this to "None" makes a "headless service" (no virtual IP), which is
	// useful when direct endpoint connections are preferred and proxying is
	// not required.  Only applies to types ClusterIP, NodePort, and
	// LoadBalancer. If this field is specified when creating a Service of type
	// ExternalName, creation will fail. This field will be wiped when updating
	// a Service to type ExternalName.  If this field is not specified, it will
	// be initialized from the clusterIP field.  If this field is specified,
	// clients must ensure that clusterIPs[0] and clusterIP have the same
	// value.
	// This field may hold a maximum of two entries (dual-stack IPs, in either order).
	// These IPs must correspond to the values of the ipFamilies field. Both
	// clusterIPs and ipFamilies are governed by the ipFamilyPolicy field.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	ClusterIPs []string `json:"clusterIPs"`
	// type determines how the Service is exposed. Defaults to ClusterIP. Valid
	// options are ExternalName, ClusterIP, NodePort, and LoadBalancer.
	// "ClusterIP" allocates a cluster-internal IP address for load-balancing
	// to endpoints. Endpoints are determined by the selector or if that is not
	// specified, by manual construction of an Endpoints object or
	// EndpointSlice objects. If clusterIP is "None", no virtual IP is
	// allocated and the endpoints are published as a set of endpoints rather
	// than a virtual IP.
	// "NodePort" builds on ClusterIP and allocates a port on every node which
	// routes to the same endpoints as the clusterIP.
	// "LoadBalancer" builds on NodePort and creates an external load-balancer
	// (if supported in the current cloud) which routes to the same endpoints
	// as the clusterIP.
	// "ExternalName" aliases this service to the specified externalName.
	// Several other fields do not apply to ExternalName services.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types
	Type ServiceType `json:"type,omitempty"`
	// externalIPs is a list of IP addresses for which nodes in the cluster
	// will also accept traffic for this service.  These IPs are not managed by
	// Kubernetes.  The user is responsible for ensuring that traffic arrives
	// at a node with this IP.  A common example is external load-balancers
	// that are not part of the Kubernetes system.
	ExternalIPs []string `json:"externalIPs"`
	// Supports "ClientIP" and "None". Used to maintain session affinity.
	// Enable client IP based session affinity.
	// Must be ClientIP or None.
	// Defaults to None.
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	SessionAffinity ServiceAffinity `json:"sessionAffinity,omitempty"`
	// Only applies to Service Type: LoadBalancer.
	// This feature depends on whether the underlying cloud-provider supports specifying
	// the loadBalancerIP when a load balancer is created.
	// This field will be ignored if the cloud-provider does not support the feature.
	// Deprecated: This field was under-specified and its meaning varies across implementations,
	// and it cannot support dual-stack.
	// As of Kubernetes v1.24, users are encouraged to use implementation-specific annotations when available.
	// This field may be removed in a future API version.
	LoadBalancerIP string `json:"loadBalancerIP,omitempty"`
	// If specified and supported by the platform, this will restrict traffic through the cloud-provider
	// load-balancer will be restricted to the specified client IPs. This field will be ignored if the
	// cloud-provider does not support the feature."
	// More info: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/
	LoadBalancerSourceRanges []string `json:"loadBalancerSourceRanges"`
	// externalName is the external reference that discovery mechanisms will
	// return as an alias for this service (e.g. a DNS CNAME record). No
	// proxying will be involved.  Must be a lowercase RFC-1123 hostname
	// (https://tools.ietf.org/html/rfc1123) and requires `type` to be "ExternalName".
	ExternalName string `json:"externalName,omitempty"`
	// externalTrafficPolicy describes how nodes distribute service traffic they
	// receive on one of the Service's "externally-facing" addresses (NodePorts,
	// ExternalIPs, and LoadBalancer IPs). If set to "Local", the proxy will configure
	// the service in a way that assumes that external load balancers will take care
	// of balancing the service traffic between nodes, and so each node will deliver
	// traffic only to the node-local endpoints of the service, without masquerading
	// the client source IP. (Traffic mistakenly sent to a node with no endpoints will
	// be dropped.) The default value, "Cluster", uses the standard behavior of
	// routing to all endpoints evenly (possibly modified by topology and other
	// features). Note that traffic sent to an External IP or LoadBalancer IP from
	// within the cluster will always get "Cluster" semantics, but clients sending to
	// a NodePort from within the cluster may need to take traffic policy into account
	// when picking a node.
	ExternalTrafficPolicy ServiceExternalTrafficPolicy `json:"externalTrafficPolicy,omitempty"`
	// healthCheckNodePort specifies the healthcheck nodePort for the service.
	// This only applies when type is set to LoadBalancer and
	// externalTrafficPolicy is set to Local. If a value is specified, is
	// in-range, and is not in use, it will be used.  If not specified, a value
	// will be automatically allocated.  External systems (e.g. load-balancers)
	// can use this port to determine if a given node holds endpoints for this
	// service or not.  If this field is specified when creating a Service
	// which does not need it, creation will fail. This field will be wiped
	// when updating a Service to no longer need it (e.g. changing type).
	// This field cannot be updated once set.
	HealthCheckNodePort int `json:"healthCheckNodePort,omitempty"`
	// publishNotReadyAddresses indicates that any agent which deals with endpoints for this
	// Service should disregard any indications of ready/not-ready.
	// The primary use case for setting this field is for a StatefulSet's Headless Service to
	// propagate SRV DNS records for its Pods for the purpose of peer discovery.
	// The Kubernetes controllers that generate Endpoints and EndpointSlice resources for
	// Services interpret this to mean that all endpoints are considered "ready" even if the
	// Pods themselves are not. Agents which consume only Kubernetes generated endpoints
	// through the Endpoints or EndpointSlice resources can safely assume this behavior.
	PublishNotReadyAddresses bool `json:"publishNotReadyAddresses,omitempty"`
	// sessionAffinityConfig contains the configurations of session affinity.
	SessionAffinityConfig *SessionAffinityConfig `json:"sessionAffinityConfig,omitempty"`
	// IPFamilies is a list of IP families (e.g. IPv4, IPv6) assigned to this
	// service. This field is usually assigned automatically based on cluster
	// configuration and the ipFamilyPolicy field. If this field is specified
	// manually, the requested family is available in the cluster,
	// and ipFamilyPolicy allows it, it will be used; otherwise creation of
	// the service will fail. This field is conditionally mutable: it allows
	// for adding or removing a secondary IP family, but it does not allow
	// changing the primary IP family of the Service. Valid values are "IPv4"
	// and "IPv6".  This field only applies to Services of types ClusterIP,
	// NodePort, and LoadBalancer, and does apply to "headless" services.
	// This field will be wiped when updating a Service to type ExternalName.
	// This field may hold a maximum of two entries (dual-stack families, in
	// either order).  These families must correspond to the values of the
	// clusterIPs field, if specified. Both clusterIPs and ipFamilies are
	// governed by the ipFamilyPolicy field.
	IPFamilies []IPFamily `json:"ipFamilies"`
	// IPFamilyPolicy represents the dual-stack-ness requested or required by
	// this Service. If there is no value provided, then this field will be set
	// to SingleStack. Services can be "SingleStack" (a single IP family),
	// "PreferDualStack" (two IP families on dual-stack configured clusters or
	// a single IP family on single-stack clusters), or "RequireDualStack"
	// (two IP families on dual-stack configured clusters, otherwise fail). The
	// ipFamilies and clusterIPs fields depend on the value of this field. This
	// field will be wiped when updating a service to type ExternalName.
	IPFamilyPolicy IPFamilyPolicy `json:"ipFamilyPolicy,omitempty"`
	// allocateLoadBalancerNodePorts defines if NodePorts will be automatically
	// allocated for services with type LoadBalancer.  Default is "true". It
	// may be set to "false" if the cluster load-balancer does not rely on
	// NodePorts.  If the caller requests specific NodePorts (by specifying a
	// value), those requests will be respected, regardless of this field.
	// This field may only be set for services with type LoadBalancer and will
	// be cleared if the type is changed to any other type.
	AllocateLoadBalancerNodePorts bool `json:"allocateLoadBalancerNodePorts,omitempty"`
	// loadBalancerClass is the class of the load balancer implementation this Service belongs to.
	// If specified, the value of this field must be a label-style identifier, with an optional prefix,
	// e.g. "internal-vip" or "example.com/internal-vip". Unprefixed names are reserved for end-users.
	// This field can only be set when the Service type is 'LoadBalancer'. If not set, the default load
	// balancer implementation is used, today this is typically done through the cloud provider integration,
	// but should apply for any default implementation. If set, it is assumed that a load balancer
	// implementation is watching for Services with a matching class. Any default load balancer
	// implementation (e.g. cloud providers) should ignore Services that set this field.
	// This field can only be set when creating or updating a Service to type 'LoadBalancer'.
	// Once set, it can not be changed. This field will be wiped when a service is updated to a non 'LoadBalancer' type.
	LoadBalancerClass string `json:"loadBalancerClass,omitempty"`
	// InternalTrafficPolicy describes how nodes distribute service traffic they
	// receive on the ClusterIP. If set to "Local", the proxy will assume that pods
	// only want to talk to endpoints of the service on the same node as the pod,
	// dropping the traffic if there are no local endpoints. The default value,
	// "Cluster", uses the standard behavior of routing to all endpoints evenly
	// (possibly modified by topology and other features).
	InternalTrafficPolicy ServiceInternalTrafficPolicy `json:"internalTrafficPolicy,omitempty"`
}

func (*ServiceSpec) DeepCopy

func (in *ServiceSpec) DeepCopy() *ServiceSpec

func (*ServiceSpec) DeepCopyInto

func (in *ServiceSpec) DeepCopyInto(out *ServiceSpec)

type ServiceStatus

type ServiceStatus struct {
	// LoadBalancer contains the current status of the load-balancer,
	// if one is present.
	LoadBalancer *LoadBalancerStatus `json:"loadBalancer,omitempty"`
	// Current service state
	Conditions []metav1.Condition `json:"conditions"`
}

func (*ServiceStatus) DeepCopy

func (in *ServiceStatus) DeepCopy() *ServiceStatus

func (*ServiceStatus) DeepCopyInto

func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)

type ServiceType

type ServiceType string
const (
	ServiceTypeClusterIP    ServiceType = "ClusterIP"
	ServiceTypeNodePort     ServiceType = "NodePort"
	ServiceTypeLoadBalancer ServiceType = "LoadBalancer"
	ServiceTypeExternalName ServiceType = "ExternalName"
)

type SessionAffinityConfig

type SessionAffinityConfig struct {
	// clientIP contains the configurations of Client IP based session affinity.
	ClientIP *ClientIPConfig `json:"clientIP,omitempty"`
}

func (*SessionAffinityConfig) DeepCopy

func (*SessionAffinityConfig) DeepCopyInto

func (in *SessionAffinityConfig) DeepCopyInto(out *SessionAffinityConfig)

type StorageMedium

type StorageMedium string
const (
	StorageMediumDEFAULT   StorageMedium = "DEFAULT"
	StorageMediumMemory    StorageMedium = "Memory"
	StorageMediumHugePages StorageMedium = "HugePages"
)

type StorageOSPersistentVolumeSource

type StorageOSPersistentVolumeSource struct {
	// volumeName is the human-readable name of the StorageOS volume.  Volume
	// names are only unique within a namespace.
	VolumeName string `json:"volumeName,omitempty"`
	// volumeNamespace specifies the scope of the volume within StorageOS.  If no
	// namespace is specified then the Pod's namespace will be used.  This allows the
	// Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
	// Set VolumeName to any name to override the default behaviour.
	// Set to "default" if you are not using namespaces within StorageOS.
	// Namespaces that do not pre-exist within StorageOS will be created.
	VolumeNamespace string `json:"volumeNamespace,omitempty"`
	// fsType is the filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	FSType string `json:"fsType,omitempty"`
	// readOnly defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	ReadOnly bool `json:"readOnly,omitempty"`
	// secretRef specifies the secret to use for obtaining the StorageOS API
	// credentials.  If not specified, default values will be attempted.
	SecretRef *ObjectReference `json:"secretRef,omitempty"`
}

func (*StorageOSPersistentVolumeSource) DeepCopy

func (*StorageOSPersistentVolumeSource) DeepCopyInto

type StorageOSVolumeSource

type StorageOSVolumeSource struct {
	// volumeName is the human-readable name of the StorageOS volume.  Volume
	// names are only unique within a namespace.
	VolumeName string `json:"volumeName,omitempty"`
	// volumeNamespace specifies the scope of the volume within StorageOS.  If no
	// namespace is specified then the Pod's namespace will be used.  This allows the
	// Kubernetes name scoping to be mirrored within StorageOS for tighter integration.
	// Set VolumeName to any name to override the default behaviour.
	// Set to "default" if you are not using namespaces within StorageOS.
	// Namespaces that do not pre-exist within StorageOS will be created.
	VolumeNamespace string `json:"volumeNamespace,omitempty"`
	// fsType is the filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	FSType string `json:"fsType,omitempty"`
	// readOnly defaults to false (read/write). ReadOnly here will force
	// the ReadOnly setting in VolumeMounts.
	ReadOnly bool `json:"readOnly,omitempty"`
	// secretRef specifies the secret to use for obtaining the StorageOS API
	// credentials.  If not specified, default values will be attempted.
	SecretRef *LocalObjectReference `json:"secretRef,omitempty"`
}

func (*StorageOSVolumeSource) DeepCopy

func (*StorageOSVolumeSource) DeepCopyInto

func (in *StorageOSVolumeSource) DeepCopyInto(out *StorageOSVolumeSource)

type Sysctl

type Sysctl struct {
	// Name of a property to set
	Name string `json:"name"`
	// Value of a property to set
	Value string `json:"value"`
}

func (*Sysctl) DeepCopy

func (in *Sysctl) DeepCopy() *Sysctl

func (*Sysctl) DeepCopyInto

func (in *Sysctl) DeepCopyInto(out *Sysctl)

type TCPSocketAction

type TCPSocketAction struct {
	// Number or name of the port to access on the container.
	// Number must be in the range 1 to 65535.
	// Name must be an IANA_SVC_NAME.
	Port utilintstr.IntOrString `json:"port"`
	// Optional: Host name to connect to, defaults to the pod IP.
	Host string `json:"host,omitempty"`
}

func (*TCPSocketAction) DeepCopy

func (in *TCPSocketAction) DeepCopy() *TCPSocketAction

func (*TCPSocketAction) DeepCopyInto

func (in *TCPSocketAction) DeepCopyInto(out *TCPSocketAction)

type Taint

type Taint struct {
	// Required. The taint key to be applied to a node.
	Key string `json:"key"`
	// The taint value corresponding to the taint key.
	Value string `json:"value,omitempty"`
	// Required. The effect of the taint on pods
	// that do not tolerate the taint.
	// Valid effects are NoSchedule, PreferNoSchedule and NoExecute.
	Effect TaintEffect `json:"effect"`
	// TimeAdded represents the time at which the taint was added.
	// It is only written for NoExecute taints.
	TimeAdded *metav1.Time `json:"timeAdded,omitempty"`
}

func (*Taint) DeepCopy

func (in *Taint) DeepCopy() *Taint

func (*Taint) DeepCopyInto

func (in *Taint) DeepCopyInto(out *Taint)

type TaintEffect

type TaintEffect string
const (
	TaintEffectNoSchedule       TaintEffect = "NoSchedule"
	TaintEffectPreferNoSchedule TaintEffect = "PreferNoSchedule"
	TaintEffectNoExecute        TaintEffect = "NoExecute"
)

type TerminationMessagePolicy

type TerminationMessagePolicy string
const (
	TerminationMessagePolicyFile                  TerminationMessagePolicy = "File"
	TerminationMessagePolicyFallbackToLogsOnError TerminationMessagePolicy = "FallbackToLogsOnError"
)

type Toleration

type Toleration struct {
	// Key is the taint key that the toleration applies to. Empty means match all taint keys.
	// If the key is empty, operator must be Exists; this combination means to match all values and all keys.
	Key string `json:"key,omitempty"`
	// Operator represents a key's relationship to the value.
	// Valid operators are Exists and Equal. Defaults to Equal.
	// Exists is equivalent to wildcard for value, so that a pod can
	// tolerate all taints of a particular category.
	Operator TolerationOperator `json:"operator,omitempty"`
	// Value is the taint value the toleration matches to.
	// If the operator is Exists, the value should be empty, otherwise just a regular string.
	Value string `json:"value,omitempty"`
	// Effect indicates the taint effect to match. Empty means match all taint effects.
	// When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.
	Effect TaintEffect `json:"effect,omitempty"`
	// TolerationSeconds represents the period of time the toleration (which must be
	// of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default,
	// it is not set, which means tolerate the taint forever (do not evict). Zero and
	// negative values will be treated as 0 (evict immediately) by the system.
	TolerationSeconds int64 `json:"tolerationSeconds,omitempty"`
}

func (*Toleration) DeepCopy

func (in *Toleration) DeepCopy() *Toleration

func (*Toleration) DeepCopyInto

func (in *Toleration) DeepCopyInto(out *Toleration)

type TolerationOperator

type TolerationOperator string
const (
	TolerationOperatorExists TolerationOperator = "Exists"
	TolerationOperatorEqual  TolerationOperator = "Equal"
)

type TopologySelectorLabelRequirement

type TopologySelectorLabelRequirement struct {
	// The label key that the selector applies to.
	Key string `json:"key"`
	// An array of string values. One value must match the label to be selected.
	// Each entry in Values is ORed.
	Values []string `json:"values"`
}

func (*TopologySelectorLabelRequirement) DeepCopy

func (*TopologySelectorLabelRequirement) DeepCopyInto

type TopologySelectorTerm

type TopologySelectorTerm struct {
	// A list of topology selector requirements by labels.
	MatchLabelExpressions []TopologySelectorLabelRequirement `json:"matchLabelExpressions"`
}

func (*TopologySelectorTerm) DeepCopy

func (*TopologySelectorTerm) DeepCopyInto

func (in *TopologySelectorTerm) DeepCopyInto(out *TopologySelectorTerm)

type TopologySpreadConstraint

type TopologySpreadConstraint struct {
	// MaxSkew describes the degree to which pods may be unevenly distributed.
	// When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference
	// between the number of matching pods in the target topology and the global minimum.
	// The global minimum is the minimum number of matching pods in an eligible domain
	// or zero if the number of eligible domains is less than MinDomains.
	// For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
	// labelSelector spread as 2/2/1:
	// In this case, the global minimum is 1.
	// | zone1 | zone2 | zone3 |
	// |  P P  |  P P  |   P   |
	// - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 2/2/2;
	// scheduling it onto zone1(zone2) would make the ActualSkew(3-1) on zone1(zone2)
	// violate MaxSkew(1).
	// - if MaxSkew is 2, incoming pod can be scheduled onto any zone.
	// When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence
	// to topologies that satisfy it.
	// It's a required field. Default value is 1 and 0 is not allowed.
	MaxSkew int `json:"maxSkew"`
	// TopologyKey is the key of node labels. Nodes that have a label with this key
	// and identical values are considered to be in the same topology.
	// We consider each <key, value> as a "bucket", and try to put balanced number
	// of pods into each bucket.
	// We define a domain as a particular instance of a topology.
	// Also, we define an eligible domain as a domain whose nodes meet the requirements of
	// nodeAffinityPolicy and nodeTaintsPolicy.
	// e.g. If TopologyKey is "kubernetes.io/hostname", each Node is a domain of that topology.
	// And, if TopologyKey is "topology.kubernetes.io/zone", each zone is a domain of that topology.
	// It's a required field.
	TopologyKey string `json:"topologyKey"`
	// WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy
	// the spread constraint.
	// - DoNotSchedule (default) tells the scheduler not to schedule it.
	// - ScheduleAnyway tells the scheduler to schedule the pod in any location,
	// but giving higher precedence to topologies that would help reduce the
	// skew.
	// A constraint is considered "Unsatisfiable" for an incoming pod
	// if and only if every possible node assignment for that pod would violate
	// "MaxSkew" on some topology.
	// For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same
	// labelSelector spread as 3/1/1:
	// | zone1 | zone2 | zone3 |
	// | P P P |   P   |   P   |
	// If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled
	// to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies
	// MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler
	// won't make it *more* imbalanced.
	// It's a required field.
	WhenUnsatisfiable UnsatisfiableConstraintAction `json:"whenUnsatisfiable"`
	// LabelSelector is used to find matching pods.
	// Pods that match this label selector are counted to determine the number of pods
	// in their corresponding topology domain.
	LabelSelector *metav1.LabelSelector `json:"labelSelector,omitempty"`
	// MinDomains indicates a minimum number of eligible domains.
	// When the number of eligible domains with matching topology keys is less than minDomains,
	// Pod Topology Spread treats "global minimum" as 0, and then the calculation of Skew is performed.
	// And when the number of eligible domains with matching topology keys equals or greater than minDomains,
	// this value has no effect on scheduling.
	// As a result, when the number of eligible domains is less than minDomains,
	// scheduler won't schedule more than maxSkew Pods to those domains.
	// If value is nil, the constraint behaves as if MinDomains is equal to 1.
	// Valid values are integers greater than 0.
	// When value is not nil, WhenUnsatisfiable must be DoNotSchedule.
	// For example, in a 3-zone cluster, MaxSkew is set to 2, MinDomains is set to 5 and pods with the same
	// labelSelector spread as 2/2/2:
	// | zone1 | zone2 | zone3 |
	// |  P P  |  P P  |  P P  |
	// The number of domains is less than 5(MinDomains), so "global minimum" is treated as 0.
	// In this situation, new pod with the same labelSelector cannot be scheduled,
	// because computed skew will be 3(3 - 0) if new Pod is scheduled to any of the three zones,
	// it will violate MaxSkew.
	// This is a beta field and requires the MinDomainsInPodTopologySpread feature gate to be enabled (enabled by default).
	MinDomains int `json:"minDomains,omitempty"`
	// NodeAffinityPolicy indicates how we will treat Pod's nodeAffinity/nodeSelector
	// when calculating pod topology spread skew. Options are:
	// - Honor: only nodes matching nodeAffinity/nodeSelector are included in the calculations.
	// - Ignore: nodeAffinity/nodeSelector are ignored. All nodes are included in the calculations.
	// If this value is nil, the behavior is equivalent to the Honor policy.
	// This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
	NodeAffinityPolicy NodeInclusionPolicy `json:"nodeAffinityPolicy,omitempty"`
	// NodeTaintsPolicy indicates how we will treat node taints when calculating
	// pod topology spread skew. Options are:
	// - Honor: nodes without taints, along with tainted nodes for which the incoming pod
	// has a toleration, are included.
	// - Ignore: node taints are ignored. All nodes are included.
	// If this value is nil, the behavior is equivalent to the Ignore policy.
	// This is a beta-level feature default enabled by the NodeInclusionPolicyInPodTopologySpread feature flag.
	NodeTaintsPolicy NodeInclusionPolicy `json:"nodeTaintsPolicy,omitempty"`
	// MatchLabelKeys is a set of pod label keys to select the pods over which
	// spreading will be calculated. The keys are used to lookup values from the
	// incoming pod labels, those key-value labels are ANDed with labelSelector
	// to select the group of existing pods over which spreading will be calculated
	// for the incoming pod. The same key is forbidden to exist in both MatchLabelKeys and LabelSelector.
	// MatchLabelKeys cannot be set when LabelSelector isn't set.
	// Keys that don't exist in the incoming pod labels will
	// be ignored. A null or empty list means only match against labelSelector.
	// This is a beta field and requires the MatchLabelKeysInPodTopologySpread feature gate to be enabled (enabled by default).
	MatchLabelKeys []string `json:"matchLabelKeys"`
}

func (*TopologySpreadConstraint) DeepCopy

func (*TopologySpreadConstraint) DeepCopyInto

func (in *TopologySpreadConstraint) DeepCopyInto(out *TopologySpreadConstraint)

type TypedLocalObjectReference

type TypedLocalObjectReference struct {
	// APIGroup is the group for the resource being referenced.
	// If APIGroup is not specified, the specified Kind must be in the core API group.
	// For any other third-party types, APIGroup is required.
	APIGroup string `json:"apiGroup,omitempty"`
	// Kind is the type of resource being referenced
	Kind string `json:"kind"`
	// Name is the name of resource being referenced
	Name string `json:"name"`
}

func (*TypedLocalObjectReference) DeepCopy

func (*TypedLocalObjectReference) DeepCopyInto

type TypedObjectReference

type TypedObjectReference struct {
	// APIGroup is the group for the resource being referenced.
	// If APIGroup is not specified, the specified Kind must be in the core API group.
	// For any other third-party types, APIGroup is required.
	APIGroup string `json:"apiGroup,omitempty"`
	// Kind is the type of resource being referenced
	Kind string `json:"kind"`
	// Name is the name of resource being referenced
	Name string `json:"name"`
	// Namespace is the namespace of resource being referenced
	// Note that when a namespace is specified, a gateway.networking.k8s.io/ReferenceGrant object is required in the referent namespace to allow that namespace's owner to accept the reference. See the ReferenceGrant documentation for details.
	// (Alpha) This field requires the CrossNamespaceVolumeDataSource feature gate to be enabled.
	Namespace string `json:"namespace,omitempty"`
}

func (*TypedObjectReference) DeepCopy

func (*TypedObjectReference) DeepCopyInto

func (in *TypedObjectReference) DeepCopyInto(out *TypedObjectReference)

type URIScheme

type URIScheme string
const (
	URISchemeHTTP  URIScheme = "HTTP"
	URISchemeHTTPS URIScheme = "HTTPS"
)

type UnsatisfiableConstraintAction

type UnsatisfiableConstraintAction string
const (
	UnsatisfiableConstraintActionDoNotSchedule  UnsatisfiableConstraintAction = "DoNotSchedule"
	UnsatisfiableConstraintActionScheduleAnyway UnsatisfiableConstraintAction = "ScheduleAnyway"
)

type Volume

type Volume struct {
	// name of the volume.
	// Must be a DNS_LABEL and unique within the pod.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
	Name string `json:"name"`
	// volumeSource represents the location and type of the mounted volume.
	// If not specified, the Volume is implied to be an EmptyDir.
	// This implied behavior is deprecated and will be removed in a future version.
	VolumeSource `json:",inline"`
}

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

type VolumeDevice

type VolumeDevice struct {
	// name must match the name of a persistentVolumeClaim in the pod
	Name string `json:"name"`
	// devicePath is the path inside of the container that the device will be mapped to.
	DevicePath string `json:"devicePath"`
}

func (*VolumeDevice) DeepCopy

func (in *VolumeDevice) DeepCopy() *VolumeDevice

func (*VolumeDevice) DeepCopyInto

func (in *VolumeDevice) DeepCopyInto(out *VolumeDevice)

type VolumeMount

type VolumeMount struct {
	// This must match the Name of a Volume.
	Name string `json:"name"`
	// Mounted read-only if true, read-write otherwise (false or unspecified).
	// Defaults to false.
	ReadOnly bool `json:"readOnly,omitempty"`
	// Path within the container at which the volume should be mounted.  Must
	// not contain ':'.
	MountPath string `json:"mountPath"`
	// Path within the volume from which the container's volume should be mounted.
	// Defaults to "" (volume's root).
	SubPath string `json:"subPath,omitempty"`
	// mountPropagation determines how mounts are propagated from the host
	// to container and the other way around.
	// When not set, MountPropagationNone is used.
	// This field is beta in 1.10.
	MountPropagation MountPropagationMode `json:"mountPropagation,omitempty"`
	// Expanded path within the volume from which the container's volume should be mounted.
	// Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment.
	// Defaults to "" (volume's root).
	// SubPathExpr and SubPath are mutually exclusive.
	SubPathExpr string `json:"subPathExpr,omitempty"`
}

func (*VolumeMount) DeepCopy

func (in *VolumeMount) DeepCopy() *VolumeMount

func (*VolumeMount) DeepCopyInto

func (in *VolumeMount) DeepCopyInto(out *VolumeMount)

type VolumeNodeAffinity

type VolumeNodeAffinity struct {
	// required specifies hard node constraints that must be met.
	Required *NodeSelector `json:"required,omitempty"`
}

func (*VolumeNodeAffinity) DeepCopy

func (in *VolumeNodeAffinity) DeepCopy() *VolumeNodeAffinity

func (*VolumeNodeAffinity) DeepCopyInto

func (in *VolumeNodeAffinity) DeepCopyInto(out *VolumeNodeAffinity)

type VolumeProjection

type VolumeProjection struct {
	// secret information about the secret data to project
	Secret *SecretProjection `json:"secret,omitempty"`
	// downwardAPI information about the downwardAPI data to project
	DownwardAPI *DownwardAPIProjection `json:"downwardAPI,omitempty"`
	// configMap information about the configMap data to project
	ConfigMap *ConfigMapProjection `json:"configMap,omitempty"`
	// serviceAccountToken is information about the serviceAccountToken data to project
	ServiceAccountToken *ServiceAccountTokenProjection `json:"serviceAccountToken,omitempty"`
}

func (*VolumeProjection) DeepCopy

func (in *VolumeProjection) DeepCopy() *VolumeProjection

func (*VolumeProjection) DeepCopyInto

func (in *VolumeProjection) DeepCopyInto(out *VolumeProjection)

type VolumeSource

type VolumeSource struct {
	// hostPath represents a pre-existing file or directory on the host
	// machine that is directly exposed to the container. This is generally
	// used for system agents or other privileged things that are allowed
	// to see the host machine. Most containers will NOT need this.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
	// ---
	// TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not
	// mount host directories as read/write.
	HostPath *HostPathVolumeSource `json:"hostPath,omitempty"`
	// emptyDir represents a temporary directory that shares a pod's lifetime.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir
	EmptyDir *EmptyDirVolumeSource `json:"emptyDir,omitempty"`
	// gcePersistentDisk represents a GCE Disk resource that is attached to a
	// kubelet's host machine and then exposed to the pod.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
	GCEPersistentDisk *GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty"`
	// awsElasticBlockStore represents an AWS Disk resource that is attached to a
	// kubelet's host machine and then exposed to the pod.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
	AWSElasticBlockStore *AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty"`
	// gitRepo represents a git repository at a particular revision.
	// DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an
	// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir
	// into the Pod's container.
	GitRepo *GitRepoVolumeSource `json:"gitRepo,omitempty"`
	// secret represents a secret that should populate this volume.
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#secret
	Secret *SecretVolumeSource `json:"secret,omitempty"`
	// nfs represents an NFS mount on the host that shares a pod's lifetime
	// More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs
	NFS *NFSVolumeSource `json:"nfs,omitempty"`
	// iscsi represents an ISCSI Disk resource that is attached to a
	// kubelet's host machine and then exposed to the pod.
	// More info: https://examples.k8s.io/volumes/iscsi/README.md
	ISCSI *ISCSIVolumeSource `json:"iscsi,omitempty"`
	// glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime.
	// More info: https://examples.k8s.io/volumes/glusterfs/README.md
	Glusterfs *GlusterfsVolumeSource `json:"glusterfs,omitempty"`
	// persistentVolumeClaimVolumeSource represents a reference to a
	// PersistentVolumeClaim in the same namespace.
	// More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims
	PersistentVolumeClaim *PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"`
	// rbd represents a Rados Block Device mount on the host that shares a pod's lifetime.
	// More info: https://examples.k8s.io/volumes/rbd/README.md
	RBD *RBDVolumeSource `json:"rbd,omitempty"`
	// flexVolume represents a generic volume resource that is
	// provisioned/attached using an exec based plugin.
	FlexVolume *FlexVolumeSource `json:"flexVolume,omitempty"`
	// cinder represents a cinder volume attached and mounted on kubelets host machine.
	// More info: https://examples.k8s.io/mysql-cinder-pd/README.md
	Cinder *CinderVolumeSource `json:"cinder,omitempty"`
	// cephFS represents a Ceph FS mount on the host that shares a pod's lifetime
	CephFS *CephFSVolumeSource `json:"cephfs,omitempty"`
	// flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running
	Flocker *FlockerVolumeSource `json:"flocker,omitempty"`
	// downwardAPI represents downward API about the pod that should populate this volume
	DownwardAPI *DownwardAPIVolumeSource `json:"downwardAPI,omitempty"`
	// fc represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod.
	FC *FCVolumeSource `json:"fc,omitempty"`
	// azureFile represents an Azure File Service mount on the host and bind mount to the pod.
	AzureFile *AzureFileVolumeSource `json:"azureFile,omitempty"`
	// configMap represents a configMap that should populate this volume
	ConfigMap *ConfigMapVolumeSource `json:"configMap,omitempty"`
	// vsphereVolume represents a vSphere volume attached and mounted on kubelets host machine
	VsphereVolume *VsphereVirtualDiskVolumeSource `json:"vsphereVolume,omitempty"`
	// quobyte represents a Quobyte mount on the host that shares a pod's lifetime
	Quobyte *QuobyteVolumeSource `json:"quobyte,omitempty"`
	// azureDisk represents an Azure Data Disk mount on the host and bind mount to the pod.
	AzureDisk *AzureDiskVolumeSource `json:"azureDisk,omitempty"`
	// photonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine
	PhotonPersistentDisk *PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty"`
	// projected items for all in one resources secrets, configmaps, and downward API
	Projected *ProjectedVolumeSource `json:"projected,omitempty"`
	// portworxVolume represents a portworx volume attached and mounted on kubelets host machine
	PortworxVolume *PortworxVolumeSource `json:"portworxVolume,omitempty"`
	// scaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes.
	ScaleIO *ScaleIOVolumeSource `json:"scaleIO,omitempty"`
	// storageOS represents a StorageOS volume attached and mounted on Kubernetes nodes.
	StorageOS *StorageOSVolumeSource `json:"storageos,omitempty"`
	// csi (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature).
	CSI *CSIVolumeSource `json:"csi,omitempty"`
	// ephemeral represents a volume that is handled by a cluster storage driver.
	// The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts,
	// and deleted when the pod is removed.
	// Use this if:
	// a) the volume is only needed while the pod runs,
	// b) features of normal volumes like restoring from snapshot or capacity
	// tracking are needed,
	// c) the storage driver is specified through a storage class, and
	// d) the storage driver supports dynamic volume provisioning through
	// a PersistentVolumeClaim (see EphemeralVolumeSource for more
	// information on the connection between this volume type
	// and PersistentVolumeClaim).
	// Use PersistentVolumeClaim or one of the vendor-specific
	// APIs for volumes that persist for longer than the lifecycle
	// of an individual pod.
	// Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to
	// be used that way - see the documentation of the driver for
	// more information.
	// A pod can use both types of ephemeral volumes and
	// persistent volumes at the same time.
	Ephemeral *EphemeralVolumeSource `json:"ephemeral,omitempty"`
}

func (*VolumeSource) DeepCopy

func (in *VolumeSource) DeepCopy() *VolumeSource

func (*VolumeSource) DeepCopyInto

func (in *VolumeSource) DeepCopyInto(out *VolumeSource)

type VsphereVirtualDiskVolumeSource

type VsphereVirtualDiskVolumeSource struct {
	// volumePath is the path that identifies vSphere volume vmdk
	VolumePath string `json:"volumePath"`
	// fsType is filesystem type to mount.
	// Must be a filesystem type supported by the host operating system.
	// Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified.
	FSType string `json:"fsType,omitempty"`
	// storagePolicyName is the storage Policy Based Management (SPBM) profile name.
	StoragePolicyName string `json:"storagePolicyName,omitempty"`
	// storagePolicyID is the storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName.
	StoragePolicyID string `json:"storagePolicyID,omitempty"`
}

func (*VsphereVirtualDiskVolumeSource) DeepCopy

func (*VsphereVirtualDiskVolumeSource) DeepCopyInto

type WeightedPodAffinityTerm

type WeightedPodAffinityTerm struct {
	// weight associated with matching the corresponding podAffinityTerm,
	// in the range 1-100.
	Weight int `json:"weight"`
	// Required. A pod affinity term, associated with the corresponding weight.
	PodAffinityTerm PodAffinityTerm `json:"podAffinityTerm"`
}

func (*WeightedPodAffinityTerm) DeepCopy

func (*WeightedPodAffinityTerm) DeepCopyInto

func (in *WeightedPodAffinityTerm) DeepCopyInto(out *WeightedPodAffinityTerm)

type WindowsSecurityContextOptions

type WindowsSecurityContextOptions struct {
	// GMSACredentialSpecName is the name of the GMSA credential spec to use.
	GMSACredentialSpecName string `json:"gmsaCredentialSpecName,omitempty"`
	// GMSACredentialSpec is where the GMSA admission webhook
	// (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the
	// GMSA credential spec named by the GMSACredentialSpecName field.
	GMSACredentialSpec string `json:"gmsaCredentialSpec,omitempty"`
	// The UserName in Windows to run the entrypoint of the container process.
	// Defaults to the user specified in image metadata if unspecified.
	// May also be set in PodSecurityContext. If set in both SecurityContext and
	// PodSecurityContext, the value specified in SecurityContext takes precedence.
	RunAsUserName string `json:"runAsUserName,omitempty"`
	// HostProcess determines if a container should be run as a 'Host Process' container.
	// This field is alpha-level and will only be honored by components that enable the
	// WindowsHostProcessContainers feature flag. Setting this field without the feature
	// flag will result in errors when validating the Pod. All of a Pod's containers must
	// have the same effective HostProcess value (it is not allowed to have a mix of HostProcess
	// containers and non-HostProcess containers).  In addition, if HostProcess is true
	// then HostNetwork must also be set to true.
	HostProcess bool `json:"hostProcess,omitempty"`
}

func (*WindowsSecurityContextOptions) DeepCopy

func (*WindowsSecurityContextOptions) DeepCopyInto

Jump to

Keyboard shortcuts

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