v1beta1

package
v0.6.1-0...-942b7e9 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2026 License: Apache-2.0 Imports: 19 Imported by: 1

Documentation

Overview

Package v1beta1 contains API Schema definitions for the watcher v1beta1 API group +kubebuilder:object:generate=true +groupName=watcher.openstack.org

Index

Constants

View Source
const (
	WatcherAPIContainerImage            = "quay.io/podified-master-centos9/openstack-watcher-api:current-podified"
	WatcherDecisionEngineContainerImage = "quay.io/podified-master-centos9/openstack-watcher-decision-engine:current-podified"
	WatcherApplierContainerImage        = "quay.io/podified-master-centos9/openstack-watcher-applier:current-podified"
	APITimeoutDefault                   = 60
)

Container image fall-back defaults

View Source
const (
	// WatcherRabbitMQTransportURLReadyCondition -
	WatcherRabbitMQTransportURLReadyCondition condition.Type = "WatcherRabbitMQTransportURLReady"
	// WatcherNotificationTransportURLReadyCondition indicates whether the Watcher notification transport URL is ready
	WatcherNotificationTransportURLReadyCondition condition.Type = "WatcherNotificationTransportURLReady"
	// WatcherAPIReadyCondition -
	WatcherAPIReadyCondition condition.Type = "WatcherAPIReady"
	// WatcherApplierReadyCondition -
	WatcherApplierReadyCondition condition.Type = "WatcherApplierReady"
	// WatcherDecisionEngineReadyCondition -
	WatcherDecisionEngineReadyCondition condition.Type = "WatcherDecisionEngineReady"
)
View Source
const (
	// WatcherRabbitMQTransportURLReadyRunningMessage -
	WatcherRabbitMQTransportURLReadyRunningMessage = "WatcherRabbitMQTransportURL creation in progress"
	// WatcherRabbitMQTransportURLReadyMessage -
	WatcherRabbitMQTransportURLReadyMessage = "WatcherRabbitMQTransportURL successfully created"
	// WatcherRabbitMQTransportURLReadyErrorMessage -
	WatcherRabbitMQTransportURLReadyErrorMessage = "WatcherRabbitMQTransportURL error occured %s"
	// WatcherNotificationTransportURLReadyRunningMessage -
	WatcherNotificationTransportURLReadyRunningMessage = "WatcherNotificationTransportURL creation in progress"
	// WatcherNotificationTransportURLReadyMessage -
	WatcherNotificationTransportURLReadyMessage = "WatcherNotificationTransportURL successfully created"
	// WatcherNotificationTransportURLReadyErrorMessage -
	WatcherNotificationTransportURLReadyErrorMessage = "WatcherNotificationTransportURL error occured %s"
	// WatcherAPIReadyInitMessage -
	WatcherAPIReadyInitMessage = "WatcherAPI creation not started"
	// WatcherAPIReadyRunningMessage -
	WatcherAPIReadyRunningMessage = "WatcherAPI creation in progress"
	// WatcherAPIReadyMessage -
	WatcherAPIReadyMessage = "WatcherAPI successfully created"
	// WatcherAPIReadyErrorMessage -
	WatcherAPIReadyErrorMessage = "WatcherAPI error occured %s"
	// WatcherPrometheusSecretErrorMessage -
	WatcherPrometheusSecretErrorMessage = "Error with prometheus config secret"
	// WatcherApplicationCredentialSecretErrorMessage -
	WatcherApplicationCredentialSecretErrorMessage = "Error with application credential secret"
	// WatcherApplierReadyInitMessage -
	WatcherApplierReadyInitMessage = "WatcherApplier creation not started"
	// WatcherApplierReadyRunningMessage -
	WatcherApplierReadyRunningMessage = "WatcherApplier creation in progress"
	// WatcherApplierReadyMessage -
	WatcherApplierReadyMessage = "WatcherApplier successfully created"
	// WatcherApplierReadyErrorMessage -
	WatcherApplierReadyErrorMessage = "WatcherApplier error occured %s"
	// WatcherDecisionEngineReadyInitMessage -
	WatcherDecisionEngineReadyInitMessage = "WatcherDecisionEngine creation not started"
	// WatcherDecisionEngineReadyRunningMessage -
	WatcherDecisionEngineReadyRunningMessage = "WatcherDecisionEngine creation in progress"
	// WatcherDecisionEngineReadyMessage -
	WatcherDecisionEngineReadyMessage = "WatcherDecisionEngine successfully created"
	// WatcherDecisionEngineReadyErrorMessage -
	WatcherDecisionEngineReadyErrorMessage = "WatcherDecisionEngine error occured %s"
)
View Source
const (
	// DbSyncHash hash
	DbSyncHash = "dbsync"
)

Variables

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

	// 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 SetupDefaults

func SetupDefaults()

SetupDefaults initializes any CRD field defaults based on environment variables (the defaulting mechanism itself is implemented via webhooks)

func SetupWatcherDefaults

func SetupWatcherDefaults(defaults WatcherDefaults)

SetupWatcherDefaults initializes the Watcher defaults for the webhook

Types

type APIOverrideSpec

type APIOverrideSpec struct {
	// Override configuration for the Service created to serve traffic to
	// the cluster.
	// The key must be the endpoint type (public, internal)
	Service map[service.Endpoint]service.RoutedOverrideSpec `json:"service,omitempty"`
}

APIOverrideSpec to override the generated manifest of several child resources.

func (*APIOverrideSpec) DeepCopy

func (in *APIOverrideSpec) DeepCopy() *APIOverrideSpec

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

func (*APIOverrideSpec) DeepCopyInto

func (in *APIOverrideSpec) DeepCopyInto(out *APIOverrideSpec)

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

type AuthSpec

type AuthSpec struct {
	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// ApplicationCredentialSecret - Secret containing Application Credential ID and Secret
	ApplicationCredentialSecret string `json:"applicationCredentialSecret,omitempty"`
}

AuthSpec defines authentication parameters

func (*AuthSpec) DeepCopy

func (in *AuthSpec) DeepCopy() *AuthSpec

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

func (*AuthSpec) DeepCopyInto

func (in *AuthSpec) DeepCopyInto(out *AuthSpec)

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

type PasswordSelector

type PasswordSelector struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="WatcherPassword"
	// Service - Selector to get the watcher service user password from the Secret
	Service *string `json:"service"`
}

PasswordSelector to identify the DB and AdminUser password from the Secret

func (*PasswordSelector) DeepCopy

func (in *PasswordSelector) DeepCopy() *PasswordSelector

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

func (*PasswordSelector) DeepCopyInto

func (in *PasswordSelector) DeepCopyInto(out *PasswordSelector)

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

type Watcher

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

	Spec   WatcherSpec   `json:"spec,omitempty"`
	Status WatcherStatus `json:"status,omitempty"`
}

Watcher is the Schema for the watchers API

func (*Watcher) DeepCopy

func (in *Watcher) DeepCopy() *Watcher

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

func (*Watcher) DeepCopyInto

func (in *Watcher) DeepCopyInto(out *Watcher)

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

func (*Watcher) DeepCopyObject

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

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

func (*Watcher) Default

func (r *Watcher) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Watcher) IsReady

func (instance *Watcher) IsReady() bool

IsReady returns true if the ReadyCondition is true

func (Watcher) RbacConditionsSet

func (instance Watcher) RbacConditionsSet(c *condition.Condition)

RbacConditionsSet - set the conditions for the rbac object

func (Watcher) RbacNamespace

func (instance Watcher) RbacNamespace() string

RbacNamespace - return the namespace

func (Watcher) RbacResourceName

func (instance Watcher) RbacResourceName() string

RbacResourceName - return the name to be used for rbac objects (serviceaccount, role, rolebinding)

func (*Watcher) ValidateCreate

func (r *Watcher) ValidateCreate() (admission.Warnings, error)

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

func (*Watcher) ValidateDelete

func (r *Watcher) ValidateDelete() (admission.Warnings, error)

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

func (*Watcher) ValidateUpdate

func (r *Watcher) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type WatcherAPI

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

	Spec   WatcherAPISpec   `json:"spec,omitempty"`
	Status WatcherAPIStatus `json:"status,omitempty"`
}

WatcherAPI is the Schema for the watcherapis API

func (*WatcherAPI) DeepCopy

func (in *WatcherAPI) DeepCopy() *WatcherAPI

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

func (*WatcherAPI) DeepCopyInto

func (in *WatcherAPI) DeepCopyInto(out *WatcherAPI)

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

func (*WatcherAPI) DeepCopyObject

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

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

func (*WatcherAPI) Default

func (r *WatcherAPI) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*WatcherAPI) GetLastAppliedTopology

func (instance *WatcherAPI) GetLastAppliedTopology() *topologyv1.TopoRef

GetLastAppliedTopology - Returns the LastAppliedTopology Set in the Status

func (*WatcherAPI) GetSpecTopologyRef

func (instance *WatcherAPI) GetSpecTopologyRef() *topologyv1.TopoRef

GetSpecTopologyRef - Returns the TopologyRef defined in the Spec

func (*WatcherAPI) IsReady

func (instance *WatcherAPI) IsReady() bool

IsReady returns true if the ReadyCondition is true

func (*WatcherAPI) SetLastAppliedTopology

func (instance *WatcherAPI) SetLastAppliedTopology(topologyRef *topologyv1.TopoRef)

SetLastAppliedTopology - Sets the LastAppliedTopology value in the Status

func (*WatcherAPI) ValidateCreate

func (r *WatcherAPI) ValidateCreate() (admission.Warnings, error)

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

func (*WatcherAPI) ValidateDelete

func (r *WatcherAPI) ValidateDelete() (admission.Warnings, error)

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

func (*WatcherAPI) ValidateUpdate

func (r *WatcherAPI) ValidateUpdate(runtime.Object) (admission.Warnings, error)

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

type WatcherAPIList

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

WatcherAPIList contains a list of WatcherAPI

func (*WatcherAPIList) DeepCopy

func (in *WatcherAPIList) DeepCopy() *WatcherAPIList

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

func (*WatcherAPIList) DeepCopyInto

func (in *WatcherAPIList) DeepCopyInto(out *WatcherAPIList)

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

func (*WatcherAPIList) DeepCopyObject

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

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

type WatcherAPISpec

type WatcherAPISpec struct {
	WatcherCommon `json:",inline"`

	// +kubebuilder:validation:Required
	// Secret containing all passwords / keys needed
	Secret string `json:"secret"`

	WatcherSubCrsCommon `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Maximum=32
	// +kubebuilder:validation:Minimum=0
	// Replicas of Watcher service to run
	Replicas *int32 `json:"replicas"`

	// +kubebuilder:validation:Optional
	// Override, provides the ability to override the generated manifest of
	// several child resources.
	Override APIOverrideSpec `json:"override,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// TLS - Parameters related to the TLS
	TLS tls.API `json:"tls,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=60
	// +kubebuilder:validation:Minimum=10
	// APITimeout for Route and Apache
	APITimeout int `json:"apiTimeout"`
}

WatcherAPISpec defines the desired state of WatcherAPI

func (*WatcherAPISpec) DeepCopy

func (in *WatcherAPISpec) DeepCopy() *WatcherAPISpec

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

func (*WatcherAPISpec) DeepCopyInto

func (in *WatcherAPISpec) DeepCopyInto(out *WatcherAPISpec)

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

type WatcherAPIStatus

type WatcherAPIStatus struct {
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// ObservedGeneration - the most recent generation observed for this
	// service. If the observed generation is less than the spec generation,
	// then the controller has not processed the latest changes injected by
	// the openstack-operator in the top-level CR (e.g. the ContainerImage)
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// ReadyCount of watcher API instances
	ReadyCount int32 `json:"readyCount,omitempty"`

	// Map of hashes to track e.g. job status
	Hash map[string]string `json:"hash,omitempty"`

	// LastAppliedTopology - the last applied Topology
	LastAppliedTopology *topologyv1.TopoRef `json:"lastAppliedTopology,omitempty"`
}

WatcherAPIStatus defines the observed state of WatcherAPI

func (*WatcherAPIStatus) DeepCopy

func (in *WatcherAPIStatus) DeepCopy() *WatcherAPIStatus

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

func (*WatcherAPIStatus) DeepCopyInto

func (in *WatcherAPIStatus) DeepCopyInto(out *WatcherAPIStatus)

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

type WatcherAPITemplate

type WatcherAPITemplate struct {
	WatcherSubCrsTemplate `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Maximum=32
	// +kubebuilder:validation:Minimum=0
	// Replicas of WatcherAPI service to run
	Replicas *int32 `json:"replicas"`

	// +kubebuilder:validation:Optional
	// Override, provides the ability to override the generated manifest of
	// several child resources.
	Override APIOverrideSpec `json:"override,omitempty"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// TLS - Parameters related to the TLS
	TLS tls.API `json:"tls,omitempty"`
}

WatcherAPITemplate defines the input parameters specified by the user to create a WatcherAPI via higher level CRDs.

func (*WatcherAPITemplate) DeepCopy

func (in *WatcherAPITemplate) DeepCopy() *WatcherAPITemplate

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

func (*WatcherAPITemplate) DeepCopyInto

func (in *WatcherAPITemplate) DeepCopyInto(out *WatcherAPITemplate)

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

func (*WatcherAPITemplate) ValidateTopology

func (r *WatcherAPITemplate) ValidateTopology(
	basePath *field.Path,
	namespace string,
) field.ErrorList

ValidateTopology validates the referenced TopoRef.Namespace.

type WatcherApplier

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

	Spec   WatcherApplierSpec   `json:"spec,omitempty"`
	Status WatcherApplierStatus `json:"status,omitempty"`
}

WatcherApplier is the Schema for the watcherappliers API

func (*WatcherApplier) DeepCopy

func (in *WatcherApplier) DeepCopy() *WatcherApplier

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

func (*WatcherApplier) DeepCopyInto

func (in *WatcherApplier) DeepCopyInto(out *WatcherApplier)

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

func (*WatcherApplier) DeepCopyObject

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

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

func (*WatcherApplier) Default

func (r *WatcherApplier) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*WatcherApplier) GetLastAppliedTopology

func (instance *WatcherApplier) GetLastAppliedTopology() *topologyv1.TopoRef

GetLastAppliedTopology - Returns the LastAppliedTopology Set in the Status

func (*WatcherApplier) GetSpecTopologyRef

func (instance *WatcherApplier) GetSpecTopologyRef() *topologyv1.TopoRef

GetSpecTopologyRef - Returns the TopologyRef defined in the Spec

func (*WatcherApplier) IsReady

func (instance *WatcherApplier) IsReady() bool

IsReady returns true if the ReadyCondition is true

func (*WatcherApplier) SetLastAppliedTopology

func (instance *WatcherApplier) SetLastAppliedTopology(topologyRef *topologyv1.TopoRef)

SetLastAppliedTopology - Sets the LastAppliedTopology value in the Status

func (*WatcherApplier) ValidateCreate

func (r *WatcherApplier) ValidateCreate() (admission.Warnings, error)

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

func (*WatcherApplier) ValidateDelete

func (r *WatcherApplier) ValidateDelete() (admission.Warnings, error)

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

func (*WatcherApplier) ValidateUpdate

func (r *WatcherApplier) ValidateUpdate(runtime.Object) (admission.Warnings, error)

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

type WatcherApplierList

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

WatcherApplierList contains a list of WatcherApplier

func (*WatcherApplierList) DeepCopy

func (in *WatcherApplierList) DeepCopy() *WatcherApplierList

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

func (*WatcherApplierList) DeepCopyInto

func (in *WatcherApplierList) DeepCopyInto(out *WatcherApplierList)

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

func (*WatcherApplierList) DeepCopyObject

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

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

type WatcherApplierSpec

type WatcherApplierSpec struct {
	WatcherCommon `json:",inline"`

	// +kubebuilder:validation:Required
	// Secret containing all passwords / keys needed
	Secret string `json:"secret"`

	WatcherSubCrsCommon `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Maximum=1
	// +kubebuilder:validation:Minimum=0
	// Replicas of Watcher service to run
	Replicas *int32 `json:"replicas"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// TLS - Parameters related to the TLS
	TLS tls.Ca `json:"tls,omitempty"`
}

WatcherApplierSpec defines the desired state of WatcherApplier

func (*WatcherApplierSpec) DeepCopy

func (in *WatcherApplierSpec) DeepCopy() *WatcherApplierSpec

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

func (*WatcherApplierSpec) DeepCopyInto

func (in *WatcherApplierSpec) DeepCopyInto(out *WatcherApplierSpec)

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

type WatcherApplierStatus

type WatcherApplierStatus struct {

	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// ObservedGeneration - the most recent generation observed for this
	// service. If the observed generation is less than the spec generation,
	// then the controller has not processed the latest changes injected by
	// the openstack-operator in the top-level CR (e.g. the ContainerImage)
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// ReadyCount of watcher Applier instances
	ReadyCount int32 `json:"readyCount,omitempty"`

	// Map of hashes to track e.g. job status
	Hash map[string]string `json:"hash,omitempty"`

	// LastAppliedTopology - the last applied Topology
	LastAppliedTopology *topologyv1.TopoRef `json:"lastAppliedTopology,omitempty"`
}

WatcherApplierStatus defines the observed state of WatcherApplier

func (*WatcherApplierStatus) DeepCopy

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

func (*WatcherApplierStatus) DeepCopyInto

func (in *WatcherApplierStatus) DeepCopyInto(out *WatcherApplierStatus)

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

type WatcherApplierTemplate

type WatcherApplierTemplate struct {
	WatcherSubCrsTemplate `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Maximum=1
	// +kubebuilder:validation:Minimum=0
	// Replicas of WatcherApplier service to run
	Replicas *int32 `json:"replicas"`
}

WatcherApplierTemplate defines the input parameters specified by the user to create a WatcherApplier via higher level CRDs.

func (*WatcherApplierTemplate) DeepCopy

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

func (*WatcherApplierTemplate) DeepCopyInto

func (in *WatcherApplierTemplate) DeepCopyInto(out *WatcherApplierTemplate)

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

func (*WatcherApplierTemplate) ValidateTopology

func (r *WatcherApplierTemplate) ValidateTopology(
	basePath *field.Path,
	namespace string,
) field.ErrorList

ValidateTopology validates the referenced TopoRef.Namespace.

type WatcherCommon

type WatcherCommon struct {

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=watcher
	// ServiceUser - optional username used for this service to register in keystone
	ServiceUser *string `json:"serviceUser"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default={service: WatcherPassword,}
	// PasswordSelectors - Selectors to identify the ServiceUser password from the Secret
	PasswordSelectors PasswordSelector `json:"passwordSelectors"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=memcached
	// MemcachedInstance is the name of the Memcached CR that all watcher service will use.
	MemcachedInstance *string `json:"memcachedInstance"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	// PreserveJobs - do not delete jobs after they finished e.g. to check logs
	PreserveJobs bool `json:"preserveJobs"`

	// +kubebuilder:validation:Optional
	// NodeSelector to target subset of worker nodes running this component. Setting here overrides
	// any global NodeSelector settings within the Watcher CR.
	NodeSelector *map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	// CustomServiceConfig - customize the service config using this parameter to change service defaults,
	// or overwrite rendered information using raw OpenStack config format. The content gets added to
	// to /etc/<service>/<service>.conf.d directory as a custom config file.
	CustomServiceConfig string `json:"customServiceConfig,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=metric-storage-prometheus-endpoint
	// Secret containing prometheus connection parameters
	PrometheusSecret *string `json:"prometheusSecret"`

	// +kubebuilder:validation:Optional
	// TopologyRef to apply the Topology defined by the associated CR referenced
	// by name
	TopologyRef *topologyv1.TopoRef `json:"topologyRef,omitempty"`
}

WatcherCommon defines a spec based reusable for all the CRDs

func (*WatcherCommon) DeepCopy

func (in *WatcherCommon) DeepCopy() *WatcherCommon

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

func (*WatcherCommon) DeepCopyInto

func (in *WatcherCommon) DeepCopyInto(out *WatcherCommon)

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

type WatcherDBPurge

type WatcherDBPurge struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default="0 1 * * *"
	// Schedule defines when to run the Watcher DB Purge job in a cron format.
	// By default it runs everyday at 01:00.
	Schedule *string `json:"schedule"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=90
	// +kubebuilder:validation:Minimum=1
	// PurgeAge defines the minimum age of soft-deleted records in days that can be
	// deleted from the shadow tables
	PurgeAge *int `json:"purgeAge"`
}

WatcherDBPurge defines the parameters for the Watcher database purging cron job

func (*WatcherDBPurge) DeepCopy

func (in *WatcherDBPurge) DeepCopy() *WatcherDBPurge

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

func (*WatcherDBPurge) DeepCopyInto

func (in *WatcherDBPurge) DeepCopyInto(out *WatcherDBPurge)

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

type WatcherDecisionEngine

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

	Spec   WatcherDecisionEngineSpec   `json:"spec,omitempty"`
	Status WatcherDecisionEngineStatus `json:"status,omitempty"`
}

WatcherDecisionEngine is the Schema for the watcherdecisionengines API

func (*WatcherDecisionEngine) DeepCopy

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

func (*WatcherDecisionEngine) DeepCopyInto

func (in *WatcherDecisionEngine) DeepCopyInto(out *WatcherDecisionEngine)

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

func (*WatcherDecisionEngine) DeepCopyObject

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

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

func (*WatcherDecisionEngine) Default

func (r *WatcherDecisionEngine) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*WatcherDecisionEngine) GetLastAppliedTopology

func (instance *WatcherDecisionEngine) GetLastAppliedTopology() *topologyv1.TopoRef

GetLastAppliedTopology - Returns the LastAppliedTopology Set in the Status

func (*WatcherDecisionEngine) GetSpecTopologyRef

func (instance *WatcherDecisionEngine) GetSpecTopologyRef() *topologyv1.TopoRef

GetSpecTopologyRef - Returns the TopologyRef defined in the Spec

func (*WatcherDecisionEngine) IsReady

func (instance *WatcherDecisionEngine) IsReady() bool

IsReady returns true if the ReadyCondition is true

func (*WatcherDecisionEngine) SetLastAppliedTopology

func (instance *WatcherDecisionEngine) SetLastAppliedTopology(topologyRef *topologyv1.TopoRef)

SetLastAppliedTopology - Sets the LastAppliedTopology value in the Status

func (*WatcherDecisionEngine) ValidateCreate

func (r *WatcherDecisionEngine) ValidateCreate() (admission.Warnings, error)

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

func (*WatcherDecisionEngine) ValidateDelete

func (r *WatcherDecisionEngine) ValidateDelete() (admission.Warnings, error)

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

func (*WatcherDecisionEngine) ValidateUpdate

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

type WatcherDecisionEngineList

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

WatcherDecisionEngineList contains a list of WatcherDecisionEngine

func (*WatcherDecisionEngineList) DeepCopy

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

func (*WatcherDecisionEngineList) DeepCopyInto

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

func (*WatcherDecisionEngineList) DeepCopyObject

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

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

type WatcherDecisionEngineSpec

type WatcherDecisionEngineSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	WatcherCommon `json:",inline"`

	// +kubebuilder:validation:Required
	// Secret containing all passwords / keys needed
	Secret string `json:"secret"`

	WatcherSubCrsCommon `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Maximum=1
	// +kubebuilder:validation:Minimum=0
	// Replicas of Watcher service to run
	Replicas *int32 `json:"replicas"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// TLS - Parameters related to the TLS
	TLS tls.Ca `json:"tls,omitempty"`
}

WatcherDecisionEngineSpec defines the desired state of WatcherDecisionEngine

func (*WatcherDecisionEngineSpec) DeepCopy

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

func (*WatcherDecisionEngineSpec) DeepCopyInto

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

type WatcherDecisionEngineStatus

type WatcherDecisionEngineStatus struct {
	// INSERT ADDITIONAL STATUS FIELD - define observed state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// ObservedGeneration - the most recent generation observed for this
	// service. If the observed generation is less than the spec generation,
	// then the controller has not processed the latest changes injected by
	// the openstack-operator in the top-level CR (e.g. the ContainerImage)
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// ReadyCount of WatcherDecisionEngine instances
	ReadyCount int32 `json:"readyCount,omitempty"`

	// Map of hashes to track e.g. job status
	Hash map[string]string `json:"hash,omitempty"`

	// LastAppliedTopology - the last applied Topology
	LastAppliedTopology *topologyv1.TopoRef `json:"lastAppliedTopology,omitempty"`
}

WatcherDecisionEngineStatus defines the observed state of WatcherDecisionEngine

func (*WatcherDecisionEngineStatus) DeepCopy

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

func (*WatcherDecisionEngineStatus) DeepCopyInto

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

type WatcherDecisionEngineTemplate

type WatcherDecisionEngineTemplate struct {
	WatcherSubCrsTemplate `json:",inline"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=1
	// +kubebuilder:validation:Maximum=1
	// +kubebuilder:validation:Minimum=0
	// Replicas of WatcherDecisionEngine service to run
	Replicas *int32 `json:"replicas"`
}

WatcherDecisionEngineTemplate defines the input parameters specified by the user to create a WatcherDecisionengine via higher level CRDs.

func (*WatcherDecisionEngineTemplate) DeepCopy

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

func (*WatcherDecisionEngineTemplate) DeepCopyInto

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

func (*WatcherDecisionEngineTemplate) ValidateTopology

func (r *WatcherDecisionEngineTemplate) ValidateTopology(
	basePath *field.Path,
	namespace string,
) field.ErrorList

ValidateTopology validates the referenced TopoRef.Namespace.

type WatcherDefaults

type WatcherDefaults struct {
	APIContainerImageURL            string
	DecisionEngineContainerImageURL string
	ApplierContainerImageURL        string
}

WatcherDefaults -

func (*WatcherDefaults) DeepCopy

func (in *WatcherDefaults) DeepCopy() *WatcherDefaults

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

func (*WatcherDefaults) DeepCopyInto

func (in *WatcherDefaults) DeepCopyInto(out *WatcherDefaults)

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

type WatcherImages

type WatcherImages struct {
	// +kubebuilder:validation:Required
	// APIContainerImageURL
	APIContainerImageURL string `json:"apiContainerImageURL"`

	// +kubebuilder:validation:Required
	// DecisionEngineContainerImageURL
	DecisionEngineContainerImageURL string `json:"decisionengineContainerImageURL"`

	// +kubebuilder:validation:Required
	// ApplierContainerImageURL
	ApplierContainerImageURL string `json:"applierContainerImageURL"`
}

WatcherImages defines the container images for all Watcher services

func (*WatcherImages) DeepCopy

func (in *WatcherImages) DeepCopy() *WatcherImages

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

func (*WatcherImages) DeepCopyInto

func (in *WatcherImages) DeepCopyInto(out *WatcherImages)

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

func (*WatcherImages) Default

func (r *WatcherImages) Default(defaults WatcherDefaults)

Default sets default values for WatcherImages based on the provided defaults

type WatcherList

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

WatcherList contains a list of Watcher

func (*WatcherList) DeepCopy

func (in *WatcherList) DeepCopy() *WatcherList

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

func (*WatcherList) DeepCopyInto

func (in *WatcherList) DeepCopyInto(out *WatcherList)

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

func (*WatcherList) DeepCopyObject

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

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

type WatcherSpec

type WatcherSpec struct {
	WatcherSpecCore `json:",inline"`

	WatcherImages `json:",inline"`
}

WatcherSpec defines the desired state of Watcher

func (*WatcherSpec) DeepCopy

func (in *WatcherSpec) DeepCopy() *WatcherSpec

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

func (*WatcherSpec) DeepCopyInto

func (in *WatcherSpec) DeepCopyInto(out *WatcherSpec)

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

func (*WatcherSpec) Default

func (spec *WatcherSpec) Default()

Default - set defaults for this WatcherCore spec.

func (*WatcherSpec) ValidateCreate

func (spec *WatcherSpec) ValidateCreate(basePath *field.Path, namespace string) ([]string, field.ErrorList)

ValidateCreate validates the WatcherSpec during the webhook invocation.

func (*WatcherSpec) ValidateUpdate

func (spec *WatcherSpec) ValidateUpdate(old WatcherSpec, basePath *field.Path, namespace string) ([]string, field.ErrorList)

ValidateUpdate validates the WatcherSpec during the webhook update invocation.

type WatcherSpecCore

type WatcherSpecCore struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	WatcherCommon `json:",inline"`

	// +kubebuilder:validation:Optional
	// MessagingBus configuration (username, vhost, and cluster)
	MessagingBus rabbitmqv1.RabbitMqConfig `json:"messagingBus,omitempty"`

	// +kubebuilder:validation:Optional
	// NotificationsBus configuration (username, vhost, and cluster) for notifications
	NotificationsBus *rabbitmqv1.RabbitMqConfig `json:"notificationsBus,omitempty"`

	// +kubebuilder:validation:Optional
	// RabbitMQ instance name
	// Needed to request a transportURL that is created and used in Watcher
	// Deprecated: Use MessagingBus.Cluster instead
	RabbitMqClusterName *string `json:"rabbitMqClusterName,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=osp-secret
	// Secret containing all passwords / keys needed
	Secret *string `json:"secret"`

	// +kubebuilder:validation:Required
	// MariaDB instance name
	// Required to use the mariadb-operator instance to create the DB and user
	DatabaseInstance *string `json:"databaseInstance"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=watcher
	// DatabaseAccount - MariaDBAccount CR name used for watcher DB, defaults to watcher
	DatabaseAccount *string `json:"databaseAccount"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default={replicas:1}
	// APIServiceTemplate - define the watcher-api service
	APIServiceTemplate WatcherAPITemplate `json:"apiServiceTemplate"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default={replicas:1}
	// WatcherApplierTemplate - define the watcher-applier service
	ApplierServiceTemplate WatcherApplierTemplate `json:"applierServiceTemplate"`

	// +kubebuilder:validation:Required
	// +kubebuilder:default={replicas:1}
	// DecisionEngineServiceTemplate - define the watcher-decision-engine service
	DecisionEngineServiceTemplate WatcherDecisionEngineTemplate `json:"decisionengineServiceTemplate"`

	// +kubebuilder:validation:Optional
	// DBPurge defines the parameters for the Watcher DB purging cron job
	DBPurge WatcherDBPurge `json:"dbPurge"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=60
	// +kubebuilder:validation:Minimum=10
	// APITimeout for Route and Apache
	APITimeout *int `json:"apiTimeout"`

	// +kubebuilder:validation:Optional
	// +operator-sdk:csv:customresourcedefinitions:type=spec
	// Auth - Parameters related to authentication (shared by all Watcher components)
	Auth AuthSpec `json:"auth,omitempty"`

	// +kubebuilder:validation:Optional
	// NotificationsBusInstance is the name of the RabbitMqCluster CR to select
	// the Message Bus Service instance used by the Watcher service to publish and consume notifications
	// from other services.
	// If undefined, the value will be inherited from OpenStackControlPlane.
	// An empty value "" leaves the notification drivers unconfigured and emitting no notifications at all.
	// Avoid colocating it with RabbitMqClusterName or other message bus instances used for RPC.
	// Deprecated: Use NotificationsBus.Cluster instead
	NotificationsBusInstance *string `json:"notificationsBusInstance,omitempty"`
}

WatcherSpecCore defines the fields used from the OpenStackControlPlane CR (does not include images)

func (*WatcherSpecCore) DeepCopy

func (in *WatcherSpecCore) DeepCopy() *WatcherSpecCore

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

func (*WatcherSpecCore) DeepCopyInto

func (in *WatcherSpecCore) DeepCopyInto(out *WatcherSpecCore)

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

func (*WatcherSpecCore) Default

func (spec *WatcherSpecCore) Default()

Default - set defaults for this WatcherSpecCore spec.

func (*WatcherSpecCore) SetDefaultRouteAnnotations

func (spec *WatcherSpecCore) SetDefaultRouteAnnotations(annotations map[string]string)

SetDefaultRouteAnnotations sets HAProxy timeout values for Watcher API routes This function is called by the OpenStackControlPlane webhook to set the default HAProxy timeout for the Watcher API routes.

func (*WatcherSpecCore) ValidateCreate

func (spec *WatcherSpecCore) ValidateCreate(basePath *field.Path, namespace string) ([]string, field.ErrorList)

ValidateCreate validates the WatcherSpecCore during the webhook invocation. It is expected to be called by the validation webhook in the higher level meta operator

func (*WatcherSpecCore) ValidateUpdate

func (spec *WatcherSpecCore) ValidateUpdate(old WatcherSpecCore, basePath *field.Path, namespace string) ([]string, field.ErrorList)

ValidateUpdate validates the WatcherSpecCore during the webhook invocation. It is expected to be called by the validation webhook in the higher level meta operator

func (*WatcherSpecCore) ValidateWatcherTopology

func (spec *WatcherSpecCore) ValidateWatcherTopology(basePath *field.Path, namespace string) field.ErrorList

ValidateWatcherTopology - Returns an ErrorList if the Topology is referenced on a different namespace

type WatcherStatus

type WatcherStatus struct {
	// Conditions
	Conditions condition.Conditions `json:"conditions,omitempty" optional:"true"`

	// ServiceID - The ID of the watcher service registered in keystone
	ServiceID string `json:"serviceID,omitempty"`

	// Map of hashes to track e.g. job status
	Hash map[string]string `json:"hash,omitempty"`

	// ObservedGeneration - the most recent generation observed for this
	// service. If the observed generation is less than the spec generation,
	// then the controller has not processed the latest changes injected by
	// the opentack-operator in the top-level CR (e.g. the ContainerImage)
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// APIServiceReadyCount defines the number or replicas ready from watcher-api
	APIServiceReadyCount int32 `json:"apiServiceReadyCount,omitempty"`

	// ApplierServiceReadyCount defines the number or replicas ready from watcher-applier
	ApplierServiceReadyCount int32 `json:"applierServiceReadyCount,omitempty"`

	// DecisionEngineServiceReadyCount defines the number or replicas ready from watcher-decision-engine
	DecisionEngineServiceReadyCount int32 `json:"decisionengineServiceReadyCount,omitempty"`
}

WatcherStatus defines the observed state of Watcher

func (*WatcherStatus) DeepCopy

func (in *WatcherStatus) DeepCopy() *WatcherStatus

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

func (*WatcherStatus) DeepCopyInto

func (in *WatcherStatus) DeepCopyInto(out *WatcherStatus)

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

type WatcherSubCrsCommon

type WatcherSubCrsCommon struct {
	// +kubebuilder:validation:Optional
	// The service specific Container Image URL (will be set to environmental default if empty)
	ContainerImage string `json:"containerImage"`

	// +kubebuilder:validation:Optional
	// Resources - Compute Resources required by this service (Limits/Requests).
	// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// +kubebuilder:validation:Required
	// ServiceAccount - service account name used internally to provide
	// Watcher services the default SA name
	ServiceAccount string `json:"serviceAccount"`
}

WatcherSubCrsCommon defines the common fields for Watcher sub-CRs

func (*WatcherSubCrsCommon) DeepCopy

func (in *WatcherSubCrsCommon) DeepCopy() *WatcherSubCrsCommon

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

func (*WatcherSubCrsCommon) DeepCopyInto

func (in *WatcherSubCrsCommon) DeepCopyInto(out *WatcherSubCrsCommon)

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

type WatcherSubCrsTemplate

type WatcherSubCrsTemplate struct {
	// +kubebuilder:validation:Optional
	// Resources - Compute Resources required by this service (Limits/Requests).
	// https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
	Resources corev1.ResourceRequirements `json:"resources,omitempty"`

	// +kubebuilder:validation:Optional
	// NodeSelector to target subset of worker nodes running this component. Setting here overrides
	// any global NodeSelector settings within the Watcher CR.
	NodeSelector *map[string]string `json:"nodeSelector,omitempty"`

	// +kubebuilder:validation:Optional
	// CustomServiceConfig - customize the service config using this parameter to change service defaults,
	// or overwrite rendered information using raw OpenStack config format. The content gets added to
	// to /etc/<service>/<service>.conf.d directory as a custom config file.
	CustomServiceConfig string `json:"customServiceConfig,omitempty"`

	// +kubebuilder:validation:Optional
	// TopologyRef to apply the Topology defined by the associated CR referenced
	// by name
	TopologyRef *topologyv1.TopoRef `json:"topologyRef,omitempty"`
}

WatcherSubCrsTemplate define de common part of the input parameters specified by the user to create a 2nd CR via higher level CRDs.

func (*WatcherSubCrsTemplate) DeepCopy

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

func (*WatcherSubCrsTemplate) DeepCopyInto

func (in *WatcherSubCrsTemplate) DeepCopyInto(out *WatcherSubCrsTemplate)

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