Documentation ¶
Overview ¶
Package apis provides common types and functions for interacting with CRD types. This has been copied from knative.dev/pkg and copyright/licence information has been preserved.
Changes to upstream: - Disable deep-copy generation for interface types.
+k8s:deepcopy-gen=package
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Condition ¶
type Condition struct { // Type of condition. // +required Type ConditionType `json:"type" description:"type of status condition"` // Status of the condition, one of True, False, Unknown. // +required Status corev1.ConditionStatus `json:"status" description:"status of the condition, one of True, False, Unknown"` // Severity with which to treat failures of this type of condition. // When this is not specified, it defaults to Error. // +optional Severity ConditionSeverity `json:"severity,omitempty" description:"how to interpret failures of this condition, one of Error, Warning, Info"` // LastTransitionTime is the last time the condition transitioned from one status to another. // We use VolatileTime in place of metav1.Time to exclude this from creating equality.Semantic // differences (all other things held constant). // +optional LastTransitionTime VolatileTime `json:"lastTransitionTime,omitempty" description:"last time the condition transit from one status to another"` // The reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty" description:"one-word CamelCase reason for the condition's last transition"` // A human readable message indicating details about the transition. // +optional Message string `json:"message,omitempty" description:"human-readable message indicating details about last transition"` }
Condition defines a readiness condition for a Knative resource. See: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#typical-status-properties +k8s:deepcopy-gen=true
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Condition) GetMessage ¶
GetMessage returns a nil save string of Message
type ConditionAccessor ¶
type ConditionAccessor interface { // GetCondition finds and returns the Condition that matches the ConditionType // It should return nil if the condition type is not present GetCondition(t ConditionType) *Condition }
ConditionAccessor is used to access a condition through it's type +k8s:deepcopy-gen=false
type ConditionManager ¶
type ConditionManager interface { ConditionAccessor // IsHappy looks at the happy condition and returns true if that condition is // set to true. IsHappy() bool // GetTopLevelCondition finds and returns the top level Condition (happy Condition). GetTopLevelCondition() *Condition // SetCondition sets or updates the Condition on Conditions for Condition.Type. // If there is an update, Conditions are stored back sorted. SetCondition(new Condition) // ClearCondition removes the non terminal condition that matches the ConditionType ClearCondition(t ConditionType) error // MarkTrue sets the status of t to true, and then marks the happy condition to // true if all dependents are true. MarkTrue(t ConditionType) // MarkTrueWithReason sets the status of t to true with the reason, and then marks the happy // condition to true if all dependents are true. MarkTrueWithReason(t ConditionType, reason, messageFormat string, messageA ...interface{}) // MarkUnknown sets the status of t to Unknown and also sets the happy condition // to Unknown if no other dependent condition is in an error state. MarkUnknown(t ConditionType, reason, messageFormat string, messageA ...interface{}) // MarkFalse sets the status of t and the happy condition to False. MarkFalse(t ConditionType, reason, messageFormat string, messageA ...interface{}) // InitializeConditions updates all Conditions in the ConditionSet to Unknown // if not set. InitializeConditions() }
ConditionManager allows a resource to operate on its Conditions using higher order operations. +k8s:deepcopy-gen=false
type ConditionSet ¶
type ConditionSet struct {
// contains filtered or unexported fields
}
ConditionSet is an abstract collection of the possible ConditionType values that a particular resource might expose. It also holds the "happy condition" for that resource, which we define to be one of Ready or Succeeded depending on whether it is a Living or Batch process respectively. +k8s:deepcopy-gen=false
func NewBatchConditionSet ¶
func NewBatchConditionSet(d ...ConditionType) ConditionSet
NewBatchConditionSet returns a ConditionSet to hold the conditions for the batch resource. ConditionSucceeded is used as the happy condition. The set of condition types provided are those of the terminal subconditions.
func NewLivingConditionSet ¶
func NewLivingConditionSet(d ...ConditionType) ConditionSet
NewLivingConditionSet returns a ConditionSet to hold the conditions for the living resource. ConditionReady is used as the happy condition. The set of condition types provided are those of the terminal subconditions.
func (ConditionSet) GetTopLevelConditionType ¶
func (r ConditionSet) GetTopLevelConditionType() ConditionType
GetTopLevelConditionType is an accessor for the top-level happy condition.
func (ConditionSet) Manage ¶
func (r ConditionSet) Manage(status ConditionsAccessor) ConditionManager
Manage creates a ConditionManager from an accessor object using the original ConditionSet as a reference. Status must be a pointer to a struct.
type ConditionSeverity ¶
type ConditionSeverity string
ConditionSeverity expresses the severity of a Condition Type failing.
const ( // ConditionSeverityError specifies that a failure of a condition type // should be viewed as an error. As "Error" is the default for conditions // we use the empty string (coupled with omitempty) to avoid confusion in // the case where the condition is in state "True" (aka nothing is wrong). ConditionSeverityError ConditionSeverity = "" // ConditionSeverityWarning specifies that a failure of a condition type // should be viewed as a warning, but that things could still work. ConditionSeverityWarning ConditionSeverity = "Warning" // ConditionSeverityInfo specifies that a failure of a condition type // should be viewed as purely informational, and that things could still work. ConditionSeverityInfo ConditionSeverity = "Info" )
type ConditionType ¶
type ConditionType string
ConditionType is a camel-cased condition type.
const ( // ConditionReady specifies that the resource is ready. // For long-running resources. ConditionReady ConditionType = "Ready" // ConditionSucceeded specifies that the resource has finished. // For resource which run to completion. ConditionSucceeded ConditionType = "Succeeded" )
type Conditions ¶
type Conditions []Condition
Conditions is the schema for the conditions portion of the payload
func (Conditions) DeepCopy ¶
func (in Conditions) DeepCopy() Conditions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Conditions.
func (Conditions) DeepCopyInto ¶
func (in Conditions) DeepCopyInto(out *Conditions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionsAccessor ¶
type ConditionsAccessor interface { GetConditions() Conditions SetConditions(Conditions) }
ConditionsAccessor is the interface for a Resource that implements the getter and setter for accessing a Condition collection. +k8s:deepcopy-gen=false
type VolatileTime ¶
VolatileTime wraps metav1.Time
Unlike metav1.Time, VolatileTimes are considered semantically equal when using kubernetes semantic equality checks. Thus differing VolatileTime values are not considered different. Note, go-cmp will still return inequality, see unit test if you need this behavior for go-cmp.
+kubebuilder:validation:Type=string
func (*VolatileTime) DeepCopy ¶
func (in *VolatileTime) DeepCopy() *VolatileTime
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VolatileTime.
func (*VolatileTime) DeepCopyInto ¶
func (in *VolatileTime) DeepCopyInto(out *VolatileTime)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (VolatileTime) MarshalJSON ¶
func (t VolatileTime) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaler interface.
func (*VolatileTime) UnmarshalJSON ¶
func (t *VolatileTime) UnmarshalJSON(b []byte) error
UnmarshalJSON implements the json.Unmarshaller interface.