v1beta1

package
v1.10.1 Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2023 License: MPL-2.0 Imports: 12 Imported by: 2

Documentation

Overview

Package v1beta1 contains API Schema definitions for the rabbitmq.com v1beta1 API group +kubebuilder:object:generate=true +groupName=rabbitmq.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "rabbitmq.com", Version: "v1beta1"}

	// SchemeGroupVersion is group version used to register these objects
	// added for generated clientset
	SchemeGroupVersion = GroupVersion

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns back a Group qualified GroupKind added for generated clientset

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource added for generated clientset

Types

type Binding

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

	Spec   BindingSpec   `json:"spec,omitempty"`
	Status BindingStatus `json:"status,omitempty"`
}

Binding is the Schema for the bindings API

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) GroupResource

func (b *Binding) GroupResource() schema.GroupResource

func (*Binding) RabbitReference

func (b *Binding) RabbitReference() RabbitmqClusterReference

func (*Binding) SetStatusConditions

func (b *Binding) SetStatusConditions(c []Condition)

func (*Binding) SetupWebhookWithManager

func (b *Binding) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Binding) ValidateCreate

func (b *Binding) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type either rabbitmqClusterReference.name or rabbitmqClusterReference.connectionSecret must be provided but not both

func (*Binding) ValidateDelete

func (b *Binding) ValidateDelete() error

func (*Binding) ValidateUpdate

func (b *Binding) ValidateUpdate(old runtime.Object) error

ValidateUpdate updates on vhost and rabbitmqClusterReference are forbidden

type BindingList

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

BindingList contains a list of Binding

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 {
	// Default to vhost '/'; cannot be updated
	// +kubebuilder:default:=/
	Vhost string `json:"vhost,omitempty"`
	// Cannot be updated
	// +kubebuilder:validation:Optional
	Source string `json:"source,omitempty"`
	// Cannot be updated
	// +kubebuilder:validation:Optional
	Destination string `json:"destination,omitempty"`
	// Cannot be updated
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=exchange;queue
	DestinationType string `json:"destinationType,omitempty"`
	// Cannot be updated
	// +kubebuilder:validation:Optional
	RoutingKey string `json:"routingKey,omitempty"`
	// Cannot be updated
	// +kubebuilder:validation:Type=object
	// +kubebuilder:pruning:PreserveUnknownFields
	Arguments *runtime.RawExtension `json:"arguments,omitempty"`
	// Reference to the RabbitmqCluster that the binding will be created in.
	// Required property.
	// +kubebuilder:validation:Required
	RabbitmqClusterReference RabbitmqClusterReference `json:"rabbitmqClusterReference"`
}

BindingSpec defines the desired state of Binding

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 BindingStatus

type BindingStatus struct {
	// observedGeneration is the most recent successful generation observed for this Binding. It corresponds to the
	// Binding's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64       `json:"observedGeneration,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty"`
}

BindingStatus defines the observed state of Binding

func (*BindingStatus) DeepCopy

func (in *BindingStatus) DeepCopy() *BindingStatus

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

func (*BindingStatus) DeepCopyInto

func (in *BindingStatus) DeepCopyInto(out *BindingStatus)

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

type Condition

type Condition struct {
	// Type indicates the scope of the custom resource status addressed by the condition.
	Type ConditionType `json:"type"`
	// True, False, or Unknown
	Status corev1.ConditionStatus `json:"status"`
	// The last time this Condition status changed.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// One word, camel-case reason for current status of the condition.
	Reason string `json:"reason,omitempty"`
	// Full text reason for current status of the condition.
	Message string `json:"message,omitempty"`
}

func NotReady

func NotReady(msg string, lastConditions []Condition) Condition

NotReady indicates that the last Create/Update operator on the CR failed.

func Ready

func Ready(lastConditions []Condition) Condition

Ready indicates that the last Create/Update operator on the CR was successful.

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

type ConditionType

type ConditionType string

type Exchange

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

	Spec   ExchangeSpec   `json:"spec,omitempty"`
	Status ExchangeStatus `json:"status,omitempty"`
}

Exchange is the Schema for the exchanges API

func (*Exchange) DeepCopy

func (in *Exchange) DeepCopy() *Exchange

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

func (*Exchange) DeepCopyInto

func (in *Exchange) DeepCopyInto(out *Exchange)

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

func (*Exchange) DeepCopyObject

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

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

func (*Exchange) GroupResource

func (e *Exchange) GroupResource() schema.GroupResource

func (*Exchange) RabbitReference

func (e *Exchange) RabbitReference() RabbitmqClusterReference

func (*Exchange) SetStatusConditions

func (e *Exchange) SetStatusConditions(c []Condition)

func (*Exchange) SetupWebhookWithManager

func (r *Exchange) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Exchange) ValidateCreate

func (e *Exchange) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type either rabbitmqClusterReference.name or rabbitmqClusterReference.connectionSecret must be provided but not both

func (*Exchange) ValidateDelete

func (e *Exchange) ValidateDelete() error

func (*Exchange) ValidateUpdate

func (e *Exchange) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type returns error type 'forbidden' for updates that the controller chooses to disallow: exchange name/vhost/rabbitmqClusterReference returns error type 'invalid' for updates that will be rejected by rabbitmq server: exchange types/autoDelete/durable exchange.spec.arguments can be updated

type ExchangeList

type ExchangeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Exchange `json:"items"`
}

ExchangeList contains a list of Exchange

func (*ExchangeList) DeepCopy

func (in *ExchangeList) DeepCopy() *ExchangeList

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

func (*ExchangeList) DeepCopyInto

func (in *ExchangeList) DeepCopyInto(out *ExchangeList)

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

func (*ExchangeList) DeepCopyObject

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

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

type ExchangeSpec

type ExchangeSpec struct {
	// Required property; cannot be updated
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Default to vhost '/'; cannot be updated
	// +kubebuilder:default:=/
	Vhost string `json:"vhost,omitempty"`
	// Cannot be updated
	// +kubebuilder:default:=direct
	Type string `json:"type,omitempty"`
	// Cannot be updated
	Durable bool `json:"durable,omitempty"`
	// Cannot be updated
	AutoDelete bool `json:"autoDelete,omitempty"`
	// +kubebuilder:validation:Type=object
	// +kubebuilder:pruning:PreserveUnknownFields
	Arguments *runtime.RawExtension `json:"arguments,omitempty"`
	// Reference to the RabbitmqCluster that the exchange will be created in.
	// Required property.
	// +kubebuilder:validation:Required
	RabbitmqClusterReference RabbitmqClusterReference `json:"rabbitmqClusterReference"`
}

ExchangeSpec defines the desired state of Exchange

func (*ExchangeSpec) DeepCopy

func (in *ExchangeSpec) DeepCopy() *ExchangeSpec

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

func (*ExchangeSpec) DeepCopyInto

func (in *ExchangeSpec) DeepCopyInto(out *ExchangeSpec)

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

type ExchangeStatus

type ExchangeStatus struct {
	// observedGeneration is the most recent successful generation observed for this Exchange. It corresponds to the
	// Exchange's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64       `json:"observedGeneration,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty"`
}

ExchangeStatus defines the observed state of Exchange

func (*ExchangeStatus) DeepCopy

func (in *ExchangeStatus) DeepCopy() *ExchangeStatus

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

func (*ExchangeStatus) DeepCopyInto

func (in *ExchangeStatus) DeepCopyInto(out *ExchangeStatus)

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

type Federation

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

	Spec   FederationSpec   `json:"spec,omitempty"`
	Status FederationStatus `json:"status,omitempty"`
}

Federation is the Schema for the federations API

func (*Federation) DeepCopy

func (in *Federation) DeepCopy() *Federation

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

func (*Federation) DeepCopyInto

func (in *Federation) DeepCopyInto(out *Federation)

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

func (*Federation) DeepCopyObject

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

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

func (*Federation) GroupResource

func (f *Federation) GroupResource() schema.GroupResource

func (*Federation) RabbitReference

func (f *Federation) RabbitReference() RabbitmqClusterReference

func (*Federation) SetStatusConditions

func (f *Federation) SetStatusConditions(c []Condition)

func (*Federation) SetupWebhookWithManager

func (f *Federation) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Federation) ValidateCreate

func (f *Federation) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type either rabbitmqClusterReference.name or rabbitmqClusterReference.connectionSecret must be provided but not both

func (*Federation) ValidateDelete

func (f *Federation) ValidateDelete() error

func (*Federation) ValidateUpdate

func (f *Federation) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type FederationList

type FederationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Federation `json:"items"`
}

FederationList contains a list of Federation

func (*FederationList) DeepCopy

func (in *FederationList) DeepCopy() *FederationList

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

func (*FederationList) DeepCopyInto

func (in *FederationList) DeepCopyInto(out *FederationList)

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

func (*FederationList) DeepCopyObject

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

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

type FederationSpec

type FederationSpec struct {
	// Required property; cannot be updated
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Default to vhost '/'; cannot be updated
	// +kubebuilder:default:=/
	Vhost string `json:"vhost,omitempty"`
	// Reference to the RabbitmqCluster that this federation upstream will be created in.
	// Required property.
	// +kubebuilder:validation:Required
	RabbitmqClusterReference RabbitmqClusterReference `json:"rabbitmqClusterReference"`
	// Secret contains the AMQP URI(s) for the upstream.
	// The Secret must contain the key `uri` or operator will error.
	// `uri` should be one or multiple uris separated by ','.
	// Required property.
	// +kubebuilder:validation:Required
	UriSecret     *corev1.LocalObjectReference `json:"uriSecret"`
	PrefetchCount int                          `json:"prefetch-count,omitempty"`
	// +kubebuilder:validation:Enum=on-confirm;on-publish;no-ack
	AckMode        string `json:"ackMode,omitempty"`
	Expires        int    `json:"expires,omitempty"`
	MessageTTL     int    `json:"messageTTL,omitempty"`
	MaxHops        int    `json:"maxHops,omitempty"`
	ReconnectDelay int    `json:"reconnectDelay,omitempty"`
	TrustUserId    bool   `json:"trustUserId,omitempty"`
	Exchange       string `json:"exchange,omitempty"`
	Queue          string `json:"queue,omitempty"`
}

FederationSpec defines the desired state of Federation For how to configure federation upstreams, see: https://www.rabbitmq.com/federation-reference.html.

func (*FederationSpec) DeepCopy

func (in *FederationSpec) DeepCopy() *FederationSpec

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

func (*FederationSpec) DeepCopyInto

func (in *FederationSpec) DeepCopyInto(out *FederationSpec)

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

type FederationStatus

type FederationStatus struct {
	// observedGeneration is the most recent successful generation observed for this Federation. It corresponds to the
	// Federation's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64       `json:"observedGeneration,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty"`
}

FederationStatus defines the observed state of Federation

func (*FederationStatus) DeepCopy

func (in *FederationStatus) DeepCopy() *FederationStatus

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

func (*FederationStatus) DeepCopyInto

func (in *FederationStatus) DeepCopyInto(out *FederationStatus)

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

type Permission

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

	Spec   PermissionSpec   `json:"spec,omitempty"`
	Status PermissionStatus `json:"status,omitempty"`
}

Permission is the Schema for the permissions API

func (*Permission) DeepCopy

func (in *Permission) DeepCopy() *Permission

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

func (*Permission) DeepCopyInto

func (in *Permission) DeepCopyInto(out *Permission)

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

func (*Permission) DeepCopyObject

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

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

func (*Permission) GroupResource

func (p *Permission) GroupResource() schema.GroupResource

func (*Permission) RabbitReference

func (p *Permission) RabbitReference() RabbitmqClusterReference

func (*Permission) SetStatusConditions

func (p *Permission) SetStatusConditions(c []Condition)

func (*Permission) SetupWebhookWithManager

func (p *Permission) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Permission) ValidateCreate

func (p *Permission) ValidateCreate() error

ValidateCreate checks if only one of spec.user and spec.userReference is specified either rabbitmqClusterReference.name or rabbitmqClusterReference.connectionSecret must be provided but not both

func (*Permission) ValidateDelete

func (p *Permission) ValidateDelete() error

ValidateDelete no validation on delete

func (*Permission) ValidateUpdate

func (p *Permission) ValidateUpdate(old runtime.Object) error

ValidateUpdate do not allow updates on spec.vhost, spec.user, spec.userReference, and spec.rabbitmqClusterReference updates on spec.permissions are allowed only one of spec.user and spec.userReference can be specified

type PermissionList

type PermissionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Permission `json:"items"`
}

PermissionList contains a list of Permission

func (*PermissionList) DeepCopy

func (in *PermissionList) DeepCopy() *PermissionList

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

func (*PermissionList) DeepCopyInto

func (in *PermissionList) DeepCopyInto(out *PermissionList)

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

func (*PermissionList) DeepCopyObject

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

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

type PermissionSpec

type PermissionSpec struct {
	// Name of an existing user; must provide user or userReference, else create/update will fail; cannot be updated
	User string `json:"user,omitempty"`
	// Reference to an existing user.rabbitmq.com object; must provide user or userReference, else create/update will fail; cannot be updated
	UserReference *corev1.LocalObjectReference `json:"userReference,omitempty"`
	// Name of an existing vhost; required property; cannot be updated
	// +kubebuilder:validation:Required
	Vhost string `json:"vhost"`
	// Permissions to grant to the user in the specific vhost; required property.
	// See RabbitMQ doc for more information: https://www.rabbitmq.com/access-control.html#user-management
	// +kubebuilder:validation:Required
	Permissions VhostPermissions `json:"permissions"`
	// Reference to the RabbitmqCluster that both the provided user and vhost are.
	// Required property.
	// +kubebuilder:validation:Required
	RabbitmqClusterReference RabbitmqClusterReference `json:"rabbitmqClusterReference"`
}

PermissionSpec defines the desired state of Permission

func (*PermissionSpec) DeepCopy

func (in *PermissionSpec) DeepCopy() *PermissionSpec

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

func (*PermissionSpec) DeepCopyInto

func (in *PermissionSpec) DeepCopyInto(out *PermissionSpec)

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

type PermissionStatus

type PermissionStatus struct {
	// observedGeneration is the most recent successful generation observed for this Permission. It corresponds to the
	// Permission's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64       `json:"observedGeneration,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty"`
}

PermissionStatus defines the observed state of Permission

func (*PermissionStatus) DeepCopy

func (in *PermissionStatus) DeepCopy() *PermissionStatus

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

func (*PermissionStatus) DeepCopyInto

func (in *PermissionStatus) DeepCopyInto(out *PermissionStatus)

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

type Policy

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

	Spec   PolicySpec   `json:"spec,omitempty"`
	Status PolicyStatus `json:"status,omitempty"`
}

Policy is the Schema for the policies API

func (*Policy) DeepCopy

func (in *Policy) DeepCopy() *Policy

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

func (*Policy) DeepCopyInto

func (in *Policy) DeepCopyInto(out *Policy)

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

func (*Policy) DeepCopyObject

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

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

func (*Policy) GroupResource

func (p *Policy) GroupResource() schema.GroupResource

func (*Policy) RabbitReference

func (p *Policy) RabbitReference() RabbitmqClusterReference

func (*Policy) SetStatusConditions

func (p *Policy) SetStatusConditions(c []Condition)

func (*Policy) SetupWebhookWithManager

func (p *Policy) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Policy) ValidateCreate

func (p *Policy) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type either rabbitmqClusterReference.name or rabbitmqClusterReference.connectionSecret must be provided but not both

func (*Policy) ValidateDelete

func (p *Policy) ValidateDelete() error

func (*Policy) ValidateUpdate

func (p *Policy) ValidateUpdate(old runtime.Object) error

ValidateUpdate returns error type 'forbidden' for updates on policy name, vhost and rabbitmqClusterReference

type PolicyList

type PolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Policy `json:"items"`
}

PolicyList contains a list of Policy

func (*PolicyList) DeepCopy

func (in *PolicyList) DeepCopy() *PolicyList

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

func (*PolicyList) DeepCopyInto

func (in *PolicyList) DeepCopyInto(out *PolicyList)

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

func (*PolicyList) DeepCopyObject

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

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

type PolicySpec

type PolicySpec struct {
	// Required property; cannot be updated
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Default to vhost '/'; cannot be updated
	// +kubebuilder:default:=/
	Vhost string `json:"vhost,omitempty"`
	// Regular expression pattern used to match queues and exchanges, e.g. "^amq.".
	// Required property.
	// +kubebuilder:validation:Required
	Pattern string `json:"pattern"`
	// What this policy applies to: 'queues', 'exchanges', or 'all'.
	// Default to 'all'.
	// +kubebuilder:validation:Enum=queues;exchanges;all
	// +kubebuilder:default:=all
	ApplyTo string `json:"applyTo,omitempty"`
	// Default to '0'.
	// In the event that more than one policy can match a given exchange or queue, the policy with the greatest priority applies.
	// +kubebuilder:default:=0
	Priority int `json:"priority,omitempty"`
	// Policy definition. Required property.
	// +kubebuilder:validation:Type=object
	// +kubebuilder:pruning:PreserveUnknownFields
	// +kubebuilder:validation:Required
	Definition *runtime.RawExtension `json:"definition"`
	// Reference to the RabbitmqCluster that the exchange will be created in.
	// Required property.
	// +kubebuilder:validation:Required
	RabbitmqClusterReference RabbitmqClusterReference `json:"rabbitmqClusterReference"`
}

PolicySpec defines the desired state of Policy https://www.rabbitmq.com/parameters.html#policies

func (*PolicySpec) DeepCopy

func (in *PolicySpec) DeepCopy() *PolicySpec

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

func (*PolicySpec) DeepCopyInto

func (in *PolicySpec) DeepCopyInto(out *PolicySpec)

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

type PolicyStatus

type PolicyStatus struct {
	// observedGeneration is the most recent successful generation observed for this Policy. It corresponds to the
	// Policy's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64       `json:"observedGeneration,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty"`
}

PolicyStatus defines the observed state of Policy

func (*PolicyStatus) DeepCopy

func (in *PolicyStatus) DeepCopy() *PolicyStatus

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

func (*PolicyStatus) DeepCopyInto

func (in *PolicyStatus) DeepCopyInto(out *PolicyStatus)

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

type Queue

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

	Spec   QueueSpec   `json:"spec,omitempty"`
	Status QueueStatus `json:"status,omitempty"`
}

Queue is the Schema for the queues API

func (*Queue) DeepCopy

func (in *Queue) DeepCopy() *Queue

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

func (*Queue) DeepCopyInto

func (in *Queue) DeepCopyInto(out *Queue)

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

func (*Queue) DeepCopyObject

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

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

func (*Queue) GroupResource

func (q *Queue) GroupResource() schema.GroupResource

func (*Queue) RabbitReference

func (q *Queue) RabbitReference() RabbitmqClusterReference

func (*Queue) SetStatusConditions

func (q *Queue) SetStatusConditions(c []Condition)

func (*Queue) SetupWebhookWithManager

func (q *Queue) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Queue) ValidateCreate

func (q *Queue) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type either rabbitmqClusterReference.name or rabbitmqClusterReference.connectionSecret must be provided but not both

func (*Queue) ValidateDelete

func (q *Queue) ValidateDelete() error

func (*Queue) ValidateUpdate

func (q *Queue) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type returns error type 'forbidden' for updates that the controller chooses to disallow: queue name/vhost/rabbitmqClusterReference returns error type 'invalid' for updates that will be rejected by rabbitmq server: queue types/autoDelete/durable queue arguments not handled because implementation couldn't change

type QueueList

type QueueList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Queue `json:"items"`
}

QueueList contains a list of Queue

func (*QueueList) DeepCopy

func (in *QueueList) DeepCopy() *QueueList

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

func (*QueueList) DeepCopyInto

func (in *QueueList) DeepCopyInto(out *QueueList)

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

func (*QueueList) DeepCopyObject

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

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

type QueueSpec

type QueueSpec struct {
	// Name of the queue; required property.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Default to vhost '/'
	// +kubebuilder:default:=/
	Vhost string `json:"vhost,omitempty"`
	Type  string `json:"type,omitempty"`
	// When set to false queues does not survive server restart.
	Durable bool `json:"durable,omitempty"`
	// when set to true, queues that have had at least one consumer before are deleted after the last consumer unsubscribes.
	AutoDelete bool `json:"autoDelete,omitempty"`
	// Queue arguments in the format of KEY: VALUE. e.g. x-delivery-limit: 10000.
	// Configuring queues through arguments is not recommended because they cannot be updated once set; we recommend configuring queues through policies instead.
	// +kubebuilder:validation:Type=object
	// +kubebuilder:pruning:PreserveUnknownFields
	Arguments *runtime.RawExtension `json:"arguments,omitempty"`
	// Reference to the RabbitmqCluster that the queue will be created in.
	// Required property.
	// +kubebuilder:validation:Required
	RabbitmqClusterReference RabbitmqClusterReference `json:"rabbitmqClusterReference"`
}

QueueSpec defines the desired state of Queue

func (*QueueSpec) DeepCopy

func (in *QueueSpec) DeepCopy() *QueueSpec

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

func (*QueueSpec) DeepCopyInto

func (in *QueueSpec) DeepCopyInto(out *QueueSpec)

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

type QueueStatus

type QueueStatus struct {
	// observedGeneration is the most recent successful generation observed for this Queue. It corresponds to the
	// Queue's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64       `json:"observedGeneration,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty"`
}

QueueStatus defines the observed state of Queue

func (*QueueStatus) DeepCopy

func (in *QueueStatus) DeepCopy() *QueueStatus

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

func (*QueueStatus) DeepCopyInto

func (in *QueueStatus) DeepCopyInto(out *QueueStatus)

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

type RabbitmqClusterReference

type RabbitmqClusterReference struct {
	// The name of the RabbitMQ cluster to reference.
	// Have to set either name or connectionSecret, but not both.
	// +kubebuilder:validation:Optional
	Name string `json:"name,omitempty"`
	// The namespace of the RabbitMQ cluster to reference.
	// Defaults to the namespace of the requested resource if omitted.
	// +kubebuilder:validation:Optional
	Namespace string `json:"namespace,omitempty"`
	// Secret contains the http management uri for the RabbitMQ cluster.
	// The Secret must contain the key `uri`, `username` and `password` or operator will error.
	// Have to set either name or connectionSecret, but not both.
	// +kubebuilder:validation:Optional
	ConnectionSecret *corev1.LocalObjectReference `json:"connectionSecret,omitempty"`
}

func (*RabbitmqClusterReference) DeepCopy

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

func (*RabbitmqClusterReference) DeepCopyInto

func (in *RabbitmqClusterReference) DeepCopyInto(out *RabbitmqClusterReference)

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

func (*RabbitmqClusterReference) Matches

func (*RabbitmqClusterReference) ValidateOnCreate

func (ref *RabbitmqClusterReference) ValidateOnCreate(groupResource schema.GroupResource, name string) error

ValidateOnCreate validates RabbitmqClusterReference on resources create either rabbitmqClusterReference.name or rabbitmqClusterReference.connectionSecret must be provided but not both; else it errors

type SchemaReplication

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

	Spec   SchemaReplicationSpec   `json:"spec,omitempty"`
	Status SchemaReplicationStatus `json:"status,omitempty"`
}

SchemaReplication is the Schema for the schemareplications API This feature requires Tanzu RabbitMQ with schema replication plugin. For more information, see: https://tanzu.vmware.com/rabbitmq and https://www.rabbitmq.com/definitions-standby.html.

func (*SchemaReplication) DeepCopy

func (in *SchemaReplication) DeepCopy() *SchemaReplication

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

func (*SchemaReplication) DeepCopyInto

func (in *SchemaReplication) DeepCopyInto(out *SchemaReplication)

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

func (*SchemaReplication) DeepCopyObject

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

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

func (*SchemaReplication) GroupResource

func (s *SchemaReplication) GroupResource() schema.GroupResource

func (*SchemaReplication) RabbitReference

func (s *SchemaReplication) RabbitReference() RabbitmqClusterReference

func (*SchemaReplication) SetStatusConditions

func (s *SchemaReplication) SetStatusConditions(c []Condition)

func (*SchemaReplication) SetupWebhookWithManager

func (s *SchemaReplication) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*SchemaReplication) ValidateCreate

func (s *SchemaReplication) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type. either secretBackend.vault.secretPath or upstreamSecret must be provided but not both. either rabbitmqClusterReference.name or rabbitmqClusterReference.connectionSecret must be provided but not both.

func (*SchemaReplication) ValidateDelete

func (s *SchemaReplication) ValidateDelete() error

ValidateDelete no validation on delete

func (*SchemaReplication) ValidateUpdate

func (s *SchemaReplication) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type. either secretBackend.vault.secretPath or upstreamSecret must be provided but not both.

type SchemaReplicationList

type SchemaReplicationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []SchemaReplication `json:"items"`
}

SchemaReplicationList contains a list of SchemaReplication

func (*SchemaReplicationList) DeepCopy

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

func (*SchemaReplicationList) DeepCopyInto

func (in *SchemaReplicationList) DeepCopyInto(out *SchemaReplicationList)

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

func (*SchemaReplicationList) DeepCopyObject

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

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

type SchemaReplicationSpec

type SchemaReplicationSpec struct {
	// Reference to the RabbitmqCluster that schema replication would be set for. Must be an existing cluster.
	// +kubebuilder:validation:Required
	RabbitmqClusterReference RabbitmqClusterReference `json:"rabbitmqClusterReference"`
	// Defines a Secret which contains credentials to be used for schema replication.
	// The Secret must contain the keys `username` and `password` in its Data field, or operator will error.
	// Have to set either secretBackend.vault.secretPath or spec.upstreamSecret, but not both.
	// +kubebuilder:validation:Optional
	UpstreamSecret *corev1.LocalObjectReference `json:"upstreamSecret,omitempty"`
	// endpoints should be one or multiple endpoints separated by ','.
	// Must provide either spec.endpoints or endpoints in spec.upstreamSecret.
	// When endpoints are provided in both spec.endpoints and spec.upstreamSecret, spec.endpoints takes
	// precedence.
	Endpoints string `json:"endpoints,omitempty"`
	// Set to fetch user credentials from K8s external secret stores to be used for schema replication.
	SecretBackend SecretBackend `json:"secretBackend,omitempty"`
}

SchemaReplicationSpec defines the desired state of SchemaReplication

func (*SchemaReplicationSpec) DeepCopy

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

func (*SchemaReplicationSpec) DeepCopyInto

func (in *SchemaReplicationSpec) DeepCopyInto(out *SchemaReplicationSpec)

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

type SchemaReplicationStatus

type SchemaReplicationStatus struct {
	// observedGeneration is the most recent successful generation observed for this Queue. It corresponds to the
	// Queue's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64       `json:"observedGeneration,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty"`
}

SchemaReplicationStatus defines the observed state of SchemaReplication

func (*SchemaReplicationStatus) DeepCopy

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

func (*SchemaReplicationStatus) DeepCopyInto

func (in *SchemaReplicationStatus) DeepCopyInto(out *SchemaReplicationStatus)

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

type SecretBackend

type SecretBackend struct {
	Vault *VaultSpec `json:"vault,omitempty"`
}

SecretBackend configures a single secret backend. Today, only Vault exists as supported secret backend.

func (*SecretBackend) DeepCopy

func (in *SecretBackend) DeepCopy() *SecretBackend

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

func (*SecretBackend) DeepCopyInto

func (in *SecretBackend) DeepCopyInto(out *SecretBackend)

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

type Shovel

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

	Spec   ShovelSpec   `json:"spec,omitempty"`
	Status ShovelStatus `json:"status,omitempty"`
}

Shovel is the Schema for the shovels API

func (*Shovel) DeepCopy

func (in *Shovel) DeepCopy() *Shovel

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

func (*Shovel) DeepCopyInto

func (in *Shovel) DeepCopyInto(out *Shovel)

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

func (*Shovel) DeepCopyObject

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

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

func (*Shovel) GroupResource

func (s *Shovel) GroupResource() schema.GroupResource

func (*Shovel) RabbitReference

func (s *Shovel) RabbitReference() RabbitmqClusterReference

func (*Shovel) SetStatusConditions

func (s *Shovel) SetStatusConditions(c []Condition)

func (*Shovel) SetupWebhookWithManager

func (s *Shovel) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Shovel) ValidateCreate

func (s *Shovel) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type either rabbitmqClusterReference.name or rabbitmqClusterReference.connectionSecret must be provided but not both

func (*Shovel) ValidateDelete

func (s *Shovel) ValidateDelete() error

func (*Shovel) ValidateUpdate

func (s *Shovel) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ShovelList

type ShovelList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Shovel `json:"items"`
}

ShovelList contains a list of Shovel

func (*ShovelList) DeepCopy

func (in *ShovelList) DeepCopy() *ShovelList

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

func (*ShovelList) DeepCopyInto

func (in *ShovelList) DeepCopyInto(out *ShovelList)

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

func (*ShovelList) DeepCopyObject

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

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

type ShovelSpec

type ShovelSpec struct {
	// Required property; cannot be updated
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Default to vhost '/'; cannot be updated
	// +kubebuilder:default:=/
	Vhost string `json:"vhost,omitempty"`
	// Reference to the RabbitmqCluster that this Shovel will be created in.
	// Required property.
	// +kubebuilder:validation:Required
	RabbitmqClusterReference RabbitmqClusterReference `json:"rabbitmqClusterReference"`
	// Secret contains the AMQP URI(s) to configure Shovel destination and source.
	// The Secret must contain the key `destUri` and `srcUri` or operator will error.
	// Both fields should be one or multiple uris separated by ','.
	// Required property.
	// +kubebuilder:validation:Required
	UriSecret *corev1.LocalObjectReference `json:"uriSecret"`
	// +kubebuilder:validation:Enum=on-confirm;on-publish;no-ack
	AckMode                          string `json:"ackMode,omitempty"`
	AddForwardHeaders                bool   `json:"addForwardHeaders,omitempty"`
	DeleteAfter                      string `json:"deleteAfter,omitempty"`
	DestinationAddForwardHeaders     bool   `json:"destAddForwardHeaders,omitempty"`
	DestinationAddTimestampHeader    bool   `json:"destAddTimestampHeader,omitempty"`
	DestinationAddress               string `json:"destAddress,omitempty"`
	DestinationApplicationProperties string `json:"destApplicationProperties,omitempty"`
	DestinationExchange              string `json:"destExchange,omitempty"`
	DestinationExchangeKey           string `json:"destExchangeKey,omitempty"`
	DestinationProperties            string `json:"destProperties,omitempty"`
	DestinationProtocol              string `json:"destProtocol,omitempty"`
	DestinationPublishProperties     string `json:"destPublishProperties,omitempty"`
	DestinationQueue                 string `json:"destQueue,omitempty"`
	PrefetchCount                    int    `json:"prefetchCount,omitempty"`
	ReconnectDelay                   int    `json:"reconnectDelay,omitempty"`
	SourceAddress                    string `json:"srcAddress,omitempty"`
	SourceDeleteAfter                string `json:"srcDeleteAfter,omitempty"`
	SourceExchange                   string `json:"srcExchange,omitempty"`
	SourceExchangeKey                string `json:"srcExchangeKey,omitempty"`
	SourcePrefetchCount              int    `json:"srcPrefetchCount,omitempty"`
	SourceProtocol                   string `json:"srcProtocol,omitempty"`
	SourceQueue                      string `json:"srcQueue,omitempty"`
}

ShovelSpec defines the desired state of Shovel For how to configure Shovel, see: https://www.rabbitmq.com/shovel.html.

func (*ShovelSpec) DeepCopy

func (in *ShovelSpec) DeepCopy() *ShovelSpec

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

func (*ShovelSpec) DeepCopyInto

func (in *ShovelSpec) DeepCopyInto(out *ShovelSpec)

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

type ShovelStatus

type ShovelStatus struct {
	// observedGeneration is the most recent successful generation observed for this Shovel. It corresponds to the
	// Shovel's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64       `json:"observedGeneration,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty"`
}

ShovelStatus defines the observed state of Shovel

func (*ShovelStatus) DeepCopy

func (in *ShovelStatus) DeepCopy() *ShovelStatus

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

func (*ShovelStatus) DeepCopyInto

func (in *ShovelStatus) DeepCopyInto(out *ShovelStatus)

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

type TopicPermission

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

	Spec   TopicPermissionSpec   `json:"spec,omitempty"`
	Status TopicPermissionStatus `json:"status,omitempty"`
}

TopicPermission is the Schema for the topicpermissions API

func (*TopicPermission) DeepCopy

func (in *TopicPermission) DeepCopy() *TopicPermission

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

func (*TopicPermission) DeepCopyInto

func (in *TopicPermission) DeepCopyInto(out *TopicPermission)

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

func (*TopicPermission) DeepCopyObject

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

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

func (*TopicPermission) GroupResource

func (t *TopicPermission) GroupResource() schema.GroupResource

func (*TopicPermission) RabbitReference

func (t *TopicPermission) RabbitReference() RabbitmqClusterReference

func (*TopicPermission) SetStatusConditions

func (t *TopicPermission) SetStatusConditions(c []Condition)

func (*TopicPermission) SetupWebhookWithManager

func (r *TopicPermission) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*TopicPermission) ValidateCreate

func (p *TopicPermission) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*TopicPermission) ValidateDelete

func (r *TopicPermission) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*TopicPermission) ValidateUpdate

func (p *TopicPermission) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type TopicPermissionConfig

type TopicPermissionConfig struct {
	// Name of a topic exchange; required property; cannot be updated.
	// +kubebuilder:validation:Required
	Exchange string `json:"exchange,omitempty"`
	// +kubebuilder:validation:Optional
	Read string `json:"read,omitempty"`
	// +kubebuilder:validation:Optional
	Write string `json:"write,omitempty"`
}

func (*TopicPermissionConfig) DeepCopy

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

func (*TopicPermissionConfig) DeepCopyInto

func (in *TopicPermissionConfig) DeepCopyInto(out *TopicPermissionConfig)

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

type TopicPermissionList

type TopicPermissionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TopicPermission `json:"items"`
}

TopicPermissionList contains a list of TopicPermission

func (*TopicPermissionList) DeepCopy

func (in *TopicPermissionList) DeepCopy() *TopicPermissionList

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

func (*TopicPermissionList) DeepCopyInto

func (in *TopicPermissionList) DeepCopyInto(out *TopicPermissionList)

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

func (*TopicPermissionList) DeepCopyObject

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

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

type TopicPermissionSpec

type TopicPermissionSpec struct {
	// Name of an existing user; must provide user or userReference, else create/update will fail; cannot be updated.
	User string `json:"user,omitempty"`
	// Reference to an existing user.rabbitmq.com object; must provide user or userReference, else create/update will fail; cannot be updated.
	UserReference *corev1.LocalObjectReference `json:"userReference,omitempty"`
	// Name of an existing vhost; required property; cannot be updated.
	// +kubebuilder:validation:Required
	Vhost string `json:"vhost"`
	// Permissions to grant to the user to a topic exchange; required property.
	// +kubebuilder:validation:Required
	Permissions TopicPermissionConfig `json:"permissions"`
	// Reference to the RabbitmqCluster that both the provided user and vhost are.
	// Required property.
	// +kubebuilder:validation:Required
	RabbitmqClusterReference RabbitmqClusterReference `json:"rabbitmqClusterReference"`
}

TopicPermissionSpec defines the desired state of TopicPermission

func (*TopicPermissionSpec) DeepCopy

func (in *TopicPermissionSpec) DeepCopy() *TopicPermissionSpec

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

func (*TopicPermissionSpec) DeepCopyInto

func (in *TopicPermissionSpec) DeepCopyInto(out *TopicPermissionSpec)

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

type TopicPermissionStatus

type TopicPermissionStatus struct {
	// observedGeneration is the most recent successful generation observed for this TopicPermission. It corresponds to the
	// TopicPermission's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64       `json:"observedGeneration,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty"`
}

TopicPermissionStatus defines the observed state of TopicPermission

func (*TopicPermissionStatus) DeepCopy

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

func (*TopicPermissionStatus) DeepCopyInto

func (in *TopicPermissionStatus) DeepCopyInto(out *TopicPermissionStatus)

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

type TopologyResource

type TopologyResource interface {
	client.Object
	RabbitReference() RabbitmqClusterReference
	SetStatusConditions([]Condition)
}

+k8s:deepcopy-gen=false

type User

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

	// Spec configures the desired state of the User object.
	Spec UserSpec `json:"spec,omitempty"`
	// Status exposes the observed state of the User object.
	Status UserStatus `json:"status,omitempty"`
}

User is the Schema for the users API. +kubebuilder:subresource:status

func (*User) DeepCopy

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

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

func (*User) DeepCopyObject

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

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

func (*User) GroupResource

func (u *User) GroupResource() schema.GroupResource

func (*User) RabbitReference

func (u *User) RabbitReference() RabbitmqClusterReference

func (*User) SetStatusConditions

func (u *User) SetStatusConditions(c []Condition)

func (*User) SetupWebhookWithManager

func (u *User) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*User) ValidateCreate

func (u *User) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type either rabbitmqClusterReference.name or rabbitmqClusterReference.connectionSecret must be provided but not both

func (*User) ValidateDelete

func (u *User) ValidateDelete() error

func (*User) ValidateUpdate

func (u *User) ValidateUpdate(old runtime.Object) error

ValidateUpdate returns error type 'forbidden' for updates on rabbitmqClusterReference user.spec.tags can be updated

type UserList

type UserList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []User `json:"items"`
}

UserList contains a list of Users.

func (*UserList) DeepCopy

func (in *UserList) DeepCopy() *UserList

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

func (*UserList) DeepCopyInto

func (in *UserList) DeepCopyInto(out *UserList)

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

func (*UserList) DeepCopyObject

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

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

type UserSpec

type UserSpec struct {
	// List of permissions tags to associate with the user. This determines the level of
	// access to the RabbitMQ management UI granted to the user. Omitting this field will
	// lead to a user than can still connect to the cluster through messaging protocols,
	// but cannot perform any management actions.
	// For more information, see https://www.rabbitmq.com/management.html#permissions.
	Tags []UserTag `json:"tags,omitempty"`
	// Reference to the RabbitmqCluster that the user will be created for. This cluster must
	// exist for the User object to be created.
	// +kubebuilder:validation:Required
	RabbitmqClusterReference RabbitmqClusterReference `json:"rabbitmqClusterReference"`
	// Defines a Secret used to pre-define the username and password set for this User. User objects created
	// with this field set will not have randomly-generated credentials, and will instead import
	// the username/password values from this Secret.
	// The Secret must contain the keys `username` and `password` in its Data field, or the import will fail.
	// Note that this import only occurs at creation time, and is ignored once a password has been set
	// on a User.
	ImportCredentialsSecret *corev1.LocalObjectReference `json:"importCredentialsSecret,omitempty"`
}

UserSpec defines the desired state of User.

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

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

type UserStatus

type UserStatus struct {
	// observedGeneration is the most recent successful generation observed for this User. It corresponds to the
	// User's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64       `json:"observedGeneration,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty"`
	// Provides a reference to a Secret object containing the user credentials.
	Credentials *corev1.LocalObjectReference `json:"credentials,omitempty"`
	// Provide rabbitmq Username
	Username string `json:"username"`
}

UserStatus defines the observed state of User.

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

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

func (*UserStatus) DeepCopyInto

func (in *UserStatus) DeepCopyInto(out *UserStatus)

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

type UserTag

type UserTag string

UserTag defines the level of access to the management UI allocated to the user. For more information, see https://www.rabbitmq.com/management.html#permissions. +kubebuilder:validation:Enum=management;policymaker;monitoring;administrator

type VaultSpec

type VaultSpec struct {
	// Path in Vault to access a KV (Key-Value) secret with the fields username and password to be used for replication.
	// For example "secret/data/rabbitmq/config".
	// Optional; if not provided, username and password will come from upstreamSecret instead.
	// Have to set either secretBackend.vault.secretPath or upstreamSecret, but not both.
	SecretPath string `json:"secretPath,omitempty"`
}

func (*VaultSpec) DeepCopy

func (in *VaultSpec) DeepCopy() *VaultSpec

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

func (*VaultSpec) DeepCopyInto

func (in *VaultSpec) DeepCopyInto(out *VaultSpec)

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

type Vhost

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

	Spec   VhostSpec   `json:"spec,omitempty"`
	Status VhostStatus `json:"status,omitempty"`
}

Vhost is the Schema for the vhosts API

func (*Vhost) DeepCopy

func (in *Vhost) DeepCopy() *Vhost

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

func (*Vhost) DeepCopyInto

func (in *Vhost) DeepCopyInto(out *Vhost)

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

func (*Vhost) DeepCopyObject

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

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

func (*Vhost) GroupResource

func (v *Vhost) GroupResource() schema.GroupResource

func (*Vhost) RabbitReference

func (v *Vhost) RabbitReference() RabbitmqClusterReference

func (*Vhost) SetStatusConditions

func (v *Vhost) SetStatusConditions(c []Condition)

func (*Vhost) SetupWebhookWithManager

func (r *Vhost) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Vhost) ValidateCreate

func (v *Vhost) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type either rabbitmqClusterReference.name or rabbitmqClusterReference.connectionSecret must be provided but not both

func (*Vhost) ValidateDelete

func (v *Vhost) ValidateDelete() error

func (*Vhost) ValidateUpdate

func (v *Vhost) ValidateUpdate(old runtime.Object) error

ValidateUpdate returns error type 'forbidden' for updates on vhost name and rabbitmqClusterReference vhost.spec.tracing can be updated

type VhostList

type VhostList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Vhost `json:"items"`
}

VhostList contains a list of Vhost

func (*VhostList) DeepCopy

func (in *VhostList) DeepCopy() *VhostList

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

func (*VhostList) DeepCopyInto

func (in *VhostList) DeepCopyInto(out *VhostList)

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

func (*VhostList) DeepCopyObject

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

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

type VhostPermissions

type VhostPermissions struct {
	// +kubebuilder:validation:Optional
	Configure string `json:"configure,omitempty"`
	// +kubebuilder:validation:Optional
	Write string `json:"write,omitempty"`
	// +kubebuilder:validation:Optional
	Read string `json:"read,omitempty"`
}

Set of RabbitMQ permissions: configure, read and write. By not setting a property (configure/write/read), it result in an empty string which does not not match any permission.

func (*VhostPermissions) DeepCopy

func (in *VhostPermissions) DeepCopy() *VhostPermissions

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

func (*VhostPermissions) DeepCopyInto

func (in *VhostPermissions) DeepCopyInto(out *VhostPermissions)

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

type VhostSpec

type VhostSpec struct {
	// Name of the vhost; see https://www.rabbitmq.com/vhosts.html.
	// +kubebuilder:validation:Required
	Name    string   `json:"name"`
	Tracing bool     `json:"tracing,omitempty"`
	Tags    []string `json:"tags,omitempty"`
	// Reference to the RabbitmqCluster that the vhost will be created in.
	// Required property.
	// +kubebuilder:validation:Required
	RabbitmqClusterReference RabbitmqClusterReference `json:"rabbitmqClusterReference"`
}

VhostSpec defines the desired state of Vhost

func (*VhostSpec) DeepCopy

func (in *VhostSpec) DeepCopy() *VhostSpec

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

func (*VhostSpec) DeepCopyInto

func (in *VhostSpec) DeepCopyInto(out *VhostSpec)

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

type VhostStatus

type VhostStatus struct {
	// observedGeneration is the most recent successful generation observed for this Vhost. It corresponds to the
	// Vhost's generation, which is updated on mutation by the API Server.
	ObservedGeneration int64       `json:"observedGeneration,omitempty"`
	Conditions         []Condition `json:"conditions,omitempty"`
}

VhostStatus defines the observed state of Vhost

func (*VhostStatus) DeepCopy

func (in *VhostStatus) DeepCopy() *VhostStatus

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

func (*VhostStatus) DeepCopyInto

func (in *VhostStatus) DeepCopyInto(out *VhostStatus)

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