Documentation

Overview

+k8s:deepcopy-gen=package +groupName=duck.knative.dev

Index

Constants

View Source
const (
	// SourceConditionSinkProvided has status True when the Source
	// has been configured with a sink target that is resolvable.
	SourceConditionSinkProvided apis.ConditionType = "SinkProvided"
)

Variables

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

SchemeGroupVersion is group version used to register these objects

Functions

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 a Group qualified GroupResource

func ValidateDestination

func ValidateDestination(ctx context.Context, dest Destination) *apis.FieldError

ValidateDestination validates Destination.

Types

type AddressStatus

type AddressStatus struct {
	Address *Addressable `json:"address,omitempty"`
}

AddressStatus shows how we expect folks to embed Addressable in their Status field.

func (*AddressStatus) DeepCopy

func (in *AddressStatus) DeepCopy() *AddressStatus

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

func (*AddressStatus) DeepCopyInto

func (in *AddressStatus) DeepCopyInto(out *AddressStatus)

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

type Addressable

type Addressable struct {
	URL *apis.URL `json:"url,omitempty"`
}

Addressable provides a generic mechanism for a custom resource definition to indicate a destination for message delivery.

Addressable is the schema for the destination information. This is typically stored in the object's `status`, as this information may be generated by the controller.

func (*Addressable) ConvertFrom

func (a *Addressable) ConvertFrom(ctx context.Context, from apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*Addressable) ConvertTo

func (a *Addressable) ConvertTo(ctx context.Context, to apis.Convertible) error

ConvertTo implements apis.Convertible

func (*Addressable) DeepCopy

func (in *Addressable) DeepCopy() *Addressable

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

func (*Addressable) DeepCopyInto

func (in *Addressable) DeepCopyInto(out *Addressable)

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

func (*Addressable) GetFullType

func (*Addressable) GetFullType() ducktypes.Populatable

GetFullType implements duck.Implementable

type AddressableType

type AddressableType struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Status AddressStatus `json:"status"`
}

AddressableType is a skeleton type wrapping Addressable in the manner we expect resource writers defining compatible resources to embed it. We will typically use this type to deserialize Addressable ObjectReferences and access the Addressable data. This is not a real resource.

func (*AddressableType) DeepCopy

func (in *AddressableType) DeepCopy() *AddressableType

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

func (*AddressableType) DeepCopyInto

func (in *AddressableType) DeepCopyInto(out *AddressableType)

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

func (*AddressableType) DeepCopyObject

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

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

func (*AddressableType) GetListType

func (*AddressableType) GetListType() runtime.Object

GetListType implements apis.Listable

func (*AddressableType) Populate

func (t *AddressableType) Populate()

Populate implements duck.Populatable

type AddressableTypeList

type AddressableTypeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []AddressableType `json:"items"`
}

AddressableTypeList is a list of AddressableType resources

func (*AddressableTypeList) DeepCopy

func (in *AddressableTypeList) DeepCopy() *AddressableTypeList

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

func (*AddressableTypeList) DeepCopyInto

func (in *AddressableTypeList) DeepCopyInto(out *AddressableTypeList)

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

func (*AddressableTypeList) DeepCopyObject

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

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

type Binding

type Binding struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec BindingSpec `json:"spec"`
}

Binding is a duck type that specifies the partial schema to which all Binding implementations should adhere.

func (*Binding) DeepCopy

func (in *Binding) DeepCopy() *Binding

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

func (*Binding) DeepCopyInto

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

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

func (*Binding) DeepCopyObject

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

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

func (*Binding) GetFullType

func (*Binding) GetFullType() duck.Populatable

GetFullType implements duck.Implementable

func (*Binding) GetListType

func (*Binding) GetListType() runtime.Object

GetListType implements apis.Listable

func (*Binding) Populate

func (t *Binding) Populate()

Populate implements duck.Populatable

type BindingList

type BindingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []Binding `json:"items"`
}

BindingList is a list of Binding resources

func (*BindingList) DeepCopy

func (in *BindingList) DeepCopy() *BindingList

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

func (*BindingList) DeepCopyInto

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

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

func (*BindingList) DeepCopyObject

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

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

type BindingSpec

type BindingSpec struct {
	// Subject references the resource(s) whose "runtime contract" should be
	// augmented by Binding implementations.
	Subject tracker.Reference `json:"subject"`
}

BindingSpec specifies the spec portion of the Binding partial-schema.

func (*BindingSpec) DeepCopy

func (in *BindingSpec) DeepCopy() *BindingSpec

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

func (*BindingSpec) DeepCopyInto

func (in *BindingSpec) DeepCopyInto(out *BindingSpec)

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

type CloudEventAttributes

type CloudEventAttributes struct {
	// Type refers to the CloudEvent type attribute.
	Type string `json:"type,omitempty"`

	// Source is the CloudEvents source attribute.
	Source string `json:"source,omitempty"`
}

CloudEventAttributes specifies the attributes that a Source uses as part of its CloudEvents.

func (*CloudEventAttributes) DeepCopy

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

func (*CloudEventAttributes) DeepCopyInto

func (in *CloudEventAttributes) DeepCopyInto(out *CloudEventAttributes)

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

type CloudEventOverrides

type CloudEventOverrides struct {
	// Extensions specify what attribute are added or overridden on the
	// outbound event. Each `Extensions` key-value pair are set on the event as
	// an attribute extension independently.
	// +optional
	Extensions map[string]string `json:"extensions,omitempty"`
}

CloudEventOverrides defines arguments for a Source that control the output format of the CloudEvents produced by the Source.

func (*CloudEventOverrides) DeepCopy

func (in *CloudEventOverrides) DeepCopy() *CloudEventOverrides

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

func (*CloudEventOverrides) DeepCopyInto

func (in *CloudEventOverrides) DeepCopyInto(out *CloudEventOverrides)

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

type Conditions

type Conditions apis.Conditions

Conditions is a simple wrapper around apis.Conditions to implement duck.Implementable.

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.

func (*Conditions) GetFullType

func (*Conditions) GetFullType() ducktypes.Populatable

GetFullType implements duck.Implementable

type Destination

type Destination struct {
	// Ref points to an Addressable.
	// +optional
	Ref *KReference `json:"ref,omitempty"`

	// URI can be an absolute URL(non-empty scheme and non-empty host) pointing to the target or a relative URI. Relative URIs will be resolved using the base URI retrieved from Ref.
	// +optional
	URI *apis.URL `json:"uri,omitempty"`
}

Destination represents a target of an invocation over HTTP.

func (*Destination) DeepCopy

func (in *Destination) DeepCopy() *Destination

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

func (*Destination) DeepCopyInto

func (in *Destination) DeepCopyInto(out *Destination)

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

func (*Destination) GetRef

func (d *Destination) GetRef() *KReference

GetRef gets the KReference from this Destination, if one is present. If no ref is present, then nil is returned.

func (*Destination) SetDefaults

func (d *Destination) SetDefaults(ctx context.Context)

func (*Destination) Validate

func (d *Destination) Validate(ctx context.Context) *apis.FieldError

Validate the Destination has all the necessary fields and check the Namespace matches that of the parent object (using apis.ParentMeta).

type KRShaped

type KRShaped interface {
	metav1.Object
	schema.ObjectKind

	GetStatus() *Status

	GetConditionSet() apis.ConditionSet
}

KRShaped is an interface for retrieving the duck elements of an arbitrary resource.

type KReference

type KReference 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"`

	// Namespace of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
	// This is optional field, it gets defaulted to the object holding it if left out.
	// +optional
	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"`

	// API version of the referent.
	APIVersion string `json:"apiVersion"`
}

KReference contains enough information to refer to another object. It's a trimmed down version of corev1.ObjectReference.

func (*KReference) DeepCopy

func (in *KReference) DeepCopy() *KReference

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

func (*KReference) DeepCopyInto

func (in *KReference) DeepCopyInto(out *KReference)

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

func (*KReference) SetDefaults

func (kr *KReference) SetDefaults(ctx context.Context)

SetDefaults sets the default values on the KReference.

func (*KReference) Validate

func (kr *KReference) Validate(ctx context.Context) *apis.FieldError

type KResource

type KResource struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Status Status `json:"status"`
}

KResource is a skeleton type wrapping Conditions in the manner we expect resource writers defining compatible resources to embed it. We will typically use this type to deserialize Conditions ObjectReferences and access the Conditions data. This is not a real resource.

func (*KResource) DeepCopy

func (in *KResource) DeepCopy() *KResource

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

func (*KResource) DeepCopyInto

func (in *KResource) DeepCopyInto(out *KResource)

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

func (*KResource) DeepCopyObject

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

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

func (*KResource) GetConditionSet

func (t *KResource) GetConditionSet() apis.ConditionSet

GetConditionSet retrieves the condition set for this resource. Implements the KRShaped interface.

func (*KResource) GetListType

func (*KResource) GetListType() runtime.Object

GetListType implements apis.Listable

func (*KResource) GetStatus

func (t *KResource) GetStatus() *Status

GetStatus retrieves the status of the KResource. Implements the KRShaped interface.

func (*KResource) Populate

func (t *KResource) Populate()

Populate implements duck.Populatable

type KResourceList

type KResourceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []KResource `json:"items"`
}

KResourceList is a list of KResource resources

func (*KResourceList) DeepCopy

func (in *KResourceList) DeepCopy() *KResourceList

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

func (*KResourceList) DeepCopyInto

func (in *KResourceList) DeepCopyInto(out *KResourceList)

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

func (*KResourceList) DeepCopyObject

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

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

type PodSpecable

type PodSpecable corev1.PodTemplateSpec

PodSpecable is implemented by types containing a PodTemplateSpec in the manner of ReplicaSet, Deployment, DaemonSet, StatefulSet.

func (*PodSpecable) DeepCopy

func (in *PodSpecable) DeepCopy() *PodSpecable

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

func (*PodSpecable) DeepCopyInto

func (in *PodSpecable) DeepCopyInto(out *PodSpecable)

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

func (*PodSpecable) GetFullType

func (*PodSpecable) GetFullType() ducktypes.Populatable

GetFullType implements duck.Implementable

type Source

type Source struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   SourceSpec   `json:"spec"`
	Status SourceStatus `json:"status"`
}

Source is the minimum resource shape to adhere to the Source Specification. This duck type is intended to allow implementors of Sources and Importers to verify their own resources meet the expectations. This is not a real resource. NOTE: The Source Specification is in progress and the shape and names could be modified until it has been accepted.

func (*Source) DeepCopy

func (in *Source) DeepCopy() *Source

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

func (*Source) DeepCopyInto

func (in *Source) DeepCopyInto(out *Source)

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

func (*Source) DeepCopyObject

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

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

func (*Source) GetFullType

func (*Source) GetFullType() ducktypes.Populatable

GetFullType implements duck.Implementable

func (*Source) GetListType

func (*Source) GetListType() runtime.Object

GetListType implements apis.Listable

func (*Source) Populate

func (s *Source) Populate()

Populate implements duck.Populatable

type SourceList

type SourceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []Source `json:"items"`
}

SourceList is a list of Source resources

func (*SourceList) DeepCopy

func (in *SourceList) DeepCopy() *SourceList

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

func (*SourceList) DeepCopyInto

func (in *SourceList) DeepCopyInto(out *SourceList)

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

func (*SourceList) DeepCopyObject

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

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

type SourceSpec

type SourceSpec struct {
	// Sink is a reference to an object that will resolve to a uri to use as the sink.
	Sink Destination `json:"sink,omitempty"`

	// CloudEventOverrides defines overrides to control the output format and
	// modifications of the event sent to the sink.
	// +optional
	CloudEventOverrides *CloudEventOverrides `json:"ceOverrides,omitempty"`
}

func (*SourceSpec) DeepCopy

func (in *SourceSpec) DeepCopy() *SourceSpec

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

func (*SourceSpec) DeepCopyInto

func (in *SourceSpec) DeepCopyInto(out *SourceSpec)

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

type SourceStatus

type SourceStatus struct {
	// inherits Status, which currently provides:
	// * ObservedGeneration - the 'Generation' of the Service that was last
	//   processed by the controller.
	// * Conditions - the latest available observations of a resource's current
	//   state.
	Status `json:",inline"`

	// SinkURI is the current active sink URI that has been configured for the
	// Source.
	// +optional
	SinkURI *apis.URL `json:"sinkUri,omitempty"`

	// CloudEventAttributes are the specific attributes that the Source uses
	// as part of its CloudEvents.
	// +optional
	CloudEventAttributes []CloudEventAttributes `json:"ceAttributes,omitempty"`
}

SourceStatus shows how we expect folks to embed Addressable in their Status field.

func (*SourceStatus) DeepCopy

func (in *SourceStatus) DeepCopy() *SourceStatus

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

func (*SourceStatus) DeepCopyInto

func (in *SourceStatus) DeepCopyInto(out *SourceStatus)

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

func (*SourceStatus) IsReady

func (ss *SourceStatus) IsReady() bool

IsReady returns true if the resource is ready overall.

type Status

type Status struct {
	// ObservedGeneration is the 'Generation' of the Service that
	// was last processed by the controller.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions the latest available observations of a resource's current state.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	Conditions Conditions `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// Annotations is additional Status fields for the Resource to save some
	// additional State as well as convey more information to the user. This is
	// roughly akin to Annotations on any k8s resource, just the reconciler conveying
	// richer information outwards.
	Annotations map[string]string `json:"annotations,omitempty"`
}

Status shows how we expect folks to embed Conditions in their Status field. WARNING: Adding fields to this struct will add them to all Knative resources.

func (*Status) ConvertTo

func (s *Status) ConvertTo(ctx context.Context, sink *Status, predicates ...func(apis.ConditionType) bool)

ConvertTo helps implement apis.Convertible for types embedding this Status.

By default apis.ConditionReady and apis.ConditionSucceeded will be copied over to the sink. Other conditions types are tested against a list of predicates. If any of the predicates return true the condition type will be copied to the sink

func (*Status) DeepCopy

func (in *Status) DeepCopy() *Status

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

func (*Status) DeepCopyInto

func (in *Status) DeepCopyInto(out *Status)

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

func (*Status) GetCondition

func (s *Status) GetCondition(t apis.ConditionType) *apis.Condition

GetCondition fetches a copy of the condition of the specified type.

func (*Status) GetConditions

func (s *Status) GetConditions() apis.Conditions

GetConditions implements apis.ConditionsAccessor

func (*Status) SetConditions

func (s *Status) SetConditions(c apis.Conditions)

SetConditions implements apis.ConditionsAccessor

type WithPod

type WithPod struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec WithPodSpec `json:"spec,omitempty"`
}

WithPod is the shell that demonstrates how PodSpecable types wrap a PodSpec.

func (*WithPod) DeepCopy

func (in *WithPod) DeepCopy() *WithPod

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

func (*WithPod) DeepCopyInto

func (in *WithPod) DeepCopyInto(out *WithPod)

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

func (*WithPod) DeepCopyObject

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

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

func (*WithPod) GetListType

func (*WithPod) GetListType() runtime.Object

GetListType implements apis.Listable

func (*WithPod) Populate

func (t *WithPod) Populate()

Populate implements duck.Populatable

type WithPodList

type WithPodList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`

	Items []WithPod `json:"items"`
}

WithPodList is a list of WithPod resources

func (*WithPodList) DeepCopy

func (in *WithPodList) DeepCopy() *WithPodList

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

func (*WithPodList) DeepCopyInto

func (in *WithPodList) DeepCopyInto(out *WithPodList)

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

func (*WithPodList) DeepCopyObject

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

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

type WithPodSpec

type WithPodSpec struct {
	Template PodSpecable `json:"template,omitempty"`
}

WithPodSpec is the shell around the PodSpecable within WithPod.

func (*WithPodSpec) DeepCopy

func (in *WithPodSpec) DeepCopy() *WithPodSpec

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

func (*WithPodSpec) DeepCopyInto

func (in *WithPodSpec) DeepCopyInto(out *WithPodSpec)

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

Directories

Path Synopsis
test