v1

package
v0.38.7 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2023 License: Apache-2.0 Imports: 12 Imported by: 56

Documentation

Overview

Package v1 is the v1 version of the API. +k8s:deepcopy-gen=package +groupName=duck.knative.dev

Index

Constants

This section is empty.

Variables

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

SchemeGroupVersion is group version used to register these objects

Functions

func Kind added in v0.17.0

func Kind(kind string) schema.GroupKind

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

func NewDestinationFromDeliveryStatus added in v0.38.0

func NewDestinationFromDeliveryStatus(status DeliveryStatus) duckv1.Destination

Types

type BackoffPolicyType

type BackoffPolicyType string

BackoffPolicyType is the type for backoff policies

const (
	// Linear backoff policy
	BackoffPolicyLinear BackoffPolicyType = "linear"

	// Exponential backoff policy
	BackoffPolicyExponential BackoffPolicyType = "exponential"
)

type Channelable

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

	// Spec is the part where the Channelable fulfills the Subscribable contract.
	Spec ChannelableSpec `json:"spec,omitempty"`

	Status ChannelableStatus `json:"status,omitempty"`
}

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

func (*Channelable) DeepCopy

func (in *Channelable) DeepCopy() *Channelable

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

func (*Channelable) DeepCopyInto

func (in *Channelable) DeepCopyInto(out *Channelable)

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

func (*Channelable) DeepCopyObject

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

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

func (*Channelable) GetFullType

func (s *Channelable) GetFullType() duck.Populatable

GetFullType implements duck.Implementable

func (*Channelable) GetListType

func (c *Channelable) GetListType() runtime.Object

GetListType implements apis.Listable

func (*Channelable) Populate

func (c *Channelable) Populate()

Populate implements duck.Populatable

type ChannelableList

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

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

ChannelableList is a list of Channelable resources.

func (*ChannelableList) DeepCopy

func (in *ChannelableList) DeepCopy() *ChannelableList

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

func (*ChannelableList) DeepCopyInto

func (in *ChannelableList) DeepCopyInto(out *ChannelableList)

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

func (*ChannelableList) DeepCopyObject

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

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

type ChannelableSpec

type ChannelableSpec struct {
	SubscribableSpec `json:",inline"`

	// DeliverySpec contains the default delivery spec for each subscription
	// to this Channelable. Each subscription delivery spec, if any, overrides this
	// global delivery spec.
	// +optional
	Delivery *DeliverySpec `json:"delivery,omitempty"`
}

ChannelableSpec contains Spec of the Channelable object

func (*ChannelableSpec) DeepCopy

func (in *ChannelableSpec) DeepCopy() *ChannelableSpec

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

func (*ChannelableSpec) DeepCopyInto

func (in *ChannelableSpec) DeepCopyInto(out *ChannelableSpec)

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

type ChannelableStatus

type ChannelableStatus struct {
	// inherits duck/v1 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.
	duckv1.Status `json:",inline"`
	// AddressStatus is the part where the Channelable fulfills the Addressable contract.
	// +optional
	duckv1.AddressStatus `json:",inline"`
	// Subscribers is populated with the statuses of each of the Channelable's subscribers.
	SubscribableStatus `json:",inline"`
	// DeliveryStatus contains a resolved URL to the dead letter sink address, and any other
	// resolved delivery options.
	// +optional
	DeliveryStatus `json:",inline"`
}

ChannelableStatus contains the Status of a Channelable object.

func (*ChannelableStatus) DeepCopy

func (in *ChannelableStatus) DeepCopy() *ChannelableStatus

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

func (*ChannelableStatus) DeepCopyInto

func (in *ChannelableStatus) DeepCopyInto(out *ChannelableStatus)

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

type DeliverySpec

type DeliverySpec struct {
	// DeadLetterSink is the sink receiving event that could not be sent to
	// a destination.
	// +optional
	DeadLetterSink *duckv1.Destination `json:"deadLetterSink,omitempty"`

	// Retry is the minimum number of retries the sender should attempt when
	// sending an event before moving it to the dead letter sink.
	// +optional
	Retry *int32 `json:"retry,omitempty"`

	// Timeout is the timeout of each single request. The value must be greater than 0.
	// More information on Duration format:
	//  - https://www.iso.org/iso-8601-date-and-time-format.html
	//  - https://en.wikipedia.org/wiki/ISO_8601
	//
	// Note: This API is EXPERIMENTAL and might break anytime. For more details: https://github.com/knative/eventing/issues/5148
	// +optional
	Timeout *string `json:"timeout,omitempty"`

	// BackoffPolicy is the retry backoff policy (linear, exponential).
	// +optional
	BackoffPolicy *BackoffPolicyType `json:"backoffPolicy,omitempty"`

	// BackoffDelay is the delay before retrying.
	// More information on Duration format:
	//  - https://www.iso.org/iso-8601-date-and-time-format.html
	//  - https://en.wikipedia.org/wiki/ISO_8601
	//
	// For linear policy, backoff delay is backoffDelay*<numberOfRetries>.
	// For exponential policy, backoff delay is backoffDelay*2^<numberOfRetries>.
	// +optional
	BackoffDelay *string `json:"backoffDelay,omitempty"`

	// RetryAfterMax provides an optional upper bound on the duration specified in a "Retry-After" header
	// when calculating backoff times for retrying 429 and 503 response codes.  Setting the value to
	// zero ("PT0S") can be used to opt-out of respecting "Retry-After" header values altogether. This
	// value only takes effect if "Retry" is configured, and also depends on specific implementations
	// (Channels, Sources, etc.) choosing to provide this capability.
	//
	// Note: This API is EXPERIMENTAL and might be changed at anytime. While this experimental
	//       feature is in the Alpha/Beta stage, you must provide a valid value to opt-in for
	//       supporting "Retry-After" headers.  When the feature becomes Stable/GA "Retry-After"
	//       headers will be respected by default, and you can choose to specify "PT0S" to
	//       opt-out of supporting "Retry-After" headers.
	//       For more details: https://github.com/knative/eventing/issues/5811
	//
	// More information on Duration format:
	//  - https://www.iso.org/iso-8601-date-and-time-format.html
	//  - https://en.wikipedia.org/wiki/ISO_8601
	//
	// +optional
	RetryAfterMax *string `json:"retryAfterMax,omitempty"`
}

DeliverySpec contains the delivery options for event senders, such as channelable and source.

func (*DeliverySpec) ConvertFrom

func (sink *DeliverySpec) ConvertFrom(ctx context.Context, source apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*DeliverySpec) ConvertTo

func (source *DeliverySpec) ConvertTo(ctx context.Context, sink apis.Convertible) error

ConvertTo implements apis.Convertible

func (*DeliverySpec) DeepCopy

func (in *DeliverySpec) DeepCopy() *DeliverySpec

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

func (*DeliverySpec) DeepCopyInto

func (in *DeliverySpec) DeepCopyInto(out *DeliverySpec)

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

func (*DeliverySpec) SetDefaults added in v0.25.3

func (ds *DeliverySpec) SetDefaults(ctx context.Context)

func (*DeliverySpec) Validate

func (ds *DeliverySpec) Validate(ctx context.Context) *apis.FieldError

type DeliveryStatus

type DeliveryStatus struct {
	// DeadLetterSink is a KReference that is the reference to the native, platform specific channel
	// where failed events are sent to.
	// +optional
	DeadLetterSinkURI *apis.URL `json:"deadLetterSinkUri,omitempty"`
	// DeadLetterSinkCACerts are Certification Authority (CA) certificates in PEM format
	// according to https://www.rfc-editor.org/rfc/rfc7468.
	// +optional
	DeadLetterSinkCACerts *string `json:"deadLetterSinkCACerts,omitempty"`
}

DeliveryStatus contains the Status of an object supporting delivery options. This type is intended to be embedded into a status struct.

func NewDeliveryStatusFromAddressable added in v0.38.0

func NewDeliveryStatusFromAddressable(addr *duckv1.Addressable) DeliveryStatus

func (*DeliveryStatus) ConvertFrom

func (sink *DeliveryStatus) ConvertFrom(ctx context.Context, source apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*DeliveryStatus) ConvertTo

func (source *DeliveryStatus) ConvertTo(ctx context.Context, sink apis.Convertible) error

ConvertTo implements apis.Convertible

func (*DeliveryStatus) DeepCopy

func (in *DeliveryStatus) DeepCopy() *DeliveryStatus

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

func (*DeliveryStatus) DeepCopyInto

func (in *DeliveryStatus) DeepCopyInto(out *DeliveryStatus)

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

func (*DeliveryStatus) IsSet added in v0.38.0

func (ds *DeliveryStatus) IsSet() bool

type Subscribable

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

	// SubscribableSpec is the part where Subscribable object is
	// configured as to be compatible with Subscribable contract.
	Spec SubscribableSpec `json:"spec"`

	// SubscribableStatus is the part where SubscribableStatus object is
	// configured as to be compatible with Subscribable contract.
	Status SubscribableStatus `json:"status"`
}

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

func (*Subscribable) ConvertFrom

func (sink *Subscribable) ConvertFrom(ctx context.Context, source apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*Subscribable) ConvertTo

func (source *Subscribable) ConvertTo(ctx context.Context, sink apis.Convertible) error

ConvertTo implements apis.Convertible

func (*Subscribable) DeepCopy

func (in *Subscribable) DeepCopy() *Subscribable

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

func (*Subscribable) DeepCopyInto

func (in *Subscribable) DeepCopyInto(out *Subscribable)

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

func (*Subscribable) DeepCopyObject

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

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

func (*Subscribable) GetFullType

func (s *Subscribable) GetFullType() duck.Populatable

GetFullType implements duck.Implementable

func (*Subscribable) GetListType

func (c *Subscribable) GetListType() runtime.Object

GetListType implements apis.Listable

func (*Subscribable) Populate

func (c *Subscribable) Populate()

Populate implements duck.Populatable

type SubscribableList

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

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

SubscribableTypeList is a list of SubscribableType resources

func (*SubscribableList) DeepCopy

func (in *SubscribableList) DeepCopy() *SubscribableList

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

func (*SubscribableList) DeepCopyInto

func (in *SubscribableList) DeepCopyInto(out *SubscribableList)

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

func (*SubscribableList) DeepCopyObject

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

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

type SubscribableSpec

type SubscribableSpec struct {
	// This is the list of subscriptions for this subscribable.
	// +patchMergeKey=uid
	// +patchStrategy=merge
	Subscribers []SubscriberSpec `json:"subscribers,omitempty" patchStrategy:"merge" patchMergeKey:"uid"`
}

SubscribableSpec shows how we expect folks to embed Subscribable in their Spec field.

func (*SubscribableSpec) ConvertFrom

func (sink *SubscribableSpec) ConvertFrom(ctx context.Context, source apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*SubscribableSpec) ConvertTo

func (source *SubscribableSpec) ConvertTo(ctx context.Context, sink apis.Convertible) error

ConvertTo implements apis.Convertible

func (*SubscribableSpec) DeepCopy

func (in *SubscribableSpec) DeepCopy() *SubscribableSpec

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

func (*SubscribableSpec) DeepCopyInto

func (in *SubscribableSpec) DeepCopyInto(out *SubscribableSpec)

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

type SubscribableStatus

type SubscribableStatus struct {
	// This is the list of subscription's statuses for this channel.
	// +patchMergeKey=uid
	// +patchStrategy=merge
	Subscribers []SubscriberStatus `json:"subscribers,omitempty" patchStrategy:"merge" patchMergeKey:"uid"`
}

SubscribableStatus is the schema for the subscribable's status portion of the status section of the resource.

func (*SubscribableStatus) ConvertFrom

func (sink *SubscribableStatus) ConvertFrom(ctx context.Context, source apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*SubscribableStatus) ConvertTo

func (source *SubscribableStatus) ConvertTo(ctx context.Context, sink apis.Convertible) error

ConvertTo implements apis.Convertible

func (*SubscribableStatus) DeepCopy

func (in *SubscribableStatus) DeepCopy() *SubscribableStatus

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

func (*SubscribableStatus) DeepCopyInto

func (in *SubscribableStatus) DeepCopyInto(out *SubscribableStatus)

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

type SubscriberSpec

type SubscriberSpec struct {
	// UID is used to understand the origin of the subscriber.
	// +optional
	UID types.UID `json:"uid,omitempty"`
	// Generation of the origin of the subscriber with uid:UID.
	// +optional
	Generation int64 `json:"generation,omitempty"`
	// SubscriberURI is the endpoint for the subscriber
	// +optional
	SubscriberURI *apis.URL `json:"subscriberUri,omitempty"`
	// SubscriberCACerts is the Certification Authority (CA) certificates in PEM
	// format according to https://www.rfc-editor.org/rfc/rfc7468 for the
	// subscriberUri
	// +optional
	SubscriberCACerts *string `json:"subscriberCACerts,omitempty"`
	// ReplyURI is the endpoint for the reply
	// +optional
	ReplyURI *apis.URL `json:"replyUri,omitempty"`
	// ReplyCACerts is the Certification Authority (CA) certificates in PEM
	// format according to https://www.rfc-editor.org/rfc/rfc7468 for the
	// replyUri.
	// +optional
	ReplyCACerts *string `json:"replyCACerts,omitempty"`
	// +optional
	// DeliverySpec contains options controlling the event delivery
	// +optional
	Delivery *DeliverySpec `json:"delivery,omitempty"`
}

SubscriberSpec defines a single subscriber to a Subscribable.

At least one of SubscriberURI and ReplyURI must be present

func (*SubscriberSpec) ConvertFrom

func (sink *SubscriberSpec) ConvertFrom(ctx context.Context, source apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*SubscriberSpec) ConvertTo

func (source *SubscriberSpec) ConvertTo(ctx context.Context, sink apis.Convertible) error

ConvertTo implements apis.Convertible

func (*SubscriberSpec) DeepCopy

func (in *SubscriberSpec) DeepCopy() *SubscriberSpec

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

func (*SubscriberSpec) DeepCopyInto

func (in *SubscriberSpec) DeepCopyInto(out *SubscriberSpec)

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

type SubscriberStatus

type SubscriberStatus struct {
	// UID is used to understand the origin of the subscriber.
	// +optional
	UID types.UID `json:"uid,omitempty"`
	// Generation of the origin of the subscriber with uid:UID.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
	// Status of the subscriber.
	Ready corev1.ConditionStatus `json:"ready,omitempty"`
	// A human readable message indicating details of Ready status.
	// +optional
	Message string `json:"message,omitempty"`
}

SubscriberStatus defines the status of a single subscriber to a Channel.

func (*SubscriberStatus) ConvertFrom

func (sink *SubscriberStatus) ConvertFrom(ctx context.Context, source apis.Convertible) error

ConvertFrom implements apis.Convertible

func (*SubscriberStatus) ConvertTo

func (source *SubscriberStatus) ConvertTo(ctx context.Context, sink apis.Convertible) error

ConvertTo implements apis.Convertible

func (*SubscriberStatus) DeepCopy

func (in *SubscriberStatus) DeepCopy() *SubscriberStatus

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

func (*SubscriberStatus) DeepCopyInto

func (in *SubscriberStatus) DeepCopyInto(out *SubscriberStatus)

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

Jump to

Keyboard shortcuts

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