Documentation

Overview

Package apiregistration is the internal version of the API.

Index

Constants

View Source
const GroupName = "apiregistration.k8s.io"

GroupName is the API group for apiregistration

Variables

View Source
var (
	// SchemeBuilder is the scheme builder with scheme init functions to run for this API package
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	// AddToScheme is a common registration function for mapping packaged scoped group & version keys to a scheme
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}

SchemeGroupVersion is group version used to register these objects

Functions

func APIServiceNameToGroupVersion

func APIServiceNameToGroupVersion(apiServiceName string) schema.GroupVersion

APIServiceNameToGroupVersion returns the GroupVersion for a given apiServiceName. The name must be valid, but any object you get back from an informer will be valid.

func IsAPIServiceConditionTrue

func IsAPIServiceConditionTrue(apiService *APIService, conditionType APIServiceConditionType) bool

IsAPIServiceConditionTrue indicates if the condition is present and strictly true

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns back a Group qualified GroupResource

func SetAPIServiceCondition

func SetAPIServiceCondition(apiService *APIService, newCondition APIServiceCondition)

SetAPIServiceCondition sets the status condition. It either overwrites the existing one or creates a new one

func SortedByGroupAndVersion

func SortedByGroupAndVersion(servers []*APIService) [][]*APIService

SortedByGroupAndVersion sorts APIServices into their different groups, and then sorts them based on their versions. For example, the first element of the first array contains the APIService with the highest version number, in the group with the highest priority; while the last element of the last array contains the APIService with the lowest version number, in the group with the lowest priority.

Types

type APIService

type APIService struct {
	metav1.TypeMeta
	metav1.ObjectMeta

	// Spec contains information for locating and communicating with a server
	Spec APIServiceSpec
	// Status contains derived information about an API server
	Status APIServiceStatus
}

APIService represents a server for a particular GroupVersion. Name must be "version.group".

func (*APIService) DeepCopy

func (in *APIService) DeepCopy() *APIService

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIService.

func (*APIService) DeepCopyInto

func (in *APIService) DeepCopyInto(out *APIService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIService) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIServiceCondition

type APIServiceCondition struct {
	// Type is the type of the condition.
	Type APIServiceConditionType
	// Status is the status of the condition.
	// Can be True, False, Unknown.
	Status ConditionStatus
	// Last time the condition transitioned from one status to another.
	LastTransitionTime metav1.Time
	// Unique, one-word, CamelCase reason for the condition's last transition.
	Reason string
	// Human-readable message indicating details about last transition.
	Message string
}

APIServiceCondition describes conditions for an APIService

func GetAPIServiceConditionByType

func GetAPIServiceConditionByType(apiService *APIService, conditionType APIServiceConditionType) *APIServiceCondition

GetAPIServiceConditionByType gets an *APIServiceCondition by APIServiceConditionType if present

func NewLocalAvailableAPIServiceCondition

func NewLocalAvailableAPIServiceCondition() APIServiceCondition

NewLocalAvailableAPIServiceCondition returns a condition for an available local APIService.

func (*APIServiceCondition) DeepCopy

func (in *APIServiceCondition) DeepCopy() *APIServiceCondition

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceCondition.

func (*APIServiceCondition) DeepCopyInto

func (in *APIServiceCondition) DeepCopyInto(out *APIServiceCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceConditionType

type APIServiceConditionType string

APIServiceConditionType is a valid value for APIServiceCondition.Type

const (
	// Available indicates that the service exists and is reachable
	Available APIServiceConditionType = "Available"
)

type APIServiceList

type APIServiceList struct {
	metav1.TypeMeta
	metav1.ListMeta

	Items []APIService
}

APIServiceList is a list of APIService objects.

func (*APIServiceList) DeepCopy

func (in *APIServiceList) DeepCopy() *APIServiceList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceList.

func (*APIServiceList) DeepCopyInto

func (in *APIServiceList) DeepCopyInto(out *APIServiceList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIServiceList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIServiceSpec

type APIServiceSpec struct {
	// Service is a reference to the service for this API server.  It must communicate
	// on port 443
	// If the Service is nil, that means the handling for the API groupversion is handled locally on this server.
	// The call will simply delegate to the normal handler chain to be fulfilled.
	Service *ServiceReference
	// Group is the API group name this server hosts
	Group string
	// Version is the API version this server hosts.  For example, "v1"
	Version string

	// InsecureSkipTLSVerify disables TLS certificate verification when communicating with this server.
	// This is strongly discouraged.  You should use the CABundle instead.
	InsecureSkipTLSVerify bool
	// CABundle is a PEM encoded CA bundle which will be used to validate an API server's serving certificate.
	// If unspecified, system trust roots on the apiserver are used.
	// +optional
	CABundle []byte

	// GroupPriorityMinimum is the priority this group should have at least. Higher priority means that the group is preferred by clients over lower priority ones.
	// Note that other versions of this group might specify even higher GroupPriorityMininum values such that the whole group gets a higher priority.
	// The primary sort is based on GroupPriorityMinimum, ordered highest number to lowest (20 before 10).
	// The secondary sort is based on the alphabetical comparison of the name of the object.  (v1.bar before v1.foo)
	// We'd recommend something like: *.k8s.io (except extensions) at 18000 and
	// PaaSes (OpenShift, Deis) are recommended to be in the 2000s
	GroupPriorityMinimum int32

	// VersionPriority controls the ordering of this API version inside of its group.  Must be greater than zero.
	// The primary sort is based on VersionPriority, ordered highest to lowest (20 before 10).
	// Since it's inside of a group, the number can be small, probably in the 10s.
	// In case of equal version priorities, the version string will be used to compute the order inside a group.
	// If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered
	// lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version),
	// then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first
	// by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing major
	// version, then minor version. An example sorted list of versions:
	// v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10.
	VersionPriority int32
}

APIServiceSpec contains information for locating and communicating with a server. Only https is supported, though you are able to disable certificate verification.

func (*APIServiceSpec) DeepCopy

func (in *APIServiceSpec) DeepCopy() *APIServiceSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceSpec.

func (*APIServiceSpec) DeepCopyInto

func (in *APIServiceSpec) DeepCopyInto(out *APIServiceSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIServiceStatus

type APIServiceStatus struct {
	// Current service state of apiService.
	Conditions []APIServiceCondition
}

APIServiceStatus contains derived information about an API server

func (*APIServiceStatus) DeepCopy

func (in *APIServiceStatus) DeepCopy() *APIServiceStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIServiceStatus.

func (*APIServiceStatus) DeepCopyInto

func (in *APIServiceStatus) DeepCopyInto(out *APIServiceStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ByGroupPriorityMinimum

type ByGroupPriorityMinimum []*APIService

ByGroupPriorityMinimum sorts with the highest group number first, then by name. This is not a simple reverse, because we want the name sorting to be alpha, not reverse alpha.

func (ByGroupPriorityMinimum) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ByGroupPriorityMinimum.

func (ByGroupPriorityMinimum) DeepCopyInto

func (in ByGroupPriorityMinimum) DeepCopyInto(out *ByGroupPriorityMinimum)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ByGroupPriorityMinimum) Len

func (s ByGroupPriorityMinimum) Len() int

func (ByGroupPriorityMinimum) Less

func (s ByGroupPriorityMinimum) Less(i, j int) bool

func (ByGroupPriorityMinimum) Swap

func (s ByGroupPriorityMinimum) Swap(i, j int)

type ByVersionPriority

type ByVersionPriority []*APIService

ByVersionPriority sorts with the highest version number first, then by name. This is not a simple reverse, because we want the name sorting to be alpha, not reverse alpha.

func (ByVersionPriority) DeepCopy

func (in ByVersionPriority) DeepCopy() ByVersionPriority

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ByVersionPriority.

func (ByVersionPriority) DeepCopyInto

func (in ByVersionPriority) DeepCopyInto(out *ByVersionPriority)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ByVersionPriority) Len

func (s ByVersionPriority) Len() int

func (ByVersionPriority) Less

func (s ByVersionPriority) Less(i, j int) bool

func (ByVersionPriority) Swap

func (s ByVersionPriority) Swap(i, j int)

type ConditionStatus

type ConditionStatus string

ConditionStatus indicates the status of a condition (true, false, or unknown).

const (
	ConditionTrue    ConditionStatus = "True"
	ConditionFalse   ConditionStatus = "False"
	ConditionUnknown ConditionStatus = "Unknown"
)

These are valid condition statuses. "ConditionTrue" means a resource is in the condition; "ConditionFalse" means a resource is not in the condition; "ConditionUnknown" means kubernetes can't decide if a resource is in the condition or not. In the future, we could add other intermediate conditions, e.g. ConditionDegraded.

type ServiceReference

type ServiceReference struct {
	// Namespace is the namespace of the service
	Namespace string
	// Name is the name of the service
	Name string
}

ServiceReference holds a reference to Service.legacy.k8s.io

func (*ServiceReference) DeepCopy

func (in *ServiceReference) DeepCopy() *ServiceReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceReference.

func (*ServiceReference) DeepCopyInto

func (in *ServiceReference) DeepCopyInto(out *ServiceReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Directories

Path Synopsis
install
v1 Package v1 contains the API Registration API, which is responsible for registering an API `Group`/`Version` with another kubernetes like API server.
v1beta1 Package v1beta1 contains the API Registration API, which is responsible for registering an API `Group`/`Version` with another kubernetes like API server.
validation