v1beta1

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Nov 22, 2022 License: MPL-2.0 Imports: 13 Imported by: 6

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

no validation logic on delete

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

no validation on delete

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

no validation on delete

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

no validation on delete

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

no validation on delete

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

no validation on delete

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

no validation on delete

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

no validation on delete

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