v1alpha1

package
v0.5.306 Latest Latest
Warning

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

Go to latest
Published: Oct 26, 2022 License: Apache-2.0 Imports: 21 Imported by: 2

Documentation

Overview

+groupName=infra.modela.ai +kubebuilder:object:generate=true

Index

Constants

View Source
const (
	POOL_PREFIX = "pool"
)

Variables

View Source
var (
	// SchemeBuilder registers our types
	SchemeBuilder = k8sruntime.NewSchemeBuilder(AddKnownTypes)
	// AddToScheme local alias for SchemeBuilder.AddToScheme
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: infra.GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects

Functions

func AddKnownTypes

func AddKnownTypes(scheme *k8sruntime.Scheme) error

Adds the list of known types to api.Scheme.

func Kind

func Kind(kind string) schema.GroupKind

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

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type Account

type Account struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              AccountSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status AccountStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

Account represents a single user on the system or a team that other Accounts can be grouped under +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type",description="" +kubebuilder:printcolumn:name="Username",type="string",JSONPath=".spec.username",description="" +kubebuilder:printcolumn:name="Team",type="string",JSONPath=".spec.memberOf",description="" +kubebuilder:printcolumn:name="Phone",type="string",JSONPath=".spec.phone",description="",priority=1 +kubebuilder:printcolumn:name="Email",type="string",JSONPath=".spec.email",description="",priority=1 +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=accounts,shortName=acct,singular=account,categories={infra,modela}

func ParseAccountYaml

func ParseAccountYaml(content []byte) (*Account, error)

func (*Account) AddFinalizer

func (account *Account) AddFinalizer()

func (*Account) Archived

func (account *Account) Archived() bool

func (*Account) CreateOrUpdateCond

func (account *Account) CreateOrUpdateCond(cond AccountCondition)

Merge or update condition

func (*Account) DeepCopy

func (in *Account) DeepCopy() *Account

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

func (*Account) DeepCopyInto

func (in *Account) DeepCopyInto(out *Account)

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

func (*Account) DeepCopyObject

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

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

func (*Account) Default

func (account *Account) Default()

func (*Account) GetCond

func (account *Account) GetCond(t AccountConditionType) AccountCondition

func (*Account) GetCondIdx

func (account *Account) GetCondIdx(t AccountConditionType) int

func (*Account) HasFinalizer

func (account *Account) HasFinalizer() bool

func (*Account) IsReady

func (account *Account) IsReady() bool

func (*Account) Key

func (account *Account) Key() string

func (*Account) ManifestUri

func (account *Account) ManifestUri() string

func (*Account) MarkArchived

func (account *Account) MarkArchived()

func (*Account) MarkFailed added in v0.4.448

func (account *Account) MarkFailed(err string)

func (*Account) MarkReady

func (account *Account) MarkReady()

func (*Account) Populate

func (account *Account) Populate(name string)

populate an empty account

func (*Account) RemoveFinalizer

func (account *Account) RemoveFinalizer()

func (*Account) RootUri

func (account *Account) RootUri() string

func (*Account) SetupWebhookWithManager

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

Set up the webhook with the manager.

func (*Account) ValidateCreate

func (account *Account) ValidateCreate() error

func (*Account) ValidateDelete

func (account *Account) ValidateDelete() error

func (*Account) ValidateUpdate

func (account *Account) ValidateUpdate(old runtime.Object) error

type AccountCondition

type AccountCondition struct {
	// Type of account condition.
	Type AccountConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=AccountConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

AccountCondition describes the state of a account at a certain point.

func (*AccountCondition) DeepCopy

func (in *AccountCondition) DeepCopy() *AccountCondition

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

func (*AccountCondition) DeepCopyInto

func (in *AccountCondition) DeepCopyInto(out *AccountCondition)

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

type AccountConditionType

type AccountConditionType string

AccountCondition represents the state of the account

const (
	AccountReady AccountConditionType = "Ready"
	AccountSaved AccountConditionType = "Saved"
)

/ Account Condition

type AccountList

type AccountList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []Account `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true AccountList represent list of accounts.

func (*AccountList) DeepCopy

func (in *AccountList) DeepCopy() *AccountList

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

func (*AccountList) DeepCopyInto

func (in *AccountList) DeepCopyInto(out *AccountList)

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

func (*AccountList) DeepCopyObject

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

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

type AccountSpec

type AccountSpec struct {
	// The reference to the tenant which the object exists under
	// +kubebuilder:validation:Optional
	TenantRef *v1.ObjectReference `json:"tenantRef,omitempty" protobuf:"bytes,1,opt,name=tenantRef"`
	// The type of Account, which can be a user or a group
	// +kubebuilder:default:=user
	// +kubebuilder:validation:Optional
	Type *AccountType `json:"type,omitempty" protobuf:"bytes,3,opt,name=type,casttype=AccountType"`
	// The username of the account, which can be used to log into Modela
	// +kubebuilder:validation:MinLength=4
	// +kubebuilder:validation:MaxLength=64
	// +kubebuilder:validation:Required
	// +required
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// The first name of the person using the Account
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MaxLength=64
	FirstName *string `json:"firstName,omitempty" protobuf:"bytes,5,opt,name=firstName"`
	// The last name of the person using the Account
	// +kubebuilder:default:=""
	// +kubebuilder:validation:MaxLength=64
	// +kubebuilder:validation:Optional
	LastName *string `json:"lastName,omitempty" protobuf:"bytes,6,opt,name=lastName"`
	// The e-mail address of the person using the Account
	// +kubebuilder:default:=""
	// +kubebuilder:validation:MaxLength=64
	// +kubebuilder:validation:Required
	// +required
	Email *string `json:"email,omitempty" protobuf:"bytes,7,opt,name=email"`
	// The phone number of the person using the Account
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MaxLength=64
	Phone *string `json:"phone,omitempty" protobuf:"bytes,8,opt,name=phone"`
	// Indicates if the Account has admin permissions. Admin accounts have unrestricted access to all resources and
	// full control to modify and create other Accounts
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Admin *bool `json:"admin,omitempty" protobuf:"varint,9,opt,name=admin"`
	// Indicates if the Account is a team account
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Team *bool `json:"team,omitempty" protobuf:"varint,10,opt,name=team"`
	// MemberOf specifies the name of the team that the Account belongs to. An account can belong to one other team Account
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	MemberOf *string `json:"memberOf,omitempty" protobuf:"bytes,11,opt,name=memberOf"`
	// Indicates if an e-mail will be sent to the address specified by the Email field, that notifies the Account owner
	// about the creation of the Account
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	EmailPassword *bool `json:"emailPassword,omitempty" protobuf:"varint,12,opt,name=emailPassword"`
	// Indicates if the Account owner will be prompted to reset their password upon login
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	ResetPassword *bool `json:"resetPassword,omitempty" protobuf:"varint,13,opt,name=resetPassword"`
	// The clearance level of the account. Accounts which do not have a clearance level greater than or equal to the
	// clearance level of a DataProduct will not have access to their namespace
	// +kubebuilder:default:=unclassified
	// +kubebuilder:validation:Optional
	ClearanceLevel *catalog.SecurityClearanceLevel `json:"clearanceLevel,omitempty" protobuf:"bytes,17,opt,name=clearanceLevel"`
	// The specification for the Account avatar image
	// +kubebuilder:validation:Optional
	Avatar AvatarSpec `json:"avatar,omitempty" protobuf:"bytes,18,opt,name=avatar"`
	// The collection of DataProduct names that will be displayed with priority on the tenant dashboard for the Account
	// +kubebuilder:validation:Optional
	FavoritesProducts []string `json:"favoriteProducts,omitempty" protobuf:"bytes,19,rep,name=favoriteProducts"`
}

AccountSpec defines the desired state of an Account

func (*AccountSpec) DeepCopy

func (in *AccountSpec) DeepCopy() *AccountSpec

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

func (*AccountSpec) DeepCopyInto

func (in *AccountSpec) DeepCopyInto(out *AccountSpec)

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

type AccountStatus

type AccountStatus struct {
	// The last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,1,opt,name=lastUpdated"`
	// ObservedGeneration is the last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,2,opt,name=observedGeneration"`
	// In the case of failure, the Account resource controller will set this field with a failure reason
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,3,opt,name=failureReason"`
	// In the case of failure, the Account resource controller will set this field with a failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,4,opt,name=failureMessage"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []AccountCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,5,rep,name=conditions"`
}

AccountStatus defines the actual state of the api object

func (*AccountStatus) DeepCopy

func (in *AccountStatus) DeepCopy() *AccountStatus

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

func (*AccountStatus) DeepCopyInto

func (in *AccountStatus) DeepCopyInto(out *AccountStatus)

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

type AccountType

type AccountType string

======= Account ======== +kubebuilder:validation:Enum="user";"group"

const (
	User  AccountType = "user"
	Group AccountType = "group"
)

type AirTableSpec added in v0.5.122

type AirTableSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*AirTableSpec) DeepCopy added in v0.5.122

func (in *AirTableSpec) DeepCopy() *AirTableSpec

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

func (*AirTableSpec) DeepCopyInto added in v0.5.122

func (in *AirTableSpec) DeepCopyInto(out *AirTableSpec)

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

type AirWriteSpec added in v0.5.122

type AirWriteSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*AirWriteSpec) DeepCopy added in v0.5.122

func (in *AirWriteSpec) DeepCopy() *AirWriteSpec

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

func (*AirWriteSpec) DeepCopyInto added in v0.5.122

func (in *AirWriteSpec) DeepCopyInto(out *AirWriteSpec)

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

type Alert

type Alert struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              AlertSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status AlertStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

Alert represents temporal information about an event that occurred with a Modela custom resource +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="" +kubebuilder:printcolumn:name="Level",type="string",JSONPath=".spec.level",description="" +kubebuilder:printcolumn:name="Subject",type="string",JSONPath=".spec.subject",description="" +kubebuilder:printcolumn:name="Entity Namespace",type="string",JSONPath=".spec.entityRef.namespace",description="",priority=1 +kubebuilder:printcolumn:name="Entity Name",type="string",JSONPath=".spec.entityRef.name",description="",priority=1 +kubebuilder:printcolumn:name="Notifier",type="string",JSONPath=".spec.notifierName",description="",priority=1 +kubebuilder:printcolumn:name="At",type="date",JSONPath=".status.at",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=alerts,singular=alert,categories={infra,modela}

func ParseAlertYaml

func ParseAlertYaml(content []byte) (*Alert, error)

func (*Alert) AddFinalizer

func (alert *Alert) AddFinalizer()

func (*Alert) CreateOrUpdateCond

func (alert *Alert) CreateOrUpdateCond(cond AlertCondition)

Merge or update condition

func (*Alert) DeepCopy

func (in *Alert) DeepCopy() *Alert

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

func (*Alert) DeepCopyInto

func (in *Alert) DeepCopyInto(out *Alert)

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

func (*Alert) DeepCopyObject

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

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

func (*Alert) Default

func (alert *Alert) Default()

func (*Alert) GetCond

func (alert *Alert) GetCond(t AlertConditionType) AlertCondition

func (*Alert) GetCondIdx

func (alert *Alert) GetCondIdx(t AlertConditionType) int

func (*Alert) HasFinalizer

func (alert *Alert) HasFinalizer() bool

func (*Alert) IsReady

func (alert *Alert) IsReady() bool

func (*Alert) ManifestUri

func (alert *Alert) ManifestUri() string

func (*Alert) MarkArchived

func (alert *Alert) MarkArchived()

func (*Alert) MarkFailed added in v0.4.448

func (alert *Alert) MarkFailed(err string)

func (*Alert) MarkSent

func (alert *Alert) MarkSent()

func (*Alert) RemoveFinalizer

func (alert *Alert) RemoveFinalizer()

func (*Alert) RootUri

func (alert *Alert) RootUri() string

func (*Alert) SetupWebhookWithManager

func (alert *Alert) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Alert) ValidateCreate

func (alert *Alert) ValidateCreate() error

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

func (*Alert) ValidateDelete

func (alert *Alert) ValidateDelete() error

func (*Alert) ValidateUpdate

func (alert *Alert) ValidateUpdate(old runtime.Object) error

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

type AlertCondition

type AlertCondition struct {
	// Type of account condition.
	Type AlertConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=AlertConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human-readable message indicating details about the transition
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

AlertCondition describes the state of an Alert at a certain point

func (*AlertCondition) DeepCopy

func (in *AlertCondition) DeepCopy() *AlertCondition

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

func (*AlertCondition) DeepCopyInto

func (in *AlertCondition) DeepCopyInto(out *AlertCondition)

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

type AlertConditionType

type AlertConditionType string

Alert condition

const (
	AlertSent  AlertConditionType = "Sent"
	AlertSaved AlertConditionType = "Saved"
)

type AlertLevel

type AlertLevel string
const (
	Info    AlertLevel = "normal"
	Warning AlertLevel = "warning "
	Error   AlertLevel = "error"
)

type AlertList

type AlertList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []Alert `json:"items" protobuf:"bytes,2,rep,name=items"`
}

AlertList is a list of Alerts +kubebuilder:object:root=true

func (*AlertList) DeepCopy

func (in *AlertList) DeepCopy() *AlertList

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

func (*AlertList) DeepCopyInto

func (in *AlertList) DeepCopyInto(out *AlertList)

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

func (*AlertList) DeepCopyObject

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

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

type AlertPhase

type AlertPhase string

AlertPhase specifies the current phase of an Alert

const (
	AlertPhasePending AlertPhase = "Pending"
	AlertPhaseSending AlertPhase = "Sending"
	AlertPhaseSent    AlertPhase = "Sent"
	AlertPhaseFailed  AlertPhase = "Failed"
)

type AlertSpec

type AlertSpec struct {
	// The subject of the Alert
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Subject *string `json:"subject,omitempty" protobuf:"bytes,1,opt,name=subject"`
	// The message of the Alert
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Message *string `json:"message,omitempty" protobuf:"bytes,2,opt,name=message"`
	// The significance of the Alert, which can be normal, warning, or error
	// +kubebuilder:default:="normal"
	// +kubebuilder:validation:Optional
	Level *AlertLevel `json:"level,omitempty" protobuf:"bytes,3,opt,name=level"`
	// The entity which the Alert is in reference to
	EntityRef v1.ObjectReference `json:"entityRef,omitempty" protobuf:"bytes,4,opt,name=entityRef"`
	// The name of the Notifier resource that exists in the same tenant as the Alert which the contents of the
	// Alert will be forwarded to
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Required
	NotifierName *string `json:"notifierName,omitempty" protobuf:"bytes,5,opt,name=notifierName"`
	// The name of the Account which owns the resource that the Alert references
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,6,opt,name=owner"`
	// The time-to-live of the Alert, after which the Alert will be archived
	// +kubebuilder:default:=3600
	// +kubebuilder:validation:Optional
	TTL *int32 `json:"ttl,omitempty" protobuf:"varint,7,opt,name=ttl"`
	// Additional key-value information about the event
	// +kubebuilder:validation:Optional
	Fields map[string]string `json:"fields,omitempty" protobuf:"bytes,8,opt,name=fields"`
	// The URL of the subject
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	URL *string `json:"url,omitempty" protobuf:"bytes,9,opt,name=url"`
	// The URL of an image in reference to the Alert
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Image *string `json:"image,omitempty" protobuf:"bytes,10,opt,name=image"`
	// The reference to the tenant which the object exists under
	// +kubebuilder:validation:Optional
	TenantRef *v1.ObjectReference `json:"tenantRef,omitempty" protobuf:"bytes,11,opt,name=tenantRef"`
}

AlertSpec defines the contents of an Alert. Alerts are generated by Modela resource controllers and should not be created manually.

func (*AlertSpec) DeepCopy

func (in *AlertSpec) DeepCopy() *AlertSpec

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

func (*AlertSpec) DeepCopyInto

func (in *AlertSpec) DeepCopyInto(out *AlertSpec)

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

type AlertStatus

type AlertStatus struct {
	// The current phase of the Alert
	// +kubebuilder:default:="Pending"
	// +kubebuilder:validation:Optional
	Phase AlertPhase `json:"phase" protobuf:"bytes,1,opt,name=phase"`
	// The time when the Alert was fired
	// +kubebuilder:validation:Optional
	At *metav1.Time `json:"at" protobuf:"bytes,2,opt,name=at"`
	// ObservedGeneration is the last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,3,opt,name=observedGeneration"`
	// The last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,4,opt,name=lastUpdated"`
	// In the case of failure, the Alert resource controller will set this field with a failure reason
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,5,opt,name=failureReason"`
	// In the case of failure, the Alert resource controller will set this field with a failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,6,opt,name=failureMessage"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []AlertCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,7,rep,name=conditions"`
}

AlertStatus is the observed state of an Alert

func (*AlertStatus) DeepCopy

func (in *AlertStatus) DeepCopy() *AlertStatus

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

func (*AlertStatus) DeepCopyInto

func (in *AlertStatus) DeepCopyInto(out *AlertStatus)

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

type AliCloudSpec

type AliCloudSpec struct {
	// +kubebuilder:default:=""
	AccessKey *string `json:"accessKey,omitempty" protobuf:"bytes,1,opt,name=accessKey"`
	// +kubebuilder:default:=""
	SecretKey *string `json:"secretKey,omitempty" protobuf:"bytes,2,opt,name=secretKey"`
	// +kubebuilder:default:=""
	Region *string `json:"region,omitempty" protobuf:"bytes,3,opt,name=region"`
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,4,opt,name=host"`
}

func (*AliCloudSpec) DeepCopy

func (in *AliCloudSpec) DeepCopy() *AliCloudSpec

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

func (*AliCloudSpec) DeepCopyInto

func (in *AliCloudSpec) DeepCopyInto(out *AliCloudSpec)

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

type AmazonAthenaSpec

type AmazonAthenaSpec struct {
	// +kubebuilder:default:=""
	Database *string `json:"hostName,omitempty" protobuf:"bytes,1,opt,name=hostName"`
	// UserName
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,2,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,3,opt,name=password"`
	// +kubebuilder:default:=""
	Region *string `json:"region,omitempty" protobuf:"bytes,4,opt,name=region"`
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,5,opt,name=url"`
}

AthenaSpec defines the connection to Athena db

func (*AmazonAthenaSpec) DeepCopy

func (in *AmazonAthenaSpec) DeepCopy() *AmazonAthenaSpec

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

func (*AmazonAthenaSpec) DeepCopyInto

func (in *AmazonAthenaSpec) DeepCopyInto(out *AmazonAthenaSpec)

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

type AmazonRedShiftSpec

type AmazonRedShiftSpec struct {
	// +kubebuilder:default:=""
	Hostname *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=5439
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*AmazonRedShiftSpec) DeepCopy

func (in *AmazonRedShiftSpec) DeepCopy() *AmazonRedShiftSpec

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

func (*AmazonRedShiftSpec) DeepCopyInto

func (in *AmazonRedShiftSpec) DeepCopyInto(out *AmazonRedShiftSpec)

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

type ApacheCassandraSpec

type ApacheCassandraSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

CassandraSpec defines the connection to cassandra

func (*ApacheCassandraSpec) DeepCopy

func (in *ApacheCassandraSpec) DeepCopy() *ApacheCassandraSpec

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

func (*ApacheCassandraSpec) DeepCopyInto

func (in *ApacheCassandraSpec) DeepCopyInto(out *ApacheCassandraSpec)

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

type ApacheDrillSpec

type ApacheDrillSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

ApacheDruid

func (*ApacheDrillSpec) DeepCopy

func (in *ApacheDrillSpec) DeepCopy() *ApacheDrillSpec

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

func (*ApacheDrillSpec) DeepCopyInto

func (in *ApacheDrillSpec) DeepCopyInto(out *ApacheDrillSpec)

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

type ApacheDruidSpec

type ApacheDruidSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

ApacheDruid defines the connection to Apache Druid

func (*ApacheDruidSpec) DeepCopy

func (in *ApacheDruidSpec) DeepCopy() *ApacheDruidSpec

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

func (*ApacheDruidSpec) DeepCopyInto

func (in *ApacheDruidSpec) DeepCopyInto(out *ApacheDruidSpec)

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

type ApacheHiveSpec

type ApacheHiveSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=10000
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Schema *string `json:"schema,omitempty" protobuf:"bytes,3,opt,name=schema"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*ApacheHiveSpec) DeepCopy

func (in *ApacheHiveSpec) DeepCopy() *ApacheHiveSpec

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

func (*ApacheHiveSpec) DeepCopyInto

func (in *ApacheHiveSpec) DeepCopyInto(out *ApacheHiveSpec)

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

type ApacheSparkSpec

type ApacheSparkSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=5433
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Schema *string `json:"schema,omitempty" protobuf:"bytes,3,opt,name=schema"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*ApacheSparkSpec) DeepCopy

func (in *ApacheSparkSpec) DeepCopy() *ApacheSparkSpec

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

func (*ApacheSparkSpec) DeepCopyInto

func (in *ApacheSparkSpec) DeepCopyInto(out *ApacheSparkSpec)

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

type ApiToken

type ApiToken struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              ApiTokenSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status ApiTokenStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=apitokens,singular=apitoken,categories={infra,modela}

func ParseApiTokenYaml

func ParseApiTokenYaml(content []byte) (*ApiToken, error)

func (*ApiToken) AddFinalizer

func (notifier *ApiToken) AddFinalizer()

func (*ApiToken) CreateOrUpdateCond

func (notifier *ApiToken) CreateOrUpdateCond(cond ApiTokenCondition)

Merge or update condition

func (*ApiToken) DeepCopy

func (in *ApiToken) DeepCopy() *ApiToken

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

func (*ApiToken) DeepCopyInto

func (in *ApiToken) DeepCopyInto(out *ApiToken)

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

func (*ApiToken) DeepCopyObject

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

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

func (*ApiToken) Default

func (notifier *ApiToken) Default()

func (*ApiToken) GetCond

func (notifier *ApiToken) GetCond(t ApiTokenConditionType) ApiTokenCondition

func (*ApiToken) GetCondIdx

func (notifier *ApiToken) GetCondIdx(t ApiTokenConditionType) int

func (*ApiToken) HasFinalizer

func (notifier *ApiToken) HasFinalizer() bool

func (*ApiToken) IsReady

func (notifier *ApiToken) IsReady() bool

func (*ApiToken) ManifestUri

func (notifier *ApiToken) ManifestUri() string

func (*ApiToken) MarkArchived

func (token *ApiToken) MarkArchived()

func (*ApiToken) MarkReady

func (notifier *ApiToken) MarkReady()

func (*ApiToken) RemoveFinalizer

func (notifier *ApiToken) RemoveFinalizer()

func (*ApiToken) RootUri

func (notifier *ApiToken) RootUri() string

func (*ApiToken) SetupWebhookWithManager

func (notifier *ApiToken) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*ApiToken) ValidateCreate

func (notifier *ApiToken) ValidateCreate() error

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

func (*ApiToken) ValidateDelete

func (notifier *ApiToken) ValidateDelete() error

func (*ApiToken) ValidateUpdate

func (notifier *ApiToken) ValidateUpdate(old runtime.Object) error

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

type ApiTokenCondition

type ApiTokenCondition struct {
	// Type of account condition.
	Type ApiTokenConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=ApiTokenConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human-readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

ApiTokenCondition describes the state of the license at a certain point.

func (*ApiTokenCondition) DeepCopy

func (in *ApiTokenCondition) DeepCopy() *ApiTokenCondition

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

func (*ApiTokenCondition) DeepCopyInto

func (in *ApiTokenCondition) DeepCopyInto(out *ApiTokenCondition)

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

type ApiTokenConditionType

type ApiTokenConditionType string

ApiToken condition

const (
	ApiTokenReady ApiTokenConditionType = "Ready"
	ApiTokenSaved ApiTokenConditionType = "Saved"
)

/ ApiToken Condition

type ApiTokenList

type ApiTokenList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []ApiToken `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true ApiTokenList is a list of ApiTokens

func (*ApiTokenList) DeepCopy

func (in *ApiTokenList) DeepCopy() *ApiTokenList

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

func (*ApiTokenList) DeepCopyInto

func (in *ApiTokenList) DeepCopyInto(out *ApiTokenList)

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

func (*ApiTokenList) DeepCopyObject

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

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

type ApiTokenSpec

type ApiTokenSpec struct {
	// User provided description
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" protobuf:"bytes,1,opt,name=description"`
	// Scopes is the list of scopes for this token.
	Scopes []Scope `json:"scopes,omitempty" protobuf:"bytes,2,rep,name=scopes"`
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,3,opt,name=owner"`
}

ApiTokenSpec defines the desired state of ApiToken

func (*ApiTokenSpec) DeepCopy

func (in *ApiTokenSpec) DeepCopy() *ApiTokenSpec

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

func (*ApiTokenSpec) DeepCopyInto

func (in *ApiTokenSpec) DeepCopyInto(out *ApiTokenSpec)

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

type ApiTokenStatus

type ApiTokenStatus struct {
	// ObservedGeneration is the Last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`

	// Last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,2,opt,name=lastUpdated"`

	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []ApiTokenCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,3,rep,name=conditions"`
}

ApiTokenStatus is the observed state of a ApiToken

func (*ApiTokenStatus) DeepCopy

func (in *ApiTokenStatus) DeepCopy() *ApiTokenStatus

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

func (*ApiTokenStatus) DeepCopyInto

func (in *ApiTokenStatus) DeepCopyInto(out *ApiTokenStatus)

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

type Attachment

type Attachment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              AttachmentSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status AttachmentStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Entity Namespace",type="string",JSONPath=".spec.entityRef.name",description="" +kubebuilder:printcolumn:name="Entity Name",type="string",JSONPath=".spec.entityRef.namespace",description="" +kubebuilder:printcolumn:name="Bucket",type="string",JSONPath=".spec.bucketName",description="" +kubebuilder:printcolumn:name="Path",type="string",JSONPath=".spec.path",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=attachments,singular=attachment,categories={infra,modela}

func ParseAttachmentYaml

func ParseAttachmentYaml(content []byte) (*Attachment, error)

func (*Attachment) AddFinalizer

func (alert *Attachment) AddFinalizer()

func (*Attachment) CreateOrUpdateCond

func (alert *Attachment) CreateOrUpdateCond(cond AttachmentCondition)

Merge or update condition

func (*Attachment) DeepCopy

func (in *Attachment) DeepCopy() *Attachment

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

func (*Attachment) DeepCopyInto

func (in *Attachment) DeepCopyInto(out *Attachment)

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

func (*Attachment) DeepCopyObject

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

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

func (*Attachment) Default

func (alert *Attachment) Default()

func (*Attachment) GetCond

func (*Attachment) GetCondIdx

func (alert *Attachment) GetCondIdx(t AttachmentConditionType) int

func (*Attachment) HasFinalizer

func (alert *Attachment) HasFinalizer() bool

func (*Attachment) IsReady

func (alert *Attachment) IsReady() bool

func (*Attachment) ManifestUri

func (alert *Attachment) ManifestUri() string

func (*Attachment) MarkArchived

func (alert *Attachment) MarkArchived()

func (*Attachment) MarkFailed added in v0.4.450

func (attachment *Attachment) MarkFailed(err string)

func (*Attachment) MarkSent

func (alert *Attachment) MarkSent()

func (*Attachment) RemoveFinalizer

func (alert *Attachment) RemoveFinalizer()

func (*Attachment) RootUri

func (alert *Attachment) RootUri() string

func (*Attachment) SetupWebhookWithManager

func (alert *Attachment) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Attachment) ValidateCreate

func (alert *Attachment) ValidateCreate() error

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

func (*Attachment) ValidateDelete

func (alert *Attachment) ValidateDelete() error

func (*Attachment) ValidateUpdate

func (alert *Attachment) ValidateUpdate(old runtime.Object) error

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

type AttachmentCondition

type AttachmentCondition struct {
	// Type of account condition.
	Type AttachmentConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=AttachmentConditionType"`
	// Status of the condition, one of True, False, Unknown
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human-readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

AttachmentCondition describes the state of the license at a certain point.

func (*AttachmentCondition) DeepCopy

func (in *AttachmentCondition) DeepCopy() *AttachmentCondition

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

func (*AttachmentCondition) DeepCopyInto

func (in *AttachmentCondition) DeepCopyInto(out *AttachmentCondition)

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

type AttachmentConditionType

type AttachmentConditionType string

Attachment condition

const (
	AttachmentSent  AttachmentConditionType = "Sent"
	AttachmentSaved AttachmentConditionType = "Saved"
)

/ Attachment Condition

type AttachmentList

type AttachmentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []Attachment `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true AttachmentList is a list of Attachments

func (*AttachmentList) DeepCopy

func (in *AttachmentList) DeepCopy() *AttachmentList

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

func (*AttachmentList) DeepCopyInto

func (in *AttachmentList) DeepCopyInto(out *AttachmentList)

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

func (*AttachmentList) DeepCopyObject

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

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

type AttachmentSpec

type AttachmentSpec struct {
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,1,opt,name=owner"`
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" protobuf:"bytes,2,opt,name=description"`
	// Entity ref
	EntityRef v1.ObjectReference `json:"entityRef,omitempty" protobuf:"bytes,3,opt,name=entityRef"`
	// +kubebuilder:default:=""
	// Bucketname is the name of the bucket
	// +kubebuilder:validation:Optional
	BucketName string `json:"bucketName" protobuf:"bytes,4,opt,name=bucketName"`
	// Path to the full data file (e.g. csv file).
	// +kubebuilder:validation:Optional
	Path string `json:"path" protobuf:"bytes,5,opt,name=path"`
	// TenantRef is the commit tenant
	// +kubebuilder:validation:Optional
	TenantRef *v1.ObjectReference `json:"tenantRef,omitempty" protobuf:"bytes,6,opt,name=tenantRef"`
}

AttachmentSpec defines the desired state of Attachment

func (*AttachmentSpec) DeepCopy

func (in *AttachmentSpec) DeepCopy() *AttachmentSpec

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

func (*AttachmentSpec) DeepCopyInto

func (in *AttachmentSpec) DeepCopyInto(out *AttachmentSpec)

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

type AttachmentStatus

type AttachmentStatus struct {
	// The time when the alert was fired
	// +kubebuilder:validation:Optional
	At *metav1.Time `json:"at" protobuf:"bytes,2,opt,name=at"`
	// ObservedGeneration is the Last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,3,opt,name=observedGeneration"`
	// Last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,4,opt,name=lastUpdated"`
	// Update in case of terminal failure
	// Borrowed from cluster api controller
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,5,opt,name=failureReason"`
	// Update in case of terminal failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,6,opt,name=failureMessage"`

	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []AttachmentCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,7,rep,name=conditions"`
}

AttachmentStatus is the observed state of a Attachment

func (*AttachmentStatus) DeepCopy

func (in *AttachmentStatus) DeepCopy() *AttachmentStatus

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

func (*AttachmentStatus) DeepCopyInto

func (in *AttachmentStatus) DeepCopyInto(out *AttachmentStatus)

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

type AvatarSpec

type AvatarSpec struct {
	// +kubebuilder:default:=""
	// BucketName is the name of the VirtualBucket resource that exists on the same tenant as the Account
	// +kubebuilder:validation:Optional
	BucketName *string `json:"bucketName,omitempty" protobuf:"bytes,1,opt,name=bucketName"`
	// Path specifies the path to an image file on the VirtualBucket (e.g. a PNG file)
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Path *string `json:"path,omitempty" protobuf:"bytes,2,opt,name=path"`
}

AvatarSpec specifies the location of an avatar for an Account

func (*AvatarSpec) DeepCopy

func (in *AvatarSpec) DeepCopy() *AvatarSpec

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

func (*AvatarSpec) DeepCopyInto

func (in *AvatarSpec) DeepCopyInto(out *AvatarSpec)

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

type AwsS3Spec

type AwsS3Spec struct {
	// Default zone.
	// +kubebuilder:default:=""
	DefaultRegion *string `json:"defaultRegion,omitempty" protobuf:"bytes,1,opt,name=defaultRegion"`
	// Aws Access key. This is an hidden fields which are stored in the secret
	// +kubebuilder:default:=""
	AccessKey *string `json:"accessKey,omitempty" protobuf:"bytes,2,opt,name=accessKey"`
	// Aws StorageSecret key. This is an hidden fields which are stored in the secret
	// +kubebuilder:default:=""
	SecretKey *string `json:"secretKey,omitempty" protobuf:"bytes,3,opt,name=secretKey"`
}

////////////////////////// Cloud connection //////////////////////////

func (*AwsS3Spec) DeepCopy

func (in *AwsS3Spec) DeepCopy() *AwsS3Spec

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

func (*AwsS3Spec) DeepCopyInto

func (in *AwsS3Spec) DeepCopyInto(out *AwsS3Spec)

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

type AzureSQLDatabaseSpec

type AzureSQLDatabaseSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 1433
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,3,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,4,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,5,opt,name=database"`
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

CassandraSpec defines the connection to cassandra

func (*AzureSQLDatabaseSpec) DeepCopy

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

func (*AzureSQLDatabaseSpec) DeepCopyInto

func (in *AzureSQLDatabaseSpec) DeepCopyInto(out *AzureSQLDatabaseSpec)

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

type AzureStorageSpec

type AzureStorageSpec struct {
	// +kubebuilder:default:=""
	StorageAccount *string `json:"storageAccount,omitempty" protobuf:"bytes,1,opt,name=storageAccount"`
	// This is an hidden field which is stored in a p
	// +kubebuilder:default:=""
	AccessKey *string `json:"accessKey,omitempty" protobuf:"bytes,2,opt,name=accessKey"`
}

func (*AzureStorageSpec) DeepCopy

func (in *AzureStorageSpec) DeepCopy() *AzureStorageSpec

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

func (*AzureStorageSpec) DeepCopyInto

func (in *AzureStorageSpec) DeepCopyInto(out *AzureStorageSpec)

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

type BitbucketSpec

type BitbucketSpec struct {
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,2,opt,name=username"`
	// +kubebuilder:default:=""
	SSH *string `json:"ssh,omitempty" protobuf:"bytes,3,opt,name=ssh"`
}

func (*BitbucketSpec) DeepCopy

func (in *BitbucketSpec) DeepCopy() *BitbucketSpec

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

func (*BitbucketSpec) DeepCopyInto

func (in *BitbucketSpec) DeepCopyInto(out *BitbucketSpec)

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

type BoxSpec

type BoxSpec struct {
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
}

func (*BoxSpec) DeepCopy

func (in *BoxSpec) DeepCopy() *BoxSpec

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

func (*BoxSpec) DeepCopyInto

func (in *BoxSpec) DeepCopyInto(out *BoxSpec)

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

type BucketResourceQuotas

type BucketResourceQuotas struct {
	// Indicates if the resource quota is enabled
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// The maximum amount of storage the bucket may use
	// +kubebuilder:validation:Optional
	HardLimit *resource.Quantity `json:"hardLimit,omitempty" protobuf:"bytes,2,opt,name=hardLimit"`
}

func (*BucketResourceQuotas) DeepCopy

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

func (*BucketResourceQuotas) DeepCopyInto

func (in *BucketResourceQuotas) DeepCopyInto(out *BucketResourceQuotas)

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

type ClickHouseSpec

type ClickHouseSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=8123
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*ClickHouseSpec) DeepCopy

func (in *ClickHouseSpec) DeepCopy() *ClickHouseSpec

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

func (*ClickHouseSpec) DeepCopyInto

func (in *ClickHouseSpec) DeepCopyInto(out *ClickHouseSpec)

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

type CockroachDBSpec

type CockroachDBSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=5432
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*CockroachDBSpec) DeepCopy

func (in *CockroachDBSpec) DeepCopy() *CockroachDBSpec

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

func (*CockroachDBSpec) DeepCopyInto

func (in *CockroachDBSpec) DeepCopyInto(out *CockroachDBSpec)

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

type Commit

type Commit struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              CommitSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status CommitStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Status",type="string",JSONPath=".status.phase",description="" +kubebuilder:printcolumn:name="Subject",type="string",JSONPath=".spec.subject",description="" +kubebuilder:printcolumn:name="Entity Namespace",type="string",JSONPath=".spec.entityRef.Name",description="" +kubebuilder:printcolumn:name="Entity Name",type="string",JSONPath=".spec.entityRef.Namespace",description="" +kubebuilder:printcolumn:name="At",type="date",JSONPath=".status.at",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=commits,singular=commit,categories={infra,modela}

func ParseCommitYaml

func ParseCommitYaml(content []byte) (*Commit, error)

func (*Commit) AddFinalizer

func (commit *Commit) AddFinalizer()

func (*Commit) CreateOrUpdateCond

func (commit *Commit) CreateOrUpdateCond(cond CommitCondition)

Merge or update condition

func (*Commit) DeepCopy

func (in *Commit) DeepCopy() *Commit

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

func (*Commit) DeepCopyInto

func (in *Commit) DeepCopyInto(out *Commit)

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

func (*Commit) DeepCopyObject

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

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

func (*Commit) Default

func (commit *Commit) Default()

func (*Commit) GetCond

func (commit *Commit) GetCond(t CommitConditionType) CommitCondition

func (*Commit) GetCondIdx

func (commit *Commit) GetCondIdx(t CommitConditionType) int

func (*Commit) HasFinalizer

func (commit *Commit) HasFinalizer() bool

func (*Commit) IsReady

func (commit *Commit) IsReady() bool

func (*Commit) ManifestUri

func (commit *Commit) ManifestUri() string

func (*Commit) MarkArchived

func (commit *Commit) MarkArchived()

func (*Commit) MarkSent

func (commit *Commit) MarkSent()

func (*Commit) RemoveFinalizer

func (commit *Commit) RemoveFinalizer()

func (*Commit) RootUri

func (commit *Commit) RootUri() string

func (*Commit) SetupWebhookWithManager

func (commit *Commit) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Commit) ValidateCreate

func (commit *Commit) ValidateCreate() error

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

func (*Commit) ValidateDelete

func (commit *Commit) ValidateDelete() error

func (*Commit) ValidateUpdate

func (commit *Commit) ValidateUpdate(old runtime.Object) error

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

type CommitCondition

type CommitCondition struct {
	// Type of account condition.
	Type CommitConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=CommitConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human-readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

CommitCondition describes the state of the license at a certain point.

func (*CommitCondition) DeepCopy

func (in *CommitCondition) DeepCopy() *CommitCondition

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

func (*CommitCondition) DeepCopyInto

func (in *CommitCondition) DeepCopyInto(out *CommitCondition)

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

type CommitConditionType

type CommitConditionType string

Commit condition

const (
	CommitSent  CommitConditionType = "Sent"
	CommitSaved CommitConditionType = "Saved"
)

/ Commit Condition

type CommitList

type CommitList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []Commit `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true CommitList is a list of Commits

func (*CommitList) DeepCopy

func (in *CommitList) DeepCopy() *CommitList

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

func (*CommitList) DeepCopyInto

func (in *CommitList) DeepCopyInto(out *CommitList)

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

func (*CommitList) DeepCopyObject

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

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

type CommitPhase

type CommitPhase string

ModelPhase is the current phase of a model

const (
	CommitPhasePending CommitPhase = "Pending"
	CommitPhaseSending CommitPhase = "Sending"
	CommitPhaseSent    CommitPhase = "Sent"
)

type CommitSpec

type CommitSpec struct {
	// User provided commit message
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Message *string `json:"message,omitempty" protobuf:"bytes,1,opt,name=message"`
	// The subject entity
	EntityRef v1.ObjectReference `json:"entityRef,omitempty" protobuf:"bytes,2,opt,name=entityRef"`
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,3,opt,name=owner"`
	// TenantRef is the commit tenant
	// +kubebuilder:validation:Optional
	TenantRef *v1.ObjectReference `json:"tenantRef,omitempty" protobuf:"bytes,4,opt,name=tenantRef"`
}

CommitSpec defines the desired state of Commit

func (*CommitSpec) DeepCopy

func (in *CommitSpec) DeepCopy() *CommitSpec

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

func (*CommitSpec) DeepCopyInto

func (in *CommitSpec) DeepCopyInto(out *CommitSpec)

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

type CommitStatus

type CommitStatus struct {
	// Phase is the phase of the model
	// +kubebuilder:default:="Pending"
	// +kubebuilder:validation:Optional
	Phase CommitPhase `json:"phase" protobuf:"bytes,1,opt,name=phase"`
	// The time when the commit was completed
	// +kubebuilder:validation:Optional
	At *metav1.Time `json:"at" protobuf:"bytes,2,opt,name=at"`
	// ObservedGeneration is the Last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,3,opt,name=observedGeneration"`

	// Last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,4,opt,name=lastUpdated"`
	// Update in case of terminal failure
	// Borrowed from cluster api controller
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,5,opt,name=failureReason"`
	// Update in case of terminal failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,6,opt,name=failureMessage"`

	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []CommitCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,7,rep,name=conditions"`
}

CommitStatus is the observed state of a Commit

func (*CommitStatus) DeepCopy

func (in *CommitStatus) DeepCopy() *CommitStatus

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

func (*CommitStatus) DeepCopyInto

func (in *CommitStatus) DeepCopyInto(out *CommitStatus)

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

type Connection

type Connection struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              ConnectionSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status ConnectionStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

Connection define a connection to an external system (e.g. database, public cloud) +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Provider",type="string",JSONPath=".spec.provider",description="" +kubebuilder:printcolumn:name="Category",type="string",JSONPath=".spec.category",description="" +kubebuilder:printcolumn:name="Secret",type="string",JSONPath=".spec.secretRef.name",description="",priority=1 +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=connections,shortName=conn,singular=connection,categories={infra,modela}

func ParseConnectionYaml

func ParseConnectionYaml(content []byte) (*Connection, error)

func (*Connection) AddFinalizer

func (connection *Connection) AddFinalizer()

func (*Connection) CreateOrUpdateCond

func (connection *Connection) CreateOrUpdateCond(cond ConnectionCondition)

Merge or update condition

func (*Connection) CreateSecret

func (connection *Connection) CreateSecret() *v1.Secret

create a new secret based on secret fields. currently we place all the fields in the connection.

func (*Connection) DeepCopy

func (in *Connection) DeepCopy() *Connection

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

func (*Connection) DeepCopyInto

func (in *Connection) DeepCopyInto(out *Connection)

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

func (*Connection) DeepCopyObject

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

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

func (*Connection) Default

func (connection *Connection) Default()

No defaults for the current configuration

func (*Connection) GetCond

func (*Connection) GetCondIdx

func (connection *Connection) GetCondIdx(t ConnectionConditionType) int

func (*Connection) HasFinalizer

func (connection *Connection) HasFinalizer() bool

func (*Connection) IsReady

func (connection *Connection) IsReady() bool

func (*Connection) Key

func (connection *Connection) Key() string

func (*Connection) ManifestUri

func (connection *Connection) ManifestUri() string

func (*Connection) MarkArchived

func (connection *Connection) MarkArchived()

func (*Connection) MarkReady

func (connection *Connection) MarkReady()

func (*Connection) MaskSecretFields

func (connection *Connection) MaskSecretFields()

ask the connection to mask secret fields based on the type of the connection

func (*Connection) RemoveFinalizer

func (connection *Connection) RemoveFinalizer()

func (*Connection) RootUri

func (connection *Connection) RootUri() string

func (*Connection) Secret

func (connection *Connection) Secret(content map[string]string) (*corev1.Secret, error)

func (*Connection) SetupWebhookWithManager

func (connection *Connection) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Connection) UnmaskSecretFields added in v0.4.562

func (connection *Connection) UnmaskSecretFields(secret v1.Secret)

Place the values back in the connection string from the secret

func (*Connection) ValidateCreate

func (connection *Connection) ValidateCreate() error

func (*Connection) ValidateDelete

func (connection *Connection) ValidateDelete() error

func (*Connection) ValidateSecret

func (connection *Connection) ValidateSecret(s *v1.Secret) field.ErrorList

func (*Connection) ValidateUpdate

func (connection *Connection) ValidateUpdate(old runtime.Object) error

type ConnectionCondition

type ConnectionCondition struct {
	// Type of account condition.
	Type ConnectionConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=ConnectionConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,4,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
}

ConnectionCondition describes the state of a connection at a certain point.

func (*ConnectionCondition) DeepCopy

func (in *ConnectionCondition) DeepCopy() *ConnectionCondition

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

func (*ConnectionCondition) DeepCopyInto

func (in *ConnectionCondition) DeepCopyInto(out *ConnectionCondition)

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

type ConnectionConditionType

type ConnectionConditionType string

ConnectionConditionType is the type of condition

const (
	ConnectionReady ConnectionConditionType = "Ready"
	ConnectionSaved ConnectionConditionType = "Saved"
)

RegistryConnectionName Condition

type ConnectionList

type ConnectionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []Connection `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true ConnectionList is a list of Connections.

func (*ConnectionList) DeepCopy

func (in *ConnectionList) DeepCopy() *ConnectionList

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

func (*ConnectionList) DeepCopyInto

func (in *ConnectionList) DeepCopyInto(out *ConnectionList)

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

func (*ConnectionList) DeepCopyObject

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

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

type ConnectionSpec

type ConnectionSpec struct {
	// The reference to the Tenant which owns the DataProduct. Defaults to `default-tenant`
	// +kubebuilder:validation:Optional
	TenantRef *corev1.ObjectReference `json:"tenantRef" protobuf:"bytes,1,opt,name=tenantRef"`
	// The type of external system which the connection references
	// +kubebuilder:default:="general"
	// +kubebuilder:validation:Optional
	Category *catalog.ConnectionCategory `json:"category" protobuf:"bytes,2,opt,name=category"`
	// Provider specifies the name api provider (E.g. aws)
	// +kubebuilder:validation:Required
	// +required
	Provider *catalog.ProviderName `json:"provider,omitempty" protobuf:"bytes,3,opt,name=provider"`
	// The reference to the secret which stores the sensitive credentials required to connect to the external system
	// +kubebuilder:validation:Required
	// +required
	SecretRef v1.SecretReference `json:"secretRef,omitempty" protobuf:"bytes,4,opt,name=secretRef"`

	// +kubebuilder:validation:Optional
	AmazonAthena *AmazonAthenaSpec `json:"athena,omitempty" protobuf:"bytes,5,opt,name=athena"`

	// +kubebuilder:validation:Optional
	ApacheDrill *ApacheDrillSpec `json:"drill,omitempty" protobuf:"bytes,6,opt,name=drill"`

	// +kubebuilder:validation:Optional
	ApacheDruid *ApacheDruidSpec `json:"druid,omitempty" protobuf:"bytes,7,opt,name=druid"`

	// +kubebuilder:validation:Optional
	ApacheHive *ApacheHiveSpec `json:"hive,omitempty" protobuf:"bytes,8,opt,name=hive"`

	// +kubebuilder:validation:Optional
	RedShift *AmazonRedShiftSpec `json:"redshift,omitempty" protobuf:"bytes,9,opt,name=redshift"`

	// +kubebuilder:validation:Optional
	Dremio *DremioSpec `json:"dremio,omitempty" protobuf:"bytes,10,opt,name=dremio"`

	// +kubebuilder:validation:Optional
	DB2 *DB2Spec `json:"db2,omitempty" protobuf:"bytes,11,opt,name=db2"`

	// +kubebuilder:validation:Optional
	GcpBigQuery *GcpBigQuerySpec `json:"bigquery,omitempty" protobuf:"bytes,12,opt,name=bigquery"`

	// +kubebuilder:validation:Optional
	Cassandra *ApacheCassandraSpec `json:"cassandra,omitempty" protobuf:"bytes,13,opt,name=cassandra"`

	// +kubebuilder:validation:Optional
	AzureSQLDatabase *AzureSQLDatabaseSpec `json:"azuresqldatabase,omitempty" protobuf:"bytes,14,opt,name=azuresqldatabase"`

	// +kubebuilder:validation:Optional
	MongoDb *MongoDbSpec `json:"mongodb,omitempty" protobuf:"bytes,15,opt,name=mongodb"`

	// +kubebuilder:validation:Optional
	MySql *MySqlSpec `json:"mysql,omitempty" protobuf:"bytes,16,opt,name=mysql"`

	// +kubebuilder:validation:Optional
	Odbc *OdbcSpec `json:"odbc,omitempty" protobuf:"bytes,17,opt,name=odbc"`

	// +kubebuilder:validation:Optional
	Oracle *OracleSpec `json:"oracle,omitempty" protobuf:"bytes,18,opt,name=oracle"`

	// +kubebuilder:validation:Optional
	PostgresSQL *PostgresSQLSpec `json:"postgres,omitempty" protobuf:"bytes,19,opt,name=postgres"`

	// +kubebuilder:validation:Optional
	Presto *PrestoSpec `json:"presto,omitempty" protobuf:"bytes,20,opt,name=presto"`

	// +kubebuilder:validation:Optional
	Snowflake *SnowflakeSpec `json:"snowflake,omitempty" protobuf:"bytes,22,opt,name=snowflake"`

	// +kubebuilder:validation:Optional
	Sybase *SybaseSpec `json:"sybase,omitempty" protobuf:"bytes,23,opt,name=sybase"`

	// +kubebuilder:validation:Optional
	Vertica *VerticaSpec `json:"vertica,omitempty" protobuf:"bytes,24,opt,name=vertica"`

	// +kubebuilder:validation:Optional
	CockroachDB *CockroachDBSpec `json:"cockroachdb,omitempty" protobuf:"bytes,25,opt,name=cockroachdb"`

	// +kubebuilder:validation:Optional
	ElasticSearch *ElasticSearchSpec `json:"elasticsearch,omitempty" protobuf:"bytes,26,opt,name=elasticsearch"`

	// +kubebuilder:validation:Optional
	Informix *InformixSpec `json:"informix,omitempty" protobuf:"bytes,27,opt,name=informix"`

	// +kubebuilder:validation:Optional
	SAPHana *SAPHanaSpec `json:"hana,omitempty" protobuf:"bytes,28,opt,name=hana"`

	// +kubebuilder:validation:Optional
	Teradata *TeradataSpec `json:"teradata,omitempty" protobuf:"bytes,29,opt,name=teradata"`

	// +kubebuilder:validation:Optional
	GcpSpanner *GcpSpannerSpec `json:"spanner,omitempty" protobuf:"bytes,30,opt,name=spanner"`

	// +kubebuilder:validation:Optional
	Spark *ApacheSparkSpec `json:"spark,omitempty" protobuf:"bytes,31,opt,name=spark"`

	// +kubebuilder:validation:Optional
	MSSqlServer *MSSqlServerSpec `json:"mssqlserver,omitempty" protobuf:"bytes,32,opt,name=mssqlserver"`

	// +kubebuilder:validation:Optional
	Clickhouse *ClickHouseSpec `json:"clickhouse,omitempty" protobuf:"bytes,33,opt,name=clickhouse"`

	// +kubebuilder:validation:Optional
	Greenplum *GreenPlumSpec `json:"greenplum,omitempty" protobuf:"bytes,34,opt,name=greenplum"`

	// +kubebuilder:validation:Optional
	Couchbase *CouchbaseSpec `json:"couchbase,omitempty" protobuf:"bytes,35,opt,name=couchbase"`

	// +kubebuilder:validation:Optional
	Exasol *ExasolSpec `json:"exasol,omitempty" protobuf:"bytes,36,opt,name=exasol"`

	// +kubebuilder:validation:Optional
	SqlLite *SqliteSpec `json:"sqlite,omitempty" protobuf:"bytes,37,opt,name=sqlite"`

	// +kubebuilder:validation:Optional
	SingleStore *SingleStoreSpec `json:"singlestore,omitempty" protobuf:"bytes,38,opt,name=singlestore"`

	// +kubebuilder:validation:Optional
	GoogleSheets *GoogleSheetsSpec `json:"gsheets,omitempty" protobuf:"bytes,39,opt,name=gsheets"`

	// +kubebuilder:validation:Optional
	AzureStorage *AzureStorageSpec `json:"azurestorage,omitempty" protobuf:"bytes,40,opt,name=azurestorage"`

	// +kubebuilder:validation:Optional
	AliCloud *AliCloudSpec `json:"alicloud,omitempty" protobuf:"bytes,41,opt,name=alicloud"`

	// +kubebuilder:validation:Optional
	DigitalOcean *DigitalOceanSpec `json:"digitalocean,omitempty" protobuf:"bytes,42,opt,name=digitalocean"`

	// +kubebuilder:validation:Optional
	Hetzner *HetznerSpec `json:"hetzner,omitempty" protobuf:"bytes,43,opt,name=hetzner"`

	// +kubebuilder:validation:Optional
	GcpStorage *GcpStorageSpec `json:"gcpstorage,omitempty" protobuf:"bytes,45,opt,name=gcpstorage"`

	// +kubebuilder:validation:Optional
	Linode *LinodeSpec `json:"linode,omitempty" protobuf:"bytes,46,opt,name=linode"`

	// +kubebuilder:validation:Optional
	Minio *MinioSpec `json:"minio,omitempty" protobuf:"bytes,47,opt,name=minio"`

	// +kubebuilder:validation:Optional
	Openstack *OpenstackSpec `json:"openstack,omitempty" protobuf:"bytes,48,opt,name=openstack"`

	// +kubebuilder:validation:Optional
	Ovh *OvhSpec `json:"ovh,omitempty" protobuf:"bytes,49,opt,name=ovh"`

	// +kubebuilder:validation:Optional
	Aws *AwsS3Spec `json:"aws,omitempty" protobuf:"bytes,50,opt,name=aws"`

	// +kubebuilder:validation:Optional
	Smtp *SmtpSpec `json:"smtp,omitempty" protobuf:"bytes,51,opt,name=smtp"`

	// +kubebuilder:validation:Optional
	FTP *FtpSpec `json:"ftp,omitempty" protobuf:"bytes,52,opt,name=ftp"`

	// +kubebuilder:validation:Optional
	SFTP *SFtpSpec `json:"sftp,omitempty" protobuf:"bytes,53,opt,name=sftp"`

	// +kubebuilder:validation:Optional
	Dropbox *DropboxSpec `json:"dropbox,omitempty" protobuf:"bytes,54,opt,name=dropbox"`

	// +kubebuilder:validation:Optional
	Box *BoxSpec `json:"box,omitempty" protobuf:"bytes,55,opt,name=box"`

	// +kubebuilder:validation:Optional
	ImageRegistry *ImageRegistrySpec `json:"imageRegistry,omitempty" protobuf:"bytes,56,opt,name=imageRegistry"`

	// +kubebuilder:validation:Optional
	Github *GithubSpec `json:"github,omitempty" protobuf:"bytes,57,opt,name=github"`

	// +kubebuilder:validation:Optional
	Gitlab *GitlabSpec `json:"gitlab,omitempty" protobuf:"bytes,58,opt,name=gitlab"`

	// +kubebuilder:validation:Optional
	Bitbucket *BitbucketSpec `json:"bitbuckt,omitempty" protobuf:"bytes,59,opt,name=bitbucket"`

	// +kubebuilder:validation:Optional
	Slack *SlackSpec `json:"slack,omitempty" protobuf:"bytes,60,opt,name=slack"`

	// +kubebuilder:validation:Optional
	MSTeam *MSTeamSpec `json:"msteam,omitempty" protobuf:"bytes,61,opt,name=msteam"`

	// +kubebuilder:validation:Optional
	MatterMost *MattermostSpec `json:"matterMost,omitempty" protobuf:"bytes,62,opt,name=matterMost"`

	// +kubebuilder:validation:Optional
	Hipchat *HipchatSpec `json:"hipchat,omitempty" protobuf:"bytes,63,opt,name=hipchat"`

	// +kubebuilder:validation:Optional
	VictorOps *VictorOpSpec `json:"victorop,omitempty" protobuf:"bytes,64,opt,name=victorop"`

	// +kubebuilder:validation:Optional
	PagerDuty *PagerDutySpec `json:"pagerduty,omitempty" protobuf:"bytes,65,opt,name=pagerduty"`

	// +kubebuilder:validation:Optional
	Pushover *PushoverSpec `json:"pushover,omitempty" protobuf:"bytes,66,opt,name=pushover"`

	// +kubebuilder:validation:Optional
	Opsgenie *OpsgenieSpec `json:"opsgenie,omitempty" protobuf:"bytes,67,opt,name=opsgenie"`

	// +kubebuilder:validation:Optional
	Webhook *WebhookSpec `json:"webhook,omitempty" protobuf:"bytes,68,opt,name=webhook"`

	// Social media
	// +kubebuilder:validation:Optional
	Facebook *FacebookSpec `json:"facebook,omitempty" protobuf:"bytes,69,opt,name=facebook"`

	// +kubebuilder:validation:Optional
	Twitter *TwitterSpec `json:"twitter,omitempty" protobuf:"bytes,70,opt,name=twitter"`

	// +kubebuilder:validation:Optional
	RabbitMQ *RabbitMQSpec `json:"rabbitmq,omitempty" protobuf:"bytes,71,opt,name=rabbitmq"`

	// +kubebuilder:validation:Optional
	Kafka *KafkaSpec `json:"kafka,omitempty" protobuf:"bytes,72,opt,name=kafka"`

	// +kubebuilder:validation:Optional
	Neo4j *Neo4JSpec `json:"neo4j,omitempty" protobuf:"bytes,73,opt,name=neo4j"`

	// +kubebuilder:validation:Optional
	Discord *DiscordSpec `json:"discrod,omitempty" protobuf:"bytes,74,opt,name=discord"`

	// +kubebuilder:validation:Optional
	InfluxDb *InfluxDBSpec `json:"influx,omitempty" protobuf:"bytes,75,opt,name=influx"`

	// +kubebuilder:validation:Optional
	TimescaleDB *TimescaleDBSpec `json:"timescale,omitempty" protobuf:"bytes,76,opt,name=timescale"`

	// +kubebuilder:validation:Optional
	VictoriaMetrics *VictoriaMetricsSpec `json:"victoriaMetrics,omitempty" protobuf:"bytes,77,opt,name=victoriaMetrics"`

	// +kubebuilder:validation:Optional
	Saleforce *SaleforceSpec `json:"saleforce,omitempty" protobuf:"bytes,78,opt,name=saleforce"`

	// +kubebuilder:validation:Optional
	SapCRM *SapCRMSpec `json:"sapCrm,omitempty" protobuf:"bytes,79,opt,name=sapCrm"`

	// +kubebuilder:validation:Optional
	AirTable *AirTableSpec `json:"airtable,omitempty" protobuf:"bytes,80,opt,name=airtable"`

	// +kubebuilder:validation:Optional
	AppWrite *AirWriteSpec `json:"appWrite,omitempty" protobuf:"bytes,81,opt,name=appWrite"`

	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,82,opt,name=owner"`
}

ConnectionSpec defines the desired state of a Connection

func (*ConnectionSpec) DeepCopy

func (in *ConnectionSpec) DeepCopy() *ConnectionSpec

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

func (*ConnectionSpec) DeepCopyInto

func (in *ConnectionSpec) DeepCopyInto(out *ConnectionSpec)

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

type ConnectionStatus

type ConnectionStatus struct {
	// ObservedGeneration is the Last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
	// Last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,2,opt,name=lastUpdated"`
	// Update in case of terminal failure
	// Borrowed from cluster api controller
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,3,opt,name=failureReason"`
	// Update in case of terminal failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,4,opt,name=failureMessage"`

	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []ConnectionCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,5,rep,name=conditions"`
}

ConnectionStatus is the observed state of a Connection

func (*ConnectionStatus) DeepCopy

func (in *ConnectionStatus) DeepCopy() *ConnectionStatus

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

func (*ConnectionStatus) DeepCopyInto

func (in *ConnectionStatus) DeepCopyInto(out *ConnectionStatus)

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

type CouchbaseSpec

type CouchbaseSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=8123
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	DefaultBucket *string `json:"defaultBucket,omitempty" protobuf:"bytes,6,opt,name=defaultBucket"`
	// URL Override the other
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,7,opt,name=url"`
}

func (*CouchbaseSpec) DeepCopy

func (in *CouchbaseSpec) DeepCopy() *CouchbaseSpec

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

func (*CouchbaseSpec) DeepCopyInto

func (in *CouchbaseSpec) DeepCopyInto(out *CouchbaseSpec)

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

type DB2Spec

type DB2Spec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*DB2Spec) DeepCopy

func (in *DB2Spec) DeepCopy() *DB2Spec

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

func (*DB2Spec) DeepCopyInto

func (in *DB2Spec) DeepCopyInto(out *DB2Spec)

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

type DigitalOceanSpec

type DigitalOceanSpec struct {
	// Token for digital ocean
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
	// Access Key for digital ocean spaces
	// +kubebuilder:default:=""
	AccessKey *string `json:"accessKey,omitempty" protobuf:"bytes,2,opt,name=accessKey"`
	// StorageSecret Key for digital ocean spaces
	// +kubebuilder:default:=""
	SecretKey *string `json:"secretKey,omitempty" protobuf:"bytes,3,opt,name=secretKey"`
	// Default digital ocean
	// +kubebuilder:default:=""
	DefaultRegion *string `json:"defaultRegion,omitempty" protobuf:"bytes,4,opt,name=defaultRegion"`
	// url or connection string
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,5,opt,name=host"`
}

func (*DigitalOceanSpec) DeepCopy

func (in *DigitalOceanSpec) DeepCopy() *DigitalOceanSpec

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

func (*DigitalOceanSpec) DeepCopyInto

func (in *DigitalOceanSpec) DeepCopyInto(out *DigitalOceanSpec)

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

type DiscordSpec added in v0.4.533

type DiscordSpec struct {
	// Discrod webhook
	// +kubebuilder:default:=""
	Url *string `json:"url,omitempty" protobuf:"bytes,1,opt,name=url"`
	// Content type
	// +kubebuilder:default:="application/json"
	ContentType *string `json:"contentType,omitempty" protobuf:"bytes,2,opt,name=contentType"`
	// The webhook secret token
	Token *string `json:"token,omitempty" protobuf:"bytes,3,opt,name=token"`
	// custom headers to send
	Headers map[string]string `json:"headers,omitempty" protobuf:"bytes,4,opt,name=headers"`
	// +kubebuilder:default:=false
	SSL *bool `json:"ssl,omitempty" protobuf:"varint,5,opt,name=ssl"`
}

func (*DiscordSpec) DeepCopy added in v0.4.533

func (in *DiscordSpec) DeepCopy() *DiscordSpec

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

func (*DiscordSpec) DeepCopyInto added in v0.4.533

func (in *DiscordSpec) DeepCopyInto(out *DiscordSpec)

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

type DremioSpec added in v0.4.499

type DremioSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*DremioSpec) DeepCopy added in v0.4.499

func (in *DremioSpec) DeepCopy() *DremioSpec

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

func (*DremioSpec) DeepCopyInto added in v0.4.499

func (in *DremioSpec) DeepCopyInto(out *DremioSpec)

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

type DropboxSpec

type DropboxSpec struct {
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
}

func (*DropboxSpec) DeepCopy

func (in *DropboxSpec) DeepCopy() *DropboxSpec

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

func (*DropboxSpec) DeepCopyInto

func (in *DropboxSpec) DeepCopyInto(out *DropboxSpec)

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

type ElasticSearchSpec

type ElasticSearchSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=5432
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Prefix *string `json:"prefix,omitempty" protobuf:"bytes,3,opt,name=prefix"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*ElasticSearchSpec) DeepCopy

func (in *ElasticSearchSpec) DeepCopy() *ElasticSearchSpec

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

func (*ElasticSearchSpec) DeepCopyInto

func (in *ElasticSearchSpec) DeepCopyInto(out *ElasticSearchSpec)

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

type ExasolSpec

type ExasolSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,7,opt,name=url"`
}

func (*ExasolSpec) DeepCopy

func (in *ExasolSpec) DeepCopy() *ExasolSpec

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

func (*ExasolSpec) DeepCopyInto

func (in *ExasolSpec) DeepCopyInto(out *ExasolSpec)

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

type FTPSpec

type FTPSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*FTPSpec) DeepCopy

func (in *FTPSpec) DeepCopy() *FTPSpec

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

func (*FTPSpec) DeepCopyInto

func (in *FTPSpec) DeepCopyInto(out *FTPSpec)

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

type FacebookSpec

type FacebookSpec struct {
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
}

func (*FacebookSpec) DeepCopy

func (in *FacebookSpec) DeepCopy() *FacebookSpec

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

func (*FacebookSpec) DeepCopyInto

func (in *FacebookSpec) DeepCopyInto(out *FacebookSpec)

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

type FtpSpec

type FtpSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 21
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,3,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,4,opt,name=password"`
}

func (*FtpSpec) DeepCopy

func (in *FtpSpec) DeepCopy() *FtpSpec

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

func (*FtpSpec) DeepCopyInto

func (in *FtpSpec) DeepCopyInto(out *FtpSpec)

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

type GcpBigQuerySpec

type GcpBigQuerySpec struct {
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// UserName
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,3,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,4,opt,name=password"`
	// +kubebuilder:default:=""
	ProjectID *string `json:"projectID,omitempty" protobuf:"bytes,5,opt,name=projectID"`
	// +kubebuilder:default:=""
	OAuthType *string `json:"oauthType,omitempty" protobuf:"bytes,6,opt,name=oauthType"`
	// +kubebuilder:default:=""
	ServiceAccountKeyPath *string `json:"serviceAccountKeyPath,omitempty" protobuf:"bytes,7,opt,name=serviceAccountKeyPath"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,8,opt,name=url"`
}

BigQuerySpec defines the connection to Google BigQuery

func (*GcpBigQuerySpec) DeepCopy

func (in *GcpBigQuerySpec) DeepCopy() *GcpBigQuerySpec

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

func (*GcpBigQuerySpec) DeepCopyInto

func (in *GcpBigQuerySpec) DeepCopyInto(out *GcpBigQuerySpec)

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

type GcpSpannerSpec

type GcpSpannerSpec struct {
	// +kubebuilder:default:=""
	Project *string `json:"project,omitempty" protobuf:"bytes,1,opt,name=project"`
	// +kubebuilder:default:=""
	Instance *string `json:"instance,omitempty" protobuf:"bytes,2,opt,name=instance"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,3,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,4,opt,name=password"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,5,opt,name=database"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*GcpSpannerSpec) DeepCopy

func (in *GcpSpannerSpec) DeepCopy() *GcpSpannerSpec

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

func (*GcpSpannerSpec) DeepCopyInto

func (in *GcpSpannerSpec) DeepCopyInto(out *GcpSpannerSpec)

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

type GcpStorageSpec

type GcpStorageSpec struct {
	// +kubebuilder:default:=""
	KeyFile *string `json:"keyFile,omitempty" protobuf:"bytes,1,opt,name=keyFile"`
	// +kubebuilder:default:=""
	Project *string `json:"project,omitempty" protobuf:"bytes,2,opt,name=project"`
}

func (*GcpStorageSpec) DeepCopy

func (in *GcpStorageSpec) DeepCopy() *GcpStorageSpec

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

func (*GcpStorageSpec) DeepCopyInto

func (in *GcpStorageSpec) DeepCopyInto(out *GcpStorageSpec)

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

type GithubSpec

type GithubSpec struct {
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,2,opt,name=username"`
	// +kubebuilder:default:=""
	SSH *string `json:"ssh,omitempty" protobuf:"bytes,3,opt,name=ssh"`
}

func (*GithubSpec) DeepCopy

func (in *GithubSpec) DeepCopy() *GithubSpec

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

func (*GithubSpec) DeepCopyInto

func (in *GithubSpec) DeepCopyInto(out *GithubSpec)

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

type GitlabSpec

type GitlabSpec struct {
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
	// +kubebuilder:default:=""
	SSH *string `json:"ssh,omitempty" protobuf:"bytes,2,opt,name=ssh"`
}

func (*GitlabSpec) DeepCopy

func (in *GitlabSpec) DeepCopy() *GitlabSpec

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

func (*GitlabSpec) DeepCopyInto

func (in *GitlabSpec) DeepCopyInto(out *GitlabSpec)

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

type GoogleSheetsSpec

type GoogleSheetsSpec struct {
	// +kubebuilder:default:=""
	Scopes *string `json:"scopes,omitempty" protobuf:"bytes,1,opt,name=scopes"`
	// +kubebuilder:default:= ""
	ID *string `json:"id,omitempty" protobuf:"varint,2,opt,name=id"`
	// +kubebuilder:default:=""
	DataToPull *string `json:"dataToPull,omitempty" protobuf:"bytes,3,opt,name=dataToPull"`
}

func (*GoogleSheetsSpec) DeepCopy

func (in *GoogleSheetsSpec) DeepCopy() *GoogleSheetsSpec

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

func (*GoogleSheetsSpec) DeepCopyInto

func (in *GoogleSheetsSpec) DeepCopyInto(out *GoogleSheetsSpec)

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

type GreenPlumSpec

type GreenPlumSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=5432
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*GreenPlumSpec) DeepCopy

func (in *GreenPlumSpec) DeepCopy() *GreenPlumSpec

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

func (*GreenPlumSpec) DeepCopyInto

func (in *GreenPlumSpec) DeepCopyInto(out *GreenPlumSpec)

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

type HetznerSpec

type HetznerSpec struct {
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
	// +kubebuilder:default:=""
	SSH *string `json:"ssh,omitempty" protobuf:"bytes,2,opt,name=ssh"`
}

func (*HetznerSpec) DeepCopy

func (in *HetznerSpec) DeepCopy() *HetznerSpec

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

func (*HetznerSpec) DeepCopyInto

func (in *HetznerSpec) DeepCopyInto(out *HetznerSpec)

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

type HipchatSpec

type HipchatSpec struct {
	// +kubebuilder:default:=""
	Url *string `json:"url,omitempty" protobuf:"bytes,1,opt,name=url"`
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,2,opt,name=token"`
	// +kubebuilder:default:=""
	Room *string `json:"room,omitempty" protobuf:"bytes,3,opt,name=room"`
}

func (*HipchatSpec) DeepCopy

func (in *HipchatSpec) DeepCopy() *HipchatSpec

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

func (*HipchatSpec) DeepCopyInto

func (in *HipchatSpec) DeepCopyInto(out *HipchatSpec)

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

type ImageRegistrySpec

type ImageRegistrySpec struct {
	// Hostname for the image registry
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// Username for image registry
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,2,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,3,opt,name=password"`
}

func (*ImageRegistrySpec) DeepCopy

func (in *ImageRegistrySpec) DeepCopy() *ImageRegistrySpec

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

func (*ImageRegistrySpec) DeepCopyInto

func (in *ImageRegistrySpec) DeepCopyInto(out *ImageRegistrySpec)

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

type InfluxDBSpec added in v0.5.122

type InfluxDBSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*InfluxDBSpec) DeepCopy added in v0.5.122

func (in *InfluxDBSpec) DeepCopy() *InfluxDBSpec

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

func (*InfluxDBSpec) DeepCopyInto added in v0.5.122

func (in *InfluxDBSpec) DeepCopyInto(out *InfluxDBSpec)

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

type InformixSpec

type InformixSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=1526
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*InformixSpec) DeepCopy

func (in *InformixSpec) DeepCopy() *InformixSpec

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

func (*InformixSpec) DeepCopyInto

func (in *InformixSpec) DeepCopyInto(out *InformixSpec)

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

type IngressSpec added in v0.4.682

type IngressSpec struct {
	// FQDN specifies the fully-qualified domain name that the ServingSite's Ingress will use as the base host for the
	// endpoint of services deployed under the ServingSite. For example, setting the FQDN as `model-serving.modela.ai`
	// will automatically serve Predictors using the REST API at `predictors.model-serving.modela.ai`
	// +kubebuilder:default:="serving.vcap.me"
	// +kubebuilder:validation:Optional
	FQDN *string `json:"fqdn,omitempty" protobuf:"bytes,1,opt,name=fqdn"`
	// Grpc indicates if the ServingSite will create an Ingress resource to serve GRPC prediction traffic.
	// All Predictor resources created under the ServingSite will receive a unique host in the Ingress
	// determined by the name of the Predictor and the FQDN of the ServingSite (i.e. my-predictor.model-serving.modela.ai)
	// +kubebuilder:default:=true
	// +kubebuilder:validation:Optional
	GRPC *bool `json:"grpc,omitempty" protobuf:"varint,2,opt,name=grpc"`
	// Rest indicates if the ServingSite will create an Ingress resource to serve REST prediction traffic.
	// All REST traffic will be served under a single host determined by the FQDN of the ServingSite
	// (i.e. predictors.model-serving.modela.ai). RestIngress must be enabled to serve DataApps over Ingress
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	REST *bool `json:"rest,omitempty" protobuf:"varint,3,opt,name=rest"`
	// IngressClassName is the name of the ingress class that will be applied to created Ingress resources
	// (defaults to nginx)
	// +kubebuilder:default:="nginx"
	IngressClassName *string `json:"ingressClassName,omitempty" protobuf:"bytes,4,opt,name=ingressClassName"`
	// ClusterIssuerName is a cert manager resource that provide TLS certificate to the ingress.
	// +kubebuilder:default:=""
	ClusterIssuerName *string `json:"clusterIssuerName,omitempty" protobuf:"bytes,5,opt,name=clusterIssuerName"`
	// TlsSecretName specifies the name of the secret that contains the TLS certificate for the ingress.
	// If it does not exist, ClusterIssuerName must be specified for Cert Manager to generate the certificate
	// +kubebuilder:validation:Optional
	TlsSecretRef v1.SecretReference `json:"tlsSecretRef,omitempty" protobuf:"bytes,6,opt,name=tlsSecretRef"`
}

IngressSpec defines the configuration to for a ServingSite to create Ingress resources

func (*IngressSpec) DeepCopy added in v0.4.682

func (in *IngressSpec) DeepCopy() *IngressSpec

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

func (*IngressSpec) DeepCopyInto added in v0.4.682

func (in *IngressSpec) DeepCopyInto(out *IngressSpec)

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

type KafkaSpec

type KafkaSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Channel *string `json:"channel,omitempty" protobuf:"bytes,3,opt,name=channel"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*KafkaSpec) DeepCopy

func (in *KafkaSpec) DeepCopy() *KafkaSpec

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

func (*KafkaSpec) DeepCopyInto

func (in *KafkaSpec) DeepCopyInto(out *KafkaSpec)

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

type Lab

type Lab struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              LabSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status LabStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

Lab represents a single namespace where data analysis and model training workloads take place +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Owner",type="string",JSONPath=".spec.owner" +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".spec.clusterName" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:path=labs,singular=lab,categories={infra,modela,all} +kubebuilder:subresource:status

func ParseLabYaml

func ParseLabYaml(content []byte) (*Lab, error)

func (*Lab) AddFinalizer

func (lab *Lab) AddFinalizer()

func (*Lab) CreateNamespace

func (lab *Lab) CreateNamespace() *corev1.Namespace

func (*Lab) CreateOrUpdateCond

func (lab *Lab) CreateOrUpdateCond(cond LabCondition)

Merge or update condition

func (*Lab) DeepCopy

func (in *Lab) DeepCopy() *Lab

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

func (*Lab) DeepCopyInto

func (in *Lab) DeepCopyInto(out *Lab)

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

func (*Lab) DeepCopyObject

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

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

func (*Lab) Default

func (lab *Lab) Default()

func (*Lab) GetCond

func (lab *Lab) GetCond(t LabConditionType) LabCondition

func (*Lab) GetCondIdx

func (lab *Lab) GetCondIdx(t LabConditionType) int

func (*Lab) HasFinalizer

func (lab *Lab) HasFinalizer() bool

func (*Lab) IsArchived

func (lab *Lab) IsArchived() bool

func (*Lab) IsReady

func (lab *Lab) IsReady() bool

func (*Lab) Key

func (lab *Lab) Key() string

func (*Lab) LabAdmin

func (lab *Lab) LabAdmin() *rbacv1.Role

func (*Lab) LabDev

func (lab *Lab) LabDev() *rbacv1.Role

func (*Lab) LabJobRole

func (lab *Lab) LabJobRole() *rbacv1.Role

func (*Lab) LabJobRoleBinding

func (lab *Lab) LabJobRoleBinding() *rbacv1.RoleBinding

Create a role binding for a job

func (*Lab) LabOps

func (lab *Lab) LabOps() *rbacv1.Role

func (*Lab) LabServiceAccount

func (lab *Lab) LabServiceAccount() *corev1.ServiceAccount

func (*Lab) ManifestUri

func (lab *Lab) ManifestUri() string

func (*Lab) MarkArchived

func (lab *Lab) MarkArchived()

func (*Lab) RemoveFinalizer

func (lab *Lab) RemoveFinalizer()

func (*Lab) RepEntry

func (lab *Lab) RepEntry() (string, error)

func (*Lab) RepPath

func (lab *Lab) RepPath(root string) (string, error)

Return the on disk rep location

func (*Lab) RootUri

func (lab *Lab) RootUri() string

func (*Lab) Selector

func (lab *Lab) Selector() *metav1.LabelSelector

func (*Lab) SetupWebhookWithManager

func (lab *Lab) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Lab) ValidateCreate

func (lab *Lab) ValidateCreate() error

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

func (*Lab) ValidateDelete

func (lab *Lab) ValidateDelete() error

func (*Lab) ValidateUpdate

func (lab *Lab) ValidateUpdate(old runtime.Object) error

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

type LabCondition

type LabCondition struct {
	// Type of account condition.
	Type LabConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=LabConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

LabCondition describes the state of a Lab at a certain point

func (*LabCondition) DeepCopy

func (in *LabCondition) DeepCopy() *LabCondition

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

func (*LabCondition) DeepCopyInto

func (in *LabCondition) DeepCopyInto(out *LabCondition)

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

type LabConditionType

type LabConditionType string

LabConditionType is the condition of the lab

const (
	LabReady LabConditionType = "Ready"
	LabSaved LabConditionType = "Saved"
)

/ TenantRef Condition

type LabList

type LabList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Items []Lab `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true LabList is the list of Labs

func (*LabList) DeepCopy

func (in *LabList) DeepCopy() *LabList

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

func (*LabList) DeepCopyInto

func (in *LabList) DeepCopyInto(out *LabList)

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

func (*LabList) DeepCopyObject

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

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

type LabSpec

type LabSpec struct {
	// The user-provided description of the Lab
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	// +kubebuilder:validation:MaxLength=256
	Description *string `json:"description,omitempty" protobuf:"bytes,1,opt,name=description"`
	// +kubebuilder:validation:Optional
	// The reference to the tenant which the object exists under
	TenantRef *corev1.ObjectReference `json:"tenantRef,omitempty" protobuf:"bytes,2,opt,name=tenantRef"`
	// Limits specifies the hard resource limits that can be allocated for workloads created under the Lab
	// +kubebuilder:validation:Optional
	Limits ResourceLimitSpec `json:"limits,omitempty" protobuf:"bytes,3,opt,name=limits"`
	// ClusterName is the name of a VirtualCluster that exists under the same tenant as the object. If specified, Jobs
	// assigned to the Lab will be executed inside the cluster (currently not implemented)
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	ClusterName *string `json:"clusterName,omitempty" protobuf:"bytes,4,opt,name=clusterName"`
	// The name of the Account which created the object, which exists in the same tenant as the object
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,5,opt,name=owner"`
}

LabSpec defines the desired state of a Lab

func (*LabSpec) DeepCopy

func (in *LabSpec) DeepCopy() *LabSpec

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

func (*LabSpec) DeepCopyInto

func (in *LabSpec) DeepCopyInto(out *LabSpec)

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

type LabStatus

type LabStatus struct {
	// ObservedGeneration is the last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
	// The last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,2,opt,name=lastUpdated"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []LabCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,3,rep,name=conditions"`
}

LabStatus is the observed state of a Lab

func (*LabStatus) DeepCopy

func (in *LabStatus) DeepCopy() *LabStatus

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

func (*LabStatus) DeepCopyInto

func (in *LabStatus) DeepCopyInto(out *LabStatus)

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

type License

type License struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              LicenseSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status LicenseStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

License represents the license key and limitations of a cluster-wide license obtained from Modela.ai +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Valid\")].status",description="" +kubebuilder:printcolumn:name="Owner",type="string",JSONPath=".spec.owner",description="" +kubebuilder:printcolumn:name="Secret",type="string",JSONPath=".spec.secretRef.name",description="" +kubebuilder:printcolumn:name="Trial Start",type="string",JSONPath=".spec.trialStart",description="" +kubebuilder:printcolumn:name="Trial End",type="string",JSONPath=".spec.trialEnd",description="" +kubebuilder:printcolumn:name="ExpectedValueMax Trainers",type="string",JSONPath=".spec.maxTrainers",description="",priority=1 +kubebuilder:printcolumn:name="ExpectedValueMax Nodes",type="string",JSONPath=".spec.maxServers",description="",priority=1 +kubebuilder:printcolumn:name="ExpectedValueMax Users",type="string",JSONPath=".spec.maxUsers",description="",priority=1 +kubebuilder:printcolumn:name="Expire At",type="date",JSONPath=".spec.expireAt",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=licenses,singular=license,categories={infra,modela}

func ParseLicenseYaml

func ParseLicenseYaml(content []byte) (*License, error)

func (*License) AddFinalizer

func (license *License) AddFinalizer()

func (*License) CreateOrUpdateCond

func (license *License) CreateOrUpdateCond(cond LicenseCondition)

Merge or update condition

func (*License) DeepCopy

func (in *License) DeepCopy() *License

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

func (*License) DeepCopyInto

func (in *License) DeepCopyInto(out *License)

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

func (*License) DeepCopyObject

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

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

func (*License) Default

func (license *License) Default()

func (*License) GetCond

func (license *License) GetCond(t LicenseConditionType) LicenseCondition

func (*License) GetCondIdx

func (license *License) GetCondIdx(t LicenseConditionType) int

func (*License) HasExpired

func (license *License) HasExpired() bool

Check if the license has expired.

func (*License) HasFinalizer

func (license *License) HasFinalizer() bool

func (*License) IsFreeTrial

func (license *License) IsFreeTrial() bool

Check if we are still in free trial

func (*License) IsValid

func (license *License) IsValid() bool

func (*License) ManifestUri

func (license *License) ManifestUri() string

func (*License) MarkValid

func (license *License) MarkValid()

func (*License) RemoveFinalizer

func (license *License) RemoveFinalizer()

func (*License) RootUri

func (license *License) RootUri() string

func (*License) SetupWebhookWithManager

func (license *License) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*License) ValidateCreate

func (license *License) ValidateCreate() error

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

func (*License) ValidateDelete

func (m *License) ValidateDelete() error

func (*License) ValidateUpdate

func (license *License) ValidateUpdate(old runtime.Object) error

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

type LicenseCondition

type LicenseCondition struct {
	// Type of condition.
	Type LicenseConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=LicenseConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

LicenseCondition describes the state of the license at a certain point

func (*LicenseCondition) DeepCopy

func (in *LicenseCondition) DeepCopy() *LicenseCondition

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

func (*LicenseCondition) DeepCopyInto

func (in *LicenseCondition) DeepCopyInto(out *LicenseCondition)

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

type LicenseConditionType

type LicenseConditionType string
const (
	LicenseValid LicenseConditionType = "Valid"
	LicenseSaved LicenseConditionType = "Saved"
)

/ License Condition

type LicenseList

type LicenseList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Items []License `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true LicenseList is a list of Licenses

func (*LicenseList) DeepCopy

func (in *LicenseList) DeepCopy() *LicenseList

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

func (*LicenseList) DeepCopyInto

func (in *LicenseList) DeepCopyInto(out *LicenseList)

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

func (*LicenseList) DeepCopyObject

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

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

type LicenseSpec

type LicenseSpec struct {
	// The reference to the secret containing the license token
	// +kubebuilder:validation:Optional
	SecretRef v1.SecretReference `json:"secretRef" protobuf:"bytes,2,opt,name=secretRef"`
	// The e-mail address of the Modela.ai account which owns the license
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	Email *string `json:"email,omitempty" protobuf:"bytes,4,opt,name=email"`
	// TrialStart is the start date for of the free trial period, if active
	// +kubebuilder:validation:Optional
	TrialStart *metav1.Time `json:"trialStart,omitempty" protobuf:"bytes,5,opt,name=trialStart"`
	// TrialEnd specifies when the free trial expires, if active
	// +kubebuilder:validation:Optional
	TrialEnd *metav1.Time `json:"trialEnd,omitempty" protobuf:"bytes,6,opt,name=trialEnd"`
	// MaxProducts specifies the maximum number of DataProduct across the cluster
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Optional
	MaxProducts *int32 `json:"maxProducts,omitempty" protobuf:"varint,7,opt,name=maxProducts"`
	// MaxTrainers specifies the maximum number of parallel trainers that can be active at once
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Optional
	MaxTrainers *int32 `json:"maxTrainers,omitempty" protobuf:"varint,8,opt,name=maxTrainers"`
	// MaxServers specifies the maximum number of Kubernetes nodes that may be utilized at once
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Optional
	MaxServers *int32 `json:"maxServers,omitempty" protobuf:"varint,9,opt,name=maxServers"`
	// MaxUsers specifies the maximum number of Accounts that can be created across all tenants
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Optional
	MaxUsers *int32 `json:"maxUsers,omitempty" protobuf:"varint,10,opt,name=maxUsers"`
	// MaxDataPlanes specifies the maximum number of data plane replicas that may exist at once
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Optional
	MaxDataPlanes *int32 `json:"maxDataPlanes,omitempty" protobuf:"varint,11,opt,name=maxDataPlanes"`
	// Forecast indicates if Modela can generate forecasting models
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Forecast *bool `json:"forecast,omitempty" protobuf:"varint,12,opt,name=forecast"`
	// NLP indicates if natural language processing models are supported
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	NLP *bool `json:"nlp,omitempty" protobuf:"varint,13,opt,name=nlp"`
	// Vision indicates if computer vision models are supported
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Vision *bool `json:"vision,omitempty" protobuf:"varint,14,opt,name=vision"`
	// Chatbot indicates if chatbot models are supported
	// +kubebuilder:default:=false
	Chatbot *bool `json:"chatbot,omitempty" protobuf:"varint,15,opt,name=chatbot"`
	// The name of the license product, internal to Modela.ai
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	ProductName *string `json:"productName,omitempty" protobuf:"bytes,16,opt,name=productName"`
	// The name of the license price, internal to Modela.ai
	// +kubebuilder:validation:Optional
	PriceName *string `json:"priceName,omitempty" protobuf:"bytes,17,opt,name=priceName"`
	// The date at which the license expires
	// +kubebuilder:validation:Optional
	ExpireAt *metav1.Time `json:"expireAt,omitempty" protobuf:"bytes,18,opt,name=expireAt"`
	// The reference to a Notifier resource that receives Alerts for license expiration
	// +kubebuilder:validation:Optional
	NotifierName *string `json:"notifierName,omitempty" protobuf:"bytes,19,opt,name=notifierName"`
}

LicenseSpec defines the details of a License. The contents of the specification are derived from the actual license key, and changing the specification has no effect on the limitations of the license

func (*LicenseSpec) DeepCopy

func (in *LicenseSpec) DeepCopy() *LicenseSpec

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

func (*LicenseSpec) DeepCopyInto

func (in *LicenseSpec) DeepCopyInto(out *LicenseSpec)

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

type LicenseStatus

type LicenseStatus struct {
	// The last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,1,opt,name=lastUpdated"`
	// ObservedGeneration is the last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,2,opt,name=observedGeneration"`
	// In the case of failure, the License resource controller will set this field with a failure reason
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,3,opt,name=failureReason"`
	// In the case of failure, the License resource controller will set this field with a failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,4,opt,name=failureMessage"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []LicenseCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,5,rep,name=conditions"`
}

LicenseStatus is the observed state of a License

func (*LicenseStatus) DeepCopy

func (in *LicenseStatus) DeepCopy() *LicenseStatus

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

func (*LicenseStatus) DeepCopyInto

func (in *LicenseStatus) DeepCopyInto(out *LicenseStatus)

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

type LicenseType

type LicenseType string

LicenseType is the type of license +kubebuilder:validation:Enum="lite";"pro";"enterprise"

const (
	Lite       LicenseType = "lite"
	Pro        LicenseType = "pro"
	Enterprise LicenseType = "enterprise"
)

type LinodeSpec

type LinodeSpec struct {
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
}

func (*LinodeSpec) DeepCopy

func (in *LinodeSpec) DeepCopy() *LinodeSpec

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

func (*LinodeSpec) DeepCopyInto

func (in *LinodeSpec) DeepCopyInto(out *LinodeSpec)

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

type MSSqlServerSpec

type MSSqlServerSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=1433
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Instance *string `json:"instance,omitempty" protobuf:"bytes,4,opt,name=instance"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,5,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,6,opt,name=password"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,7,opt,name=url"`
}

func (*MSSqlServerSpec) DeepCopy

func (in *MSSqlServerSpec) DeepCopy() *MSSqlServerSpec

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

func (*MSSqlServerSpec) DeepCopyInto

func (in *MSSqlServerSpec) DeepCopyInto(out *MSSqlServerSpec)

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

type MSTeamSpec

type MSTeamSpec struct {
	// +kubebuilder:default:=""
	Webhook *string `json:"webhook,omitempty" protobuf:"bytes,1,opt,name=webhook"`
}

func (*MSTeamSpec) DeepCopy

func (in *MSTeamSpec) DeepCopy() *MSTeamSpec

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

func (*MSTeamSpec) DeepCopyInto

func (in *MSTeamSpec) DeepCopyInto(out *MSTeamSpec)

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

type MattermostSpec

type MattermostSpec struct {
	// +kubebuilder:default:=""
	Url *string `json:"url,omitempty" protobuf:"bytes,1,opt,name=url"`
	// +kubebuilder:default:=""
	Channel *string `json:"channel,omitempty" protobuf:"bytes,2,opt,name=channel"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,3,opt,name=username"`
}

func (*MattermostSpec) DeepCopy

func (in *MattermostSpec) DeepCopy() *MattermostSpec

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

func (*MattermostSpec) DeepCopyInto

func (in *MattermostSpec) DeepCopyInto(out *MattermostSpec)

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

type MinioSpec

type MinioSpec struct {
	// Access key for minio
	// +kubebuilder:default:=""
	AccessKey *string `json:"accessKey,omitempty" protobuf:"bytes,1,opt,name=accessKey"`
	// StorageSecret key for minio
	// +kubebuilder:default:=""
	SecretKey *string `json:"secretKey,omitempty" protobuf:"bytes,2,opt,name=secretKey"`
	// Minio url connection.
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,3,opt,name=host"`
}

func (*MinioSpec) DeepCopy

func (in *MinioSpec) DeepCopy() *MinioSpec

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

func (*MinioSpec) DeepCopyInto

func (in *MinioSpec) DeepCopyInto(out *MinioSpec)

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

type ModelaSystem

type ModelaSystem struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              ModelaSystemSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status ModelaSystemStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=modelasystems,singular=modelasystem,categories={infra,modela}

func ParseModelaSystemYaml

func ParseModelaSystemYaml(content []byte) (*ModelaSystem, error)

func (*ModelaSystem) AddFinalizer

func (notifier *ModelaSystem) AddFinalizer()

func (*ModelaSystem) CreateOrUpdateCond

func (notifier *ModelaSystem) CreateOrUpdateCond(cond ModelaSystemCondition)

Merge or update condition

func (*ModelaSystem) DeepCopy

func (in *ModelaSystem) DeepCopy() *ModelaSystem

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

func (*ModelaSystem) DeepCopyInto

func (in *ModelaSystem) DeepCopyInto(out *ModelaSystem)

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

func (*ModelaSystem) DeepCopyObject

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

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

func (*ModelaSystem) Default

func (notifier *ModelaSystem) Default()

func (*ModelaSystem) GetCond

func (*ModelaSystem) GetCondIdx

func (notifier *ModelaSystem) GetCondIdx(t ModelaSystemConditionType) int

func (*ModelaSystem) HasFinalizer

func (notifier *ModelaSystem) HasFinalizer() bool

func (*ModelaSystem) IsReady

func (notifier *ModelaSystem) IsReady() bool

func (*ModelaSystem) ManifestUri

func (notifier *ModelaSystem) ManifestUri() string

func (*ModelaSystem) MarkArchived

func (alert *ModelaSystem) MarkArchived()

func (*ModelaSystem) MarkReady

func (notifier *ModelaSystem) MarkReady()

func (*ModelaSystem) RemoveFinalizer

func (notifier *ModelaSystem) RemoveFinalizer()

func (*ModelaSystem) RootUri

func (notifier *ModelaSystem) RootUri() string

func (*ModelaSystem) SetupWebhookWithManager

func (notifier *ModelaSystem) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*ModelaSystem) ValidateCreate

func (notifier *ModelaSystem) ValidateCreate() error

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

func (*ModelaSystem) ValidateDelete

func (notifier *ModelaSystem) ValidateDelete() error

func (*ModelaSystem) ValidateUpdate

func (notifier *ModelaSystem) ValidateUpdate(old runtime.Object) error

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

type ModelaSystemCondition

type ModelaSystemCondition struct {
	// Type of account condition.
	Type ModelaSystemConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=ModelaSystemConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

ModelaSystemCondition describes the state of the ModelaSystem at a certain point

func (*ModelaSystemCondition) DeepCopy

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

func (*ModelaSystemCondition) DeepCopyInto

func (in *ModelaSystemCondition) DeepCopyInto(out *ModelaSystemCondition)

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

type ModelaSystemConditionType

type ModelaSystemConditionType string

ModelaSystem condition

const (
	ModelaSystemReady ModelaSystemConditionType = "Ready"
	ModelaSystemSaved ModelaSystemConditionType = "Saved"
)

/ ModelaSystem Condition

type ModelaSystemList

type ModelaSystemList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []ModelaSystem `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true ModelaSystemList is a list of ModelaSystems

func (*ModelaSystemList) DeepCopy

func (in *ModelaSystemList) DeepCopy() *ModelaSystemList

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

func (*ModelaSystemList) DeepCopyInto

func (in *ModelaSystemList) DeepCopyInto(out *ModelaSystemList)

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

func (*ModelaSystemList) DeepCopyObject

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

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

type ModelaSystemSpec

type ModelaSystemSpec struct {
	// The current software version of modela
	// +kubebuilder:validation:Required
	// +required
	Release string `json:"release" protobuf:"bytes,1,opt,name=release"`
	// Set the release to active
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Active *bool `json:"active" protobuf:"varint,2,opt,name=active"`
	// +kubebuilder:validation:Optional
	// +optional
	Template *v1.PodTemplateSpec `json:"podTemplate,omitempty" protobuf:"bytes,3,opt,name=podTemplate"`
	// +kubebuilder:validation:Optional
	// +optional
	PublisherTemplate *v1.PodTemplateSpec `json:"publisherTemplate,omitempty" protobuf:"bytes,4,opt,name=publisherTemplate"`
}

ModelaSystemSpec defines the desired state of ModelaSystem

func (*ModelaSystemSpec) DeepCopy

func (in *ModelaSystemSpec) DeepCopy() *ModelaSystemSpec

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

func (*ModelaSystemSpec) DeepCopyInto

func (in *ModelaSystemSpec) DeepCopyInto(out *ModelaSystemSpec)

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

type ModelaSystemStatus

type ModelaSystemStatus struct {
	// ObservedGeneration is the last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
	// Update in case of terminal failure
	// Borrowed from cluster api controller
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,2,opt,name=failureReason"`
	// Update in case of terminal failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,3,opt,name=failureMessage"`

	//+kubebuilder:validation:Optional
	LastRelease string `json:"lastRelease" protobuf:"bytes,4,opt,name=lastRelease"`

	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []ModelaSystemCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,5,rep,name=conditions"`
}

ModelaSystemStatus is the observed state of a ModelaSystem

func (*ModelaSystemStatus) DeepCopy

func (in *ModelaSystemStatus) DeepCopy() *ModelaSystemStatus

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

func (*ModelaSystemStatus) DeepCopyInto

func (in *ModelaSystemStatus) DeepCopyInto(out *ModelaSystemStatus)

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

type MongoDbSpec

type MongoDbSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=27017
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*MongoDbSpec) DeepCopy

func (in *MongoDbSpec) DeepCopy() *MongoDbSpec

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

func (*MongoDbSpec) DeepCopyInto

func (in *MongoDbSpec) DeepCopyInto(out *MongoDbSpec)

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

type MySqlSpec

type MySqlSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=3306
	// +kubebuilder:validation:Minimum=0
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*MySqlSpec) DeepCopy

func (in *MySqlSpec) DeepCopy() *MySqlSpec

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

func (*MySqlSpec) DeepCopyInto

func (in *MySqlSpec) DeepCopyInto(out *MySqlSpec)

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

type Neo4JSpec

type Neo4JSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,7,opt,name=url"`
}

func (*Neo4JSpec) DeepCopy

func (in *Neo4JSpec) DeepCopy() *Neo4JSpec

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

func (*Neo4JSpec) DeepCopyInto

func (in *Neo4JSpec) DeepCopyInto(out *Neo4JSpec)

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

type NotificationChannelSpec added in v0.4.607

type NotificationChannelSpec struct {
	// Indicates if the channel is enabled to send forwarded Alerts
	// +kubebuilder:default:= true
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// The name of the Connection resource which exists in the same tenant as the parent Notifier
	// +kubebuilder:validation:Required
	// +kubebuilder:default:=""
	ConnectionName *string `json:"connectionName" protobuf:"bytes,2,opt,name=connectionName"`
	// Indicates if the channel will send Alerts with the `info` level
	// +kubebuilder:default:= false
	// +kubebuilder:validation:Optional
	Info *bool `json:"info,omitempty" protobuf:"varint,3,opt,name=info"`
	// Indicates if the channel will send Alerts with the `error` level
	// +kubebuilder:default:= true
	// +kubebuilder:validation:Optional
	Error *bool `json:"error,omitempty" protobuf:"varint,4,opt,name=error"`
	// This channel start time
	// +kubebuilder:validation:Optional
	From *metav1.Time `json:"from,omitempty" protobuf:"bytes,5,opt,name=from"`
	// This channel end time
	// +kubebuilder:validation:Optional
	To *metav1.Time `json:"to,omitempty" protobuf:"bytes,6,opt,name=to"`
	// The destination channel that exists in the external system that `ConnectionName` references. For example, a Slack
	// channel name, a Discord channel ID, or an e-mail address
	Destination string `json:"destination,omitempty" protobuf:"bytes,7,opt,name=destination"`
}

NotificationChannelSpec describes a single Connection to an external messaging system and a destination channel within the system

func (*NotificationChannelSpec) DeepCopy added in v0.4.607

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

func (*NotificationChannelSpec) DeepCopyInto added in v0.4.607

func (in *NotificationChannelSpec) DeepCopyInto(out *NotificationChannelSpec)

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

type NotificationChannelStatus added in v0.4.607

type NotificationChannelStatus struct {
	// The last time a message was sent on this channel
	LastMessage *metav1.Time `json:"lastMessage,omitempty" protobuf:"bytes,1,opt,name=lastMessage"`
	// In the case of failure, the Notifier resource controller will set this field with a failure reason
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,2,opt,name=failureReason"`
	// In the case of failure, the Notifier resource controller will set this field with a failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,3,opt,name=failureMessage"`
}

func (*NotificationChannelStatus) DeepCopy added in v0.4.607

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

func (*NotificationChannelStatus) DeepCopyInto added in v0.4.607

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

type Notifier

type Notifier struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              NotifierSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status NotifierStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

The Notifier resource +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Owner",type="string",JSONPath=".spec.owner",description="" +kubebuilder:printcolumn:name="Description",type="string",JSONPath=".spec.description",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=notifiers,singular=notifier,categories={infra,modela}

func ParseNotifierYaml

func ParseNotifierYaml(content []byte) (*Notifier, error)

func (*Notifier) AddFinalizer

func (notifier *Notifier) AddFinalizer()

func (*Notifier) CreateOrUpdateCond

func (notifier *Notifier) CreateOrUpdateCond(cond NotifierCondition)

Merge or update condition

func (*Notifier) DeepCopy

func (in *Notifier) DeepCopy() *Notifier

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

func (*Notifier) DeepCopyInto

func (in *Notifier) DeepCopyInto(out *Notifier)

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

func (*Notifier) DeepCopyObject

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

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

func (*Notifier) Default

func (notifier *Notifier) Default()

func (*Notifier) GetCond

func (notifier *Notifier) GetCond(t NotifierConditionType) NotifierCondition

func (*Notifier) GetCondIdx

func (notifier *Notifier) GetCondIdx(t NotifierConditionType) int

func (*Notifier) HasFinalizer

func (notifier *Notifier) HasFinalizer() bool

func (*Notifier) IsReady

func (notifier *Notifier) IsReady() bool

func (*Notifier) ManifestUri

func (notifier *Notifier) ManifestUri() string

func (*Notifier) MarkArchived

func (notifier *Notifier) MarkArchived()

func (*Notifier) MarkReady

func (notifier *Notifier) MarkReady()

func (*Notifier) RemoveFinalizer

func (notifier *Notifier) RemoveFinalizer()

func (*Notifier) RootUri

func (notifier *Notifier) RootUri() string

func (*Notifier) SetupWebhookWithManager

func (notifier *Notifier) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Notifier) ValidateCreate

func (notifier *Notifier) ValidateCreate() error

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

func (*Notifier) ValidateDelete

func (notifier *Notifier) ValidateDelete() error

func (*Notifier) ValidateUpdate

func (notifier *Notifier) ValidateUpdate(old runtime.Object) error

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

type NotifierCondition

type NotifierCondition struct {
	// Type of account condition.
	Type NotifierConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=NotifierConditionType"`
	// Status of the condition, one of True, False, Unknown
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human readable message indicating details about the transition
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

NotifierCondition describes the state of a Notifier at a certain point

func (*NotifierCondition) DeepCopy

func (in *NotifierCondition) DeepCopy() *NotifierCondition

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

func (*NotifierCondition) DeepCopyInto

func (in *NotifierCondition) DeepCopyInto(out *NotifierCondition)

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

type NotifierConditionType

type NotifierConditionType string

Notifier condition

const (
	NotifierReady NotifierConditionType = "Ready"
	NotifierSaved NotifierConditionType = "Saved"
)

/ Notifier Condition

type NotifierList

type NotifierList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []Notifier `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true NotifierList is a list of Notifiers

func (*NotifierList) DeepCopy

func (in *NotifierList) DeepCopy() *NotifierList

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

func (*NotifierList) DeepCopyInto

func (in *NotifierList) DeepCopyInto(out *NotifierList)

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

func (*NotifierList) DeepCopyObject

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

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

type NotifierSpec

type NotifierSpec struct {
	// Indicates if the Notifier will send notifications
	// +kubebuilder:default:= true
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// The reference to the tenant which the object exists under
	// +kubebuilder:validation:Optional
	TenantRef *v1.ObjectReference `json:"tenantRef" protobuf:"bytes,2,opt,name=tenantRef"`
	// The user provided description of the object
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" protobuf:"varint,3,opt,name=description"`
	// The name of the Account which created the object, which exists in the same tenant as the object
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,4,opt,name=owner"`
	// Channels specifies the list of notification channels that the Notifier will forward the information from Alerts to.
	// Each channel specifies a Connection resource for an external messaging system, and a destination channel within the system
	// to forward the information from Alerts to
	// +kubebuilder:validation:Optional
	Channels []NotificationChannelSpec `json:"channels,omitempty" protobuf:"bytes,5,opt,name=channels"`
}

NotifierSpec defines the desired state of a Notifier

func (*NotifierSpec) DeepCopy

func (in *NotifierSpec) DeepCopy() *NotifierSpec

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

func (*NotifierSpec) DeepCopyInto

func (in *NotifierSpec) DeepCopyInto(out *NotifierSpec)

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

type NotifierStatus

type NotifierStatus struct {
	// ObservedGeneration is the last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,2,opt,name=observedGeneration"`
	// The last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,3,opt,name=lastUpdated"`
	// The status of Notification Channels after Alerts have been forwarded to them
	ChannelsStatus []NotificationChannelStatus `json:"channelsStatus,omitempty" protobuf:"bytes,4,opt,name=channelsStatus"`
	//+kubebuilder:validation:Optional
	Conditions []NotifierCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,5,rep,name=conditions"`
}

NotifierStatus is the observed state of a Notifier

func (*NotifierStatus) DeepCopy

func (in *NotifierStatus) DeepCopy() *NotifierStatus

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

func (*NotifierStatus) DeepCopyInto

func (in *NotifierStatus) DeepCopyInto(out *NotifierStatus)

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

type NotifierType added in v0.4.531

type NotifierType string
const (
	EmailNotifierType   NotifierType = "email"
	SlackNotifierType   NotifierType = "slack"
	DiscordNotifierType NotifierType = "discord"
	WebhookNotifierType NotifierType = "webhook"
)

type OdbcSpec

type OdbcSpec struct {
	// +kubebuilder:default:=""
	ConnectionString *string `json:"connectionString,omitempty" protobuf:"bytes,1,opt,name=conntectionString"`
}

func (*OdbcSpec) DeepCopy

func (in *OdbcSpec) DeepCopy() *OdbcSpec

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

func (*OdbcSpec) DeepCopyInto

func (in *OdbcSpec) DeepCopyInto(out *OdbcSpec)

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

type OpenstackSpec

type OpenstackSpec struct {
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,1,opt,name=username"`
	// +kubebuilder:default:=""
	Tenantname *string `json:"tenantName,omitempty" protobuf:"bytes,2,opt,name=tenantName"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,3,opt,name=password"`
	// +kubebuilder:default:=""
	Authurl *string `json:"authUrl,omitempty" protobuf:"bytes,4,opt,name=authUrl"`
	// +kubebuilder:default:=""
	Region *string `json:"region,omitempty" protobuf:"bytes,5,opt,name=region"`
}

func (*OpenstackSpec) DeepCopy

func (in *OpenstackSpec) DeepCopy() *OpenstackSpec

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

func (*OpenstackSpec) DeepCopyInto

func (in *OpenstackSpec) DeepCopyInto(out *OpenstackSpec)

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

type OpsgenieSpec

type OpsgenieSpec struct {
	// +kubebuilder:default:=""
	ID *string `json:"apiID,omitempty" protobuf:"bytes,1,opt,name=apiID"`
	// +kubebuilder:default:=""
	ApiKey *string `json:"apiKey,omitempty" protobuf:"bytes,2,opt,name=apiKey"`
	// +kubebuilder:default:=""
	Url *string `json:"url,omitempty" protobuf:"bytes,3,opt,name=url"`
}

func (*OpsgenieSpec) DeepCopy

func (in *OpsgenieSpec) DeepCopy() *OpsgenieSpec

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

func (*OpsgenieSpec) DeepCopyInto

func (in *OpsgenieSpec) DeepCopyInto(out *OpsgenieSpec)

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

type OracleSpec

type OracleSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=1521
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:="XE"
	SID *string `json:"sid,omitempty" protobuf:"bytes,3,opt,name=sid"`
	// +kubebuilder:default:="thin"
	Driver *string `json:"driver,omitempty" protobuf:"bytes,4,opt,name=driver"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,5,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,6,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,7,opt,name=url"`
}

func (*OracleSpec) DeepCopy

func (in *OracleSpec) DeepCopy() *OracleSpec

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

func (*OracleSpec) DeepCopyInto

func (in *OracleSpec) DeepCopyInto(out *OracleSpec)

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

type OvhSpec

type OvhSpec struct {
	// +kubebuilder:default:=""
	Endpoint *string `json:"endpoint,omitempty" protobuf:"bytes,1,opt,name=endpoint"`
	// +kubebuilder:default:=""
	Application *string `json:"application,omitempty" protobuf:"bytes,2,opt,name=application"`
	// +kubebuilder:default:=""
	Secret *string `json:"secret,omitempty" protobuf:"bytes,3,opt,name=secret"`
	// +kubebuilder:default:=""
	ConsumerKey *string `json:"consumerkey,omitempty" protobuf:"bytes,4,opt,name=consumerkey"`
}

func (*OvhSpec) DeepCopy

func (in *OvhSpec) DeepCopy() *OvhSpec

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

func (*OvhSpec) DeepCopyInto

func (in *OvhSpec) DeepCopyInto(out *OvhSpec)

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

type PagerDutySpec

type PagerDutySpec struct {
	// +kubebuilder:default:=""
	ID *string `json:"apiID,omitempty" protobuf:"bytes,1,opt,name=apiID"`
	// +kubebuilder:default:=""
	ApiKey *string `json:"apiKey,omitempty" protobuf:"bytes,2,opt,name=apiKey"`
	// +kubebuilder:default:=""
	Url *string `json:"url,omitempty" protobuf:"bytes,3,opt,name=url"`
}

func (*PagerDutySpec) DeepCopy

func (in *PagerDutySpec) DeepCopy() *PagerDutySpec

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

func (*PagerDutySpec) DeepCopyInto

func (in *PagerDutySpec) DeepCopyInto(out *PagerDutySpec)

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

type PostgresSQLSpec

type PostgresSQLSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=5432
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*PostgresSQLSpec) DeepCopy

func (in *PostgresSQLSpec) DeepCopy() *PostgresSQLSpec

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

func (*PostgresSQLSpec) DeepCopyInto

func (in *PostgresSQLSpec) DeepCopyInto(out *PostgresSQLSpec)

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

type PrestoSpec

type PrestoSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=8080
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Catalog *string `json:"catalog,omitempty" protobuf:"bytes,3,opt,name=catalog"`
	// +kubebuilder:default:=""
	Schema *string `json:"schema,omitempty" protobuf:"bytes,4,opt,name=schema"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,5,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,6,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,7,opt,name=url"`
}

func (*PrestoSpec) DeepCopy

func (in *PrestoSpec) DeepCopy() *PrestoSpec

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

func (*PrestoSpec) DeepCopyInto

func (in *PrestoSpec) DeepCopyInto(out *PrestoSpec)

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

type PushoverSpec

type PushoverSpec struct {
	// +kubebuilder:default:=""
	ID *string `json:"apiID,omitempty" protobuf:"bytes,1,opt,name=apiID"`
	// +kubebuilder:default:=""
	ApiKey *string `json:"apiKey,omitempty" protobuf:"bytes,2,opt,name=apiKey"`
	// +kubebuilder:default:=""
	Url *string `json:"url,omitempty" protobuf:"bytes,3,opt,name=url"`
}

func (*PushoverSpec) DeepCopy

func (in *PushoverSpec) DeepCopy() *PushoverSpec

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

func (*PushoverSpec) DeepCopyInto

func (in *PushoverSpec) DeepCopyInto(out *PushoverSpec)

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

type RabbitMQSpec

type RabbitMQSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 21
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,3,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,4,opt,name=password"`
}

func (*RabbitMQSpec) DeepCopy

func (in *RabbitMQSpec) DeepCopy() *RabbitMQSpec

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

func (*RabbitMQSpec) DeepCopyInto

func (in *RabbitMQSpec) DeepCopyInto(out *RabbitMQSpec)

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

type ResourceClassType

type ResourceClassType string

type ResourceLimitSpec

type ResourceLimitSpec struct {
	// Indicates if the resource limit is enabled
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=false
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// The maximum quantity of memory that can be consumed under the namespace
	// +kubebuilder:validation:Optional
	MaxMem *resource.Quantity `json:"maxMem,omitempty" protobuf:"bytes,2,opt,name=maxMem"`
	// The maximum amount of CPU that can be consumed under the namespace
	// +kubebuilder:validation:Optional
	MaxCpu *resource.Quantity `json:"maxCpu,omitempty" protobuf:"bytes,3,opt,name=maxCpu"`
	// The maximum number of pods that can be created under the namespace
	// +kubebuilder:validation:Optional
	MaxPods *int32 `json:"maxPods,omitempty" protobuf:"varint,4,opt,name=maxPods"`
	// The maximum number of persistent volume claims that can be created under the namespace
	// +kubebuilder:validation:Optional
	MaxPvc *int32 `json:"maxPvc,omitempty" protobuf:"varint,5,opt,name=maxPvc"`
	// QuotaSpec defines the resource quota specification for the namespace
	// +kubebuilder:validation:Optional
	QuotaSpec *corev1.ResourceQuotaSpec `json:"quota,omitempty" protobuf:"bytes,6,opt,name=quota"`
	// +kubebuilder:validation:Optional
	LimitRangeSpec *corev1.LimitRangeSpec `json:"limitRange,omitempty" protobuf:"bytes,7,opt,name=limitRange"`
}

ResourceLimitSpec defines the resource limits for workloads created under Lab and ServingSite namespaces

func (*ResourceLimitSpec) DeepCopy

func (in *ResourceLimitSpec) DeepCopy() *ResourceLimitSpec

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

func (*ResourceLimitSpec) DeepCopyInto

func (in *ResourceLimitSpec) DeepCopyInto(out *ResourceLimitSpec)

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

type RuleSpec added in v0.4.561

type RuleSpec struct {
	// The kind of the resource
	Resource common.KindName `json:"resource,omitempty" protobuf:"bytes,1,opt,name=resource"`
	// List of allowed actions on the resource
	Verbs []common.VerbName `json:"verbs,omitempty" protobuf:"bytes,2,rep,name=verbs"`
}

RuleSpec defines the relation between a resource and the actions that can be performed on the resource

func (*RuleSpec) DeepCopy added in v0.4.561

func (in *RuleSpec) DeepCopy() *RuleSpec

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

func (*RuleSpec) DeepCopyInto added in v0.4.561

func (in *RuleSpec) DeepCopyInto(out *RuleSpec)

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

type SAPHanaSpec

type SAPHanaSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=1526
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*SAPHanaSpec) DeepCopy

func (in *SAPHanaSpec) DeepCopy() *SAPHanaSpec

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

func (*SAPHanaSpec) DeepCopyInto

func (in *SAPHanaSpec) DeepCopyInto(out *SAPHanaSpec)

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

type SFTPSpec

type SFTPSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*SFTPSpec) DeepCopy

func (in *SFTPSpec) DeepCopy() *SFTPSpec

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

func (*SFTPSpec) DeepCopyInto

func (in *SFTPSpec) DeepCopyInto(out *SFTPSpec)

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

type SFtpSpec

type SFtpSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 21
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,3,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,4,opt,name=password"`
}

func (*SFtpSpec) DeepCopy

func (in *SFtpSpec) DeepCopy() *SFtpSpec

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

func (*SFtpSpec) DeepCopyInto

func (in *SFtpSpec) DeepCopyInto(out *SFtpSpec)

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

type SaleforceSpec added in v0.5.122

type SaleforceSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*SaleforceSpec) DeepCopy added in v0.5.122

func (in *SaleforceSpec) DeepCopy() *SaleforceSpec

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

func (*SaleforceSpec) DeepCopyInto added in v0.5.122

func (in *SaleforceSpec) DeepCopyInto(out *SaleforceSpec)

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

type SapCRMSpec added in v0.5.122

type SapCRMSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*SapCRMSpec) DeepCopy added in v0.5.122

func (in *SapCRMSpec) DeepCopy() *SapCRMSpec

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

func (*SapCRMSpec) DeepCopyInto added in v0.5.122

func (in *SapCRMSpec) DeepCopyInto(out *SapCRMSpec)

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

type Scope

type Scope struct {
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"`
	// +kubebuilder:validation:Optional
	Actions []ScopeVerb `json:"actions,omitempty" protobuf:"bytes,2,rep,name=actions"`
}

func (*Scope) DeepCopy

func (in *Scope) DeepCopy() *Scope

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

func (*Scope) DeepCopyInto

func (in *Scope) DeepCopyInto(out *Scope)

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

type ScopeVerb

type ScopeVerb string
const (
	ScopeVerbRead  ScopeVerb = "read"
	ScopeVerbWrite ScopeVerb = "write"
	ScopeVerbList  ScopeVerb = "list"
)

type ServingSite

type ServingSite struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              ServingSiteSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status ServingSiteStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

ServingSite represents a namespace where model serving workloads are executed under +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Owner",type="string",JSONPath=".spec.owner",description="owner" +kubebuilder:printcolumn:name="FQDN",type="string",JSONPath=".spec.ingress.fqdn",description="" +kubebuilder:printcolumn:name="GRPC Ingress",type="string",JSONPath=".status.grpcIngressName",description="" +kubebuilder:printcolumn:name="REST Ingress",type="string",JSONPath=".status.restIngressName",description="" +kubebuilder:printcolumn:name="Predictors",type="number",JSONPath=".status.activePredictors",description="" +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".spec.clusterName",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=servingsites,singular=servingsite,categories={infra,modela}

func ParseServingSiteServingYaml

func ParseServingSiteServingYaml(content []byte) (*ServingSite, error)

func (*ServingSite) AddFinalizer

func (r *ServingSite) AddFinalizer()

func (*ServingSite) Age

func (r *ServingSite) Age() string

func (*ServingSite) Archived

func (r *ServingSite) Archived() bool

func (*ServingSite) ConstructGrpcIngress added in v0.4.697

func (r *ServingSite) ConstructGrpcIngress() *nwv1.Ingress

Create the ingress for GRPC traffic

func (*ServingSite) ConstructRestIngress added in v0.4.697

func (r *ServingSite) ConstructRestIngress() *nwv1.Ingress

Create the ingress for REST traffic

func (*ServingSite) CreateNamespace

func (r *ServingSite) CreateNamespace() *v1.Namespace

func (*ServingSite) CreateOrUpdateCond

func (r *ServingSite) CreateOrUpdateCond(cond ServingSiteCondition)

Merge or update condition

func (*ServingSite) DeepCopy

func (in *ServingSite) DeepCopy() *ServingSite

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

func (*ServingSite) DeepCopyInto

func (in *ServingSite) DeepCopyInto(out *ServingSite)

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

func (*ServingSite) DeepCopyObject

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

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

func (*ServingSite) Default

func (r *ServingSite) Default()

func (*ServingSite) FullName

func (r *ServingSite) FullName() string

func (*ServingSite) GetCond

func (*ServingSite) GetCondIdx

func (r *ServingSite) GetCondIdx(t ServingSiteConditionType) int

func (*ServingSite) HasFinalizer

func (r *ServingSite) HasFinalizer() bool

func (*ServingSite) IsMarkedForDeletion

func (r *ServingSite) IsMarkedForDeletion() bool

func (*ServingSite) IsReady

func (r *ServingSite) IsReady() bool

func (*ServingSite) JobRole added in v0.4.551

func (servingsite *ServingSite) JobRole() *rbacv1.Role

func (*ServingSite) JobRoleBinding added in v0.4.551

func (servingsite *ServingSite) JobRoleBinding() *rbacv1.RoleBinding

Create a role binding for a job

func (*ServingSite) Key

func (r *ServingSite) Key() string

func (*ServingSite) ManifestUri

func (r *ServingSite) ManifestUri() string

func (*ServingSite) MarkArchived

func (r *ServingSite) MarkArchived()

func (*ServingSite) MarkReady

func (r *ServingSite) MarkReady()

func (*ServingSite) Payload

func (r *ServingSite) Payload() string

func (*ServingSite) PredictorRole added in v0.4.871

func (servingsite *ServingSite) PredictorRole() *rbacv1.ClusterRole

func (*ServingSite) PredictorRoleBinding added in v0.4.871

func (servingsite *ServingSite) PredictorRoleBinding() *rbacv1.ClusterRoleBinding

Create a role binding for a job

func (*ServingSite) PredictorServiceAccount added in v0.4.871

func (servingsite *ServingSite) PredictorServiceAccount() *corev1.ServiceAccount

func (*ServingSite) Prefix

func (r *ServingSite) Prefix() string

func (*ServingSite) RemoveFinalizer

func (r *ServingSite) RemoveFinalizer()

func (*ServingSite) RootUri

func (r *ServingSite) RootUri() string

func (*ServingSite) ServiceAccount added in v0.4.551

func (servingsite *ServingSite) ServiceAccount() *corev1.ServiceAccount

func (*ServingSite) ServingSiteAdmin

func (r *ServingSite) ServingSiteAdmin() *rbacv1.Role

func (*ServingSite) ServingSiteDev

func (r *ServingSite) ServingSiteDev() *rbacv1.Role

func (*ServingSite) ServingSiteOps

func (r *ServingSite) ServingSiteOps() *rbacv1.Role

func (*ServingSite) SetupWebhookWithManager

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

func (*ServingSite) ValidateCreate

func (r *ServingSite) ValidateCreate() error

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

func (*ServingSite) ValidateDelete

func (r *ServingSite) ValidateDelete() error

func (*ServingSite) ValidateUpdate

func (r *ServingSite) ValidateUpdate(old runtime.Object) error

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

type ServingSiteCondition

type ServingSiteCondition struct {
	// Type of  condition.
	Type ServingSiteConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=ServingSiteConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

ServingSiteCondition describes the state of a servingsite at a certain point.

func (*ServingSiteCondition) DeepCopy

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

func (*ServingSiteCondition) DeepCopyInto

func (in *ServingSiteCondition) DeepCopyInto(out *ServingSiteCondition)

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

type ServingSiteConditionType

type ServingSiteConditionType string

/ ServingSiteConditionType site condition

const (
	ServingSiteReady ServingSiteConditionType = "Ready"
	ServingSiteSaved ServingSiteConditionType = "Saved"
)

/ ServingSite Condition

type ServingSiteList

type ServingSiteList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Items []ServingSite `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true ServingSiteList is a list of ServingSite

func (*ServingSiteList) DeepCopy

func (in *ServingSiteList) DeepCopy() *ServingSiteList

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

func (*ServingSiteList) DeepCopyInto

func (in *ServingSiteList) DeepCopyInto(out *ServingSiteList)

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

func (*ServingSiteList) DeepCopyObject

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

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

type ServingSiteSpec

type ServingSiteSpec struct {
	// The user-provided description of the object
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" protobuf:"bytes,1,opt,name=description"`
	// The reference to the tenant which the object exists under
	// +kubebuilder:validation:Optional
	TenantRef *v1.ObjectReference `json:"tenantRef,omitempty" protobuf:"bytes,2,opt,name=tenantRef"`
	// Limits specifies the hard resource limits that can be allocated for workloads created under the ServingSite
	// +kubebuilder:validation:Optional
	Limits ResourceLimitSpec `json:"limits,omitempty" protobuf:"bytes,3,opt,name=limits"`
	// Ingress defines the specification to create Ingress resources that can route traffic
	// to the resources which exist under the ServingSite's namespace
	// +kubebuilder:validation:Optional
	Ingress IngressSpec `json:"ingress,omitempty" protobuf:"bytes,4,opt,name=ingress"`
	// ClusterName is the name of a VirtualCluster that exists under the same tenant as the object. If specified, workloads
	// executed under the ServingSite will be executed inside the cluster (currently not implemented)
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	ClusterName *string `json:"clusterName,omitempty" protobuf:"bytes,6,opt,name=clusterName"`
	// The name of the Account which created the object, which exists in the same tenant as the object
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,7,opt,name=owner"`
}

ServingSiteSpec defines the desired state of a ServingSite

func (*ServingSiteSpec) DeepCopy

func (in *ServingSiteSpec) DeepCopy() *ServingSiteSpec

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

func (*ServingSiteSpec) DeepCopyInto

func (in *ServingSiteSpec) DeepCopyInto(out *ServingSiteSpec)

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

type ServingSiteStatus

type ServingSiteStatus struct {
	// ObservedGeneration is the last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
	// The last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,2,opt,name=lastUpdated"`
	// The number of active predictor services
	ActivePredictors int32 `json:"activePredictors,omitempty" protobuf:"varint,3,opt,name=activePredictors"`
	// The number of inactive (non-deployed) predictors
	InactivePredictors int32 `json:"inactivePredictors,omitempty" protobuf:"varint,4,opt,name=inactivePredictors"`
	// The number of predictor services that have failed/errored
	TotalPredictorServiceFailed int32 `json:"totalPredictorServiceFailed,omitempty" protobuf:"varint,5,opt,name=totalPredictorServiceFailed"`
	// The number of predictors that have detected a data drift
	TotalPredictorDataDriftFailed int32 `json:"totalPredictorDataDriftFailed,omitempty" protobuf:"varint,6,opt,name=totalPredictorDataDriftFailed"`
	// The number of predictors that have detected average inaccurate results
	TotalPredictorAccuracyFailed int32 `json:"totalPredictorAccuracyFailed,omitempty" protobuf:"varint,7,opt,name=totalPredictorAccuracyFailed"`
	// The collection of predictions from the last 7 days
	LastDailyPredictions []int32 `json:"lastDailyPredictions,omitempty" protobuf:"bytes,8,rep,name=lastDailyPredictions"`
	// In the case of failure, the ServingSite resource controller will set this field with a failure reason
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,9,opt,name=failureReason"`
	// In the case of failure, the ServingSite resource controller will set this field with a failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,10,opt,name=failureMessage"`
	// GrpcIngressName specifies the name of the Kubernetes Ingress resource which the ServingSite uses to define
	// external access points for resources that accept GRPC-based traffic to their services (i.e. Predictors).
	// This field is set only after one or more resources are created which use the Ingress access method.
	// If there are no Ingress rules to serve then the Ingress will be destroyed
	//+kubebuilder:validation:Optional
	GrpcIngressName string `json:"grpcIngressName,omitempty" protobuf:"bytes,11,opt,name=grpcIngressName"`
	// RestIngressName specifies the name of the Kubernetes Ingress resource which the ServingSite uses to define
	// external access points for resources that accept HTTP-based traffic to their services (i.e. DataApps).
	// This field is set only after one or more resources are created which use the Ingress access method to serve REST traffic.
	// If there are no Ingress rules to serve then the Ingress will be destroyed
	RestIngressName string `json:"restIngressName,omitempty" protobuf:"bytes,12,opt,name=restIngressName"`
	// Store the status of the grpc ingress
	GrpcIngressReady bool `json:"grpcIngressReady,omitempty" protobuf:"bytes,13,varint,name=grpcIngressReady"`
	// Status of rest ingress.
	RestIngressReady bool `json:"restIngressReady,omitempty" protobuf:"bytes,14,varint,name=restIngressReady"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []ServingSiteCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,15,rep,name=conditions"`
}

func (*ServingSiteStatus) DeepCopy

func (in *ServingSiteStatus) DeepCopy() *ServingSiteStatus

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

func (*ServingSiteStatus) DeepCopyInto

func (in *ServingSiteStatus) DeepCopyInto(out *ServingSiteStatus)

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

type SingleStoreSpec

type SingleStoreSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,7,opt,name=url"`
}

func (*SingleStoreSpec) DeepCopy

func (in *SingleStoreSpec) DeepCopy() *SingleStoreSpec

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

func (*SingleStoreSpec) DeepCopyInto

func (in *SingleStoreSpec) DeepCopyInto(out *SingleStoreSpec)

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

type SlackSpec

type SlackSpec struct {
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,4,opt,name=token"`
}

func (*SlackSpec) DeepCopy

func (in *SlackSpec) DeepCopy() *SlackSpec

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

func (*SlackSpec) DeepCopyInto

func (in *SlackSpec) DeepCopyInto(out *SlackSpec)

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

type SmtpSpec

type SmtpSpec struct {
	// SMTP server Host
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// SMTP Server Port
	// +kubebuilder:default:=25
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// The SMTP domain name
	// +kubebuilder:default:=""
	Helo *string `json:"helo,omitempty" protobuf:"bytes,3,opt,name=helo"`
	// The smtp email
	Email *string `json:"email,omitempty" protobuf:"bytes,4,opt,name=email"`
	// Use SSL when connecting to SMTP server
	// +kubebuilder:default:=false
	SSL *bool `json:"ssl,omitempty" protobuf:"varint,5,opt,name=ssl"`
	// +kubebuilder:default:=false
	VerifyPeer *bool `json:"verifyPeer,omitempty" protobuf:"varint,6,opt,name=verifyPeer"`
	// +kubebuilder:default:=false
	VerifyHost *bool `json:"verifyHost,omitempty" protobuf:"varint,7,opt,name=verifyHost"`
	// Use user name password auth
	// +kubebuilder:default:=true
	PasswordAuth *bool `json:"passwordAuth,omitempty" protobuf:"varint,8,opt,name=passwordAuth"`
	// User name when using user name and password
	Username *string `json:"username,omitempty" protobuf:"bytes,9,opt,name=username"`
	// Password when using user name and password
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,10,opt,name=password"`
}

func (*SmtpSpec) DeepCopy

func (in *SmtpSpec) DeepCopy() *SmtpSpec

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

func (*SmtpSpec) DeepCopyInto

func (in *SmtpSpec) DeepCopyInto(out *SmtpSpec)

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

type SnowflakeSpec

type SnowflakeSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=443
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,3,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,4,opt,name=password"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,5,opt,name=database"`
	// +kubebuilder:default:=""
	Schema *string `json:"schema,omitempty" protobuf:"bytes,6,opt,name=schema"`
	// +kubebuilder:default:=""
	Warehouse *string `json:"warehouse,omitempty" protobuf:"bytes,7,opt,name=warehouse"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,8,opt,name=url"`
}

func (*SnowflakeSpec) DeepCopy

func (in *SnowflakeSpec) DeepCopy() *SnowflakeSpec

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

func (*SnowflakeSpec) DeepCopyInto

func (in *SnowflakeSpec) DeepCopyInto(out *SnowflakeSpec)

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

type SqliteSpec

type SqliteSpec struct {
	// +kubebuilder:default:="general"
	Filename *string `json:"fileName,omitempty" protobuf:"bytes,1,opt,name=fileName"`
}

func (*SqliteSpec) DeepCopy

func (in *SqliteSpec) DeepCopy() *SqliteSpec

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

func (*SqliteSpec) DeepCopyInto

func (in *SqliteSpec) DeepCopyInto(out *SqliteSpec)

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

type SybaseSpec

type SybaseSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=5000
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*SybaseSpec) DeepCopy

func (in *SybaseSpec) DeepCopy() *SybaseSpec

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

func (*SybaseSpec) DeepCopyInto

func (in *SybaseSpec) DeepCopyInto(out *SybaseSpec)

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

type Tenant

type Tenant struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              TenantSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status TenantStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

Tenant represents a root namespace for tenant-level resources and child DataProduct namespaces +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Default Lab",type="string",JSONPath=".spec.defaultLabRef.Name",description="" +kubebuilder:printcolumn:name="Default Serving Site",type="string",JSONPath=".spec.defaultServingSiteRef.Name",description="" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=tenants,singular=tenant,categories={infra,modela}

func ParseTenantYaml

func ParseTenantYaml(content []byte) (*Tenant, error)

func (*Tenant) AddFinalizer

func (tenant *Tenant) AddFinalizer()

func (*Tenant) Archived

func (tenant *Tenant) Archived() bool

func (*Tenant) CreateOrUpdateCond

func (tenant *Tenant) CreateOrUpdateCond(cond TenantCondition)

Merge or update condition

func (*Tenant) DeepCopy

func (in *Tenant) DeepCopy() *Tenant

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

func (*Tenant) DeepCopyInto

func (in *Tenant) DeepCopyInto(out *Tenant)

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

func (*Tenant) DeepCopyObject

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

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

func (*Tenant) Default

func (tenant *Tenant) Default()

func (*Tenant) GetCond

func (tenant *Tenant) GetCond(t TenantConditionType) TenantCondition

func (*Tenant) GetCondIdx

func (tenant *Tenant) GetCondIdx(t TenantConditionType) int

func (*Tenant) GetRolesForAccount added in v0.4.556

func (tenant *Tenant) GetRolesForAccount(account *Account) []string

func (*Tenant) HasFinalizer

func (tenant *Tenant) HasFinalizer() bool

func (*Tenant) IsReady

func (tenant *Tenant) IsReady() bool

func (*Tenant) Key

func (tenant *Tenant) Key() string

func (*Tenant) ManifestUri

func (tenant *Tenant) ManifestUri() string

func (*Tenant) MarkArchived

func (tenant *Tenant) MarkArchived()

func (*Tenant) MarkReady

func (tenant *Tenant) MarkReady()

func (*Tenant) Populate

func (tenant *Tenant) Populate(name string)

populate an empty tenant

func (*Tenant) RemoveFinalizer

func (tenant *Tenant) RemoveFinalizer()

func (*Tenant) RootUri

func (tenant *Tenant) RootUri() string

func (*Tenant) SetupWebhookWithManager

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

Set up the webhook with the manager.

func (*Tenant) ValidateCreate

func (tenant *Tenant) ValidateCreate() error

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

func (*Tenant) ValidateDelete

func (tenant *Tenant) ValidateDelete() error

func (*Tenant) ValidateUpdate

func (tenant *Tenant) ValidateUpdate(old runtime.Object) error

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

type TenantCondition

type TenantCondition struct {
	// Type of tenant condition.
	Type TenantConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=TenantConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

TenantCondition describes the state of a Tenant at a certain point

func (*TenantCondition) DeepCopy

func (in *TenantCondition) DeepCopy() *TenantCondition

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

func (*TenantCondition) DeepCopyInto

func (in *TenantCondition) DeepCopyInto(out *TenantCondition)

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

type TenantConditionType

type TenantConditionType string
const (
	TenantReady TenantConditionType = "Ready"
	TenantSaved TenantConditionType = "Saved"
)

/ Tenant Condition

type TenantList

type TenantList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Items []Tenant `json:"items" protobuf:"bytes,2,rep,name=items"`
}

TenantList represent a list of Tenants +kubebuilder:object:root=true

func (*TenantList) DeepCopy

func (in *TenantList) DeepCopy() *TenantList

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

func (*TenantList) DeepCopyInto

func (in *TenantList) DeepCopyInto(out *TenantList)

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

func (*TenantList) DeepCopyObject

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

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

type TenantSpec

type TenantSpec struct {
	// The reference to the Lab resource that will be used as a default when creating new DataProduct namespaces
	// +kubebuilder:validation:Optional
	DefaultLabRef *v1.ObjectReference `json:"defaultLabRef,omitempty" protobuf:"bytes,1,opt,name=defaultLab"`
	// The reference to the ServingSite resource that will be used as a default when creating new DataProduct namespaces
	// +kubebuilder:validation:Optional
	DefaultServingSiteRef *v1.ObjectReference `json:"defaultServingSiteRef,omitempty" protobuf:"bytes,2,opt,name=defaultServingSiteRef"`
	// The user-provided description of the Tenant
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:MaxLength=512
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" protobuf:"bytes,3,opt,name=description"`
	// Owner indicates the name of the Account under the Tenant which created the Tenant (i.e. the Tenant administrator)
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,4,opt,name=owner"`
	// Permissions denotes the specification that determines which Accounts
	// can access the resources under the Tenant namespace and what actions they can perform
	// +kubebuilder:validation:Optional
	Permissions catalog.PermissionsSpec `json:"permissions,omitempty" protobuf:"bytes,5,opt,name=permissions"`
}

TenantSpec defines the desired state of a Tenant

func (*TenantSpec) DeepCopy

func (in *TenantSpec) DeepCopy() *TenantSpec

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

func (*TenantSpec) DeepCopyInto

func (in *TenantSpec) DeepCopyInto(out *TenantSpec)

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

type TenantStatus

type TenantStatus struct {
	// ObservedGeneration is the Last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`

	// Last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,2,opt,name=lastUpdated"`
	// Update in case of terminal failure
	// Borrowed from cluster api controller
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,3,opt,name=failureReason"`
	// Update in case of terminal failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,4,opt,name=failureMessage"`
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []TenantCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,5,rep,name=conditions"`
}

TenantStatus defines the actual state of a Tenant

func (*TenantStatus) DeepCopy

func (in *TenantStatus) DeepCopy() *TenantStatus

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

func (*TenantStatus) DeepCopyInto

func (in *TenantStatus) DeepCopyInto(out *TenantStatus)

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

type TenantType

type TenantType string

type TeradataSpec

type TeradataSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=6666
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*TeradataSpec) DeepCopy

func (in *TeradataSpec) DeepCopy() *TeradataSpec

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

func (*TeradataSpec) DeepCopyInto

func (in *TeradataSpec) DeepCopyInto(out *TeradataSpec)

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

type TimescaleDBSpec added in v0.5.122

type TimescaleDBSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*TimescaleDBSpec) DeepCopy added in v0.5.122

func (in *TimescaleDBSpec) DeepCopy() *TimescaleDBSpec

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

func (*TimescaleDBSpec) DeepCopyInto added in v0.5.122

func (in *TimescaleDBSpec) DeepCopyInto(out *TimescaleDBSpec)

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

type TwitterSpec

type TwitterSpec struct {
	// +kubebuilder:default:=""
	Token *string `json:"token,omitempty" protobuf:"bytes,1,opt,name=token"`
}

func (*TwitterSpec) DeepCopy

func (in *TwitterSpec) DeepCopy() *TwitterSpec

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

func (*TwitterSpec) DeepCopyInto

func (in *TwitterSpec) DeepCopyInto(out *TwitterSpec)

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

type UserRoleClass added in v0.4.557

type UserRoleClass struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              UserRoleClassSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
}

+kubebuilder:storageversion UserRoleClass specifies the permissions that can be performed on a set of resources +kubebuilder:resource:path=userroleclasses,singular=userroleclass,categories={infra,modela,all} +kubebuilder:object:root=true

func (*UserRoleClass) Allow added in v0.4.557

func (role *UserRoleClass) Allow(
	action common.VerbName,
	resource common.KindName,
	subject string,
	ns string,
	name string) bool

func (*UserRoleClass) DeepCopy added in v0.4.557

func (in *UserRoleClass) DeepCopy() *UserRoleClass

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

func (*UserRoleClass) DeepCopyInto added in v0.4.557

func (in *UserRoleClass) DeepCopyInto(out *UserRoleClass)

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

func (*UserRoleClass) DeepCopyObject added in v0.4.557

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

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

type UserRoleClassList added in v0.4.557

type UserRoleClassList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []UserRoleClass `json:"items" protobuf:"bytes,2,rep,name=items"`
}

UserRoleClassList contains a list of UserRoleClasses +kubebuilder:object:root=true

func (*UserRoleClassList) DeepCopy added in v0.4.557

func (in *UserRoleClassList) DeepCopy() *UserRoleClassList

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

func (*UserRoleClassList) DeepCopyInto added in v0.4.557

func (in *UserRoleClassList) DeepCopyInto(out *UserRoleClassList)

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

func (*UserRoleClassList) DeepCopyObject added in v0.4.557

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

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

type UserRoleClassSpec added in v0.4.557

type UserRoleClassSpec struct {
	// The owner of the user role class
	// +kubebuilder:validation:Optional
	TenantRef *v1.ObjectReference `json:"tenantRef,omitempty" protobuf:"bytes,1,name=tenantRef"`
	// The description of the user role class.
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" protobuf:"bytes,2,opt,name=description"`
	// The name of the Account which created the object, which exists in the same tenant as the object
	// +kubebuilder:default:="admin"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,3,opt,name=owner"`
	// The collection of rules, consisting of a resource and the actions that can be performed on the resource
	// +kubebuilder:validation:Optional
	Rules []RuleSpec `json:"rules,omitempty" protobuf:"bytes,4,rep,name=rules"`
}

UserRoleClassSpec contains the permissions for a UserRoleClass

func (*UserRoleClassSpec) DeepCopy added in v0.4.557

func (in *UserRoleClassSpec) DeepCopy() *UserRoleClassSpec

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

func (*UserRoleClassSpec) DeepCopyInto added in v0.4.557

func (in *UserRoleClassSpec) DeepCopyInto(out *UserRoleClassSpec)

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

type VerticaSpec

type VerticaSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:=5433
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	Database *string `json:"database,omitempty" protobuf:"bytes,3,opt,name=database"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL Override the other
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*VerticaSpec) DeepCopy

func (in *VerticaSpec) DeepCopy() *VerticaSpec

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

func (*VerticaSpec) DeepCopyInto

func (in *VerticaSpec) DeepCopyInto(out *VerticaSpec)

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

type VictorOpSpec

type VictorOpSpec struct {
	// +kubebuilder:default:=""
	ID *string `json:"apiID,omitempty" protobuf:"bytes,1,opt,name=apiID"`
	// +kubebuilder:default:=""
	ApiKey *string `json:"apiKey,omitempty" protobuf:"bytes,2,opt,name=apiKey"`
	// +kubebuilder:default:=""
	Url *string `json:"url,omitempty" protobuf:"bytes,3,opt,name=url"`
}

func (*VictorOpSpec) DeepCopy

func (in *VictorOpSpec) DeepCopy() *VictorOpSpec

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

func (*VictorOpSpec) DeepCopyInto

func (in *VictorOpSpec) DeepCopyInto(out *VictorOpSpec)

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

type VictoriaMetricsSpec added in v0.5.122

type VictoriaMetricsSpec struct {
	// +kubebuilder:default:=""
	Host *string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"`
	// +kubebuilder:default:= 9042
	// +kubebuilder:validation:Minimum=0
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int32 `json:"port,omitempty" protobuf:"varint,2,opt,name=port"`
	// +kubebuilder:default:=""
	KeySpace *string `json:"keyspace,omitempty" protobuf:"bytes,3,opt,name=keyspace"`
	// +kubebuilder:default:=""
	Username *string `json:"username,omitempty" protobuf:"bytes,4,opt,name=username"`
	// +kubebuilder:default:=""
	Password *string `json:"password,omitempty" protobuf:"bytes,5,opt,name=password"`
	// URL override the other settings
	// +kubebuilder:default:=""
	URL *string `json:"url,omitempty" protobuf:"bytes,6,opt,name=url"`
}

func (*VictoriaMetricsSpec) DeepCopy added in v0.5.122

func (in *VictoriaMetricsSpec) DeepCopy() *VictoriaMetricsSpec

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

func (*VictoriaMetricsSpec) DeepCopyInto added in v0.5.122

func (in *VictoriaMetricsSpec) DeepCopyInto(out *VictoriaMetricsSpec)

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

type VirtualBucket

type VirtualBucket struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              VirtualBucketSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status VirtualBucketStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

VirtualBucket represents an abstract object storage system used to store flat-files +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Owner",type="string",JSONPath=".spec.owner",description="owner" +kubebuilder:printcolumn:name="Connection",type="string",JSONPath=".spec.connectionName",description="virtual bucket connections" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=virtualbuckets,shortName=vb,singular=virtualbucket,categories={infra,modela,all}

func (*VirtualBucket) AddFinalizer

func (bucket *VirtualBucket) AddFinalizer()

func (*VirtualBucket) Archived

func (bucket *VirtualBucket) Archived() bool

func (*VirtualBucket) CreateOrUpdateCond

func (bucket *VirtualBucket) CreateOrUpdateCond(cond VirtualBucketCondition)

Merge or update condition

func (*VirtualBucket) DeepCopy

func (in *VirtualBucket) DeepCopy() *VirtualBucket

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

func (*VirtualBucket) DeepCopyInto

func (in *VirtualBucket) DeepCopyInto(out *VirtualBucket)

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

func (*VirtualBucket) DeepCopyObject

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

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

func (*VirtualBucket) Default

func (bucket *VirtualBucket) Default()

func (*VirtualBucket) GetCond

func (*VirtualBucket) GetCondIdx

func (bucket *VirtualBucket) GetCondIdx(t VirtualBucketConditionType) int

func (*VirtualBucket) HasFinalizer

func (bucket *VirtualBucket) HasFinalizer() bool

func (*VirtualBucket) IsReady

func (bucket *VirtualBucket) IsReady() bool

func (*VirtualBucket) ManifestUri

func (bucket *VirtualBucket) ManifestUri() string

func (*VirtualBucket) MarkArchived

func (bucket *VirtualBucket) MarkArchived()

func (*VirtualBucket) MarkFailed added in v0.4.448

func (bucket *VirtualBucket) MarkFailed(err string)

func (*VirtualBucket) MarkReady

func (bucket *VirtualBucket) MarkReady()

func (*VirtualBucket) RemoveFinalizer

func (bucket *VirtualBucket) RemoveFinalizer()

func (*VirtualBucket) RootUri

func (bucket *VirtualBucket) RootUri() string

func (*VirtualBucket) SetupWebhookWithManager

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

Set up the webhook with the manager.

func (*VirtualBucket) ValidateCreate

func (bucket *VirtualBucket) ValidateCreate() error

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

func (*VirtualBucket) ValidateDelete

func (bucket *VirtualBucket) ValidateDelete() error

func (*VirtualBucket) ValidateUpdate

func (bucket *VirtualBucket) ValidateUpdate(old runtime.Object) error

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

type VirtualBucketCondition

type VirtualBucketCondition struct {
	// Type of bucket condition.
	Type VirtualBucketConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=VirtualBucketConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

VirtualBucketCondition describes the state of a VirtualBucket at a certain point

func (*VirtualBucketCondition) DeepCopy

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

func (*VirtualBucketCondition) DeepCopyInto

func (in *VirtualBucketCondition) DeepCopyInto(out *VirtualBucketCondition)

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

type VirtualBucketConditionType

type VirtualBucketConditionType string
const (
	VirtualBucketReady VirtualBucketConditionType = "Ready"
	VirtualBucketSaved VirtualBucketConditionType = "Saved"
)

/ Bucket Condition

type VirtualBucketList

type VirtualBucketList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Items []VirtualBucket `json:"items" protobuf:"bytes,2,rep,name=items"`
}

VirtualBucketList is a list of VirtualBuckets +kubebuilder:object:root=true

func (*VirtualBucketList) DeepCopy

func (in *VirtualBucketList) DeepCopy() *VirtualBucketList

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

func (*VirtualBucketList) DeepCopyInto

func (in *VirtualBucketList) DeepCopyInto(out *VirtualBucketList)

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

func (*VirtualBucketList) DeepCopyObject

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

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

type VirtualBucketSpec

type VirtualBucketSpec struct {
	// The reference to the tenant which the object exists under
	// +kubebuilder:validation:Optional
	TenantRef *v1.ObjectReference `json:"tenantRef,omitempty" protobuf:"bytes,1,name=tenantRef"`
	// The name of the Connection resource which exists under the same tenant as the object. The Connection
	// should represent the external location and access credentials of an object storage system
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MaxLength=64
	// +kubebuilder:default:=""
	ConnectionName *string `json:"connectionName,omitempty" protobuf:"bytes,2,opt,name=connectionName"`
	// User-provided description of the object
	// +kubebuilder:validation:MaxLength=512
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" protobuf:"bytes,3,opt,name=description"`
	// The name of the Account which created the object, which exists in the same tenant as the object
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,4,opt,name=owner"`
	// For cloud based bucket, this is the region of the bucket
	// In the case of a cloud-based Connection, Region specifies the region of the bucket
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" protobuf:"bytes,5,opt,name=region"`
	// If true, the bucket supports versioning, which applies to the S3 API. See
	// https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html for more information
	// +kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Versioning *bool `json:"versioning,omitempty" protobuf:"varint,6,opt,name=versioning"`
	// The resource quotas of the bucket, which can restrict how much storage the bucket may use
	// +kubebuilder:validation:Optional
	Quotas BucketResourceQuotas `json:"quotas,omitempty" protobuf:"bytes,7,opt,name=quotas"`
}

VirtualBucketSpec defines the desired state of VirtualBucket

func (*VirtualBucketSpec) DeepCopy

func (in *VirtualBucketSpec) DeepCopy() *VirtualBucketSpec

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

func (*VirtualBucketSpec) DeepCopyInto

func (in *VirtualBucketSpec) DeepCopyInto(out *VirtualBucketSpec)

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

type VirtualBucketStatus

type VirtualBucketStatus struct {
	// Last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,1,opt,name=lastUpdated"`
	// ObservedGeneration is the Last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,3,opt,name=observedGeneration"`
	// In the case of failure, the VirtualBucket resource controller will set this field with a failure reason
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,4,opt,name=failureReason"`
	// In the case of failure, the VirtualBucket resource controller will set this field with a failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,5,opt,name=failureMessage"`

	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []VirtualBucketCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,6,rep,name=conditions"`
}

VirtualBucketStatus defines the observed state of a VirtualBucket

func (*VirtualBucketStatus) DeepCopy

func (in *VirtualBucketStatus) DeepCopy() *VirtualBucketStatus

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

func (*VirtualBucketStatus) DeepCopyInto

func (in *VirtualBucketStatus) DeepCopyInto(out *VirtualBucketStatus)

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

type VirtualCluster

type VirtualCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"`
	Spec              VirtualClusterSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status VirtualClusterStatus `json:"status" protobuf:"bytes,3,opt,name=status"`
}

VirtualCluster defined a running kubernetes cluster with N nodes and GPU. The study can create or destroy virtual clusters during training. +kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="Owner",type="string",JSONPath=".spec.ownerName",description="cluster owner account" +kubebuilder:printcolumn:name="Nodes",type="integer",JSONPath=".spec.connectionName",description="virtual bucket connections" +kubebuilder:printcolumn:name="Node Class",type="string",JSONPath=".spec.connectionName",description="virtual bucket connections" +kubebuilder:printcolumn:name="Gpus",type="integer",JSONPath=".spec.connectionName",description="virtual bucket connections" +kubebuilder:printcolumn:name="Gpu Class",type="string",JSONPath=".spec.connectionName",description="virtual bucket connections" +kubebuilder:printcolumn:name="Connection",type="string",JSONPath=".spec.connectionName",description="virtual bucket connections" +kubebuilder:resource:path=virtualclusters,singular=virtualcluster,categories={infra,modela}

func (*VirtualCluster) AddFinalizer

func (vcluster *VirtualCluster) AddFinalizer()

func (*VirtualCluster) CreateOrUpdateCond

func (vcluster *VirtualCluster) CreateOrUpdateCond(cond VirtualClusterCondition)

Merge or update condition

func (*VirtualCluster) DeepCopy

func (in *VirtualCluster) DeepCopy() *VirtualCluster

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

func (*VirtualCluster) DeepCopyInto

func (in *VirtualCluster) DeepCopyInto(out *VirtualCluster)

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

func (*VirtualCluster) DeepCopyObject

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

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

func (*VirtualCluster) Default

func (vcluster *VirtualCluster) Default()

func (*VirtualCluster) GetCond

func (*VirtualCluster) GetCondIdx

func (vcluster *VirtualCluster) GetCondIdx(t VirtualClusterConditionType) int

func (*VirtualCluster) HasFinalizer

func (vcluster *VirtualCluster) HasFinalizer() bool

func (*VirtualCluster) IsGitObj

func (vcluster *VirtualCluster) IsGitObj() bool

func (*VirtualCluster) IsReady

func (vcluster *VirtualCluster) IsReady() bool

func (*VirtualCluster) LabelWithCommit

func (vcluster *VirtualCluster) LabelWithCommit(commit string, uname string, branch string)

func (*VirtualCluster) ManifestUri

func (vcluster *VirtualCluster) ManifestUri() string

func (*VirtualCluster) MarkArchived

func (vcluster *VirtualCluster) MarkArchived()

func (*VirtualCluster) RemoveFinalizer

func (vcluster *VirtualCluster) RemoveFinalizer()

func (*VirtualCluster) RootUri

func (vcluster *VirtualCluster) RootUri() string

func (*VirtualCluster) SetupWebhookWithManager

func (virtualcluster *VirtualCluster) SetupWebhookWithManager(mgr ctrl.Manager) error

type VirtualClusterAutoScaleSpec added in v0.4.739

type VirtualClusterAutoScaleSpec struct {
	// Is auto scaling enabled
	//+kubebuilder:default:=false
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" protobuf:"varint,1,opt,name=enabled"`
	// Min number of nodes
	//+kubebuilder:default:=0
	// +kubebuilder:validation:Optional
	Min *int32 `json:"min,omitempty" protobuf:"varint,2,opt,name=min"`
	// Max number of nodes
	//+kubebuilder:default:=0
	// +kubebuilder:validation:Optional
	Max *int32 `json:"max,omitempty" protobuf:"varint,3,opt,name=max"`
}

func (*VirtualClusterAutoScaleSpec) DeepCopy added in v0.4.739

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

func (*VirtualClusterAutoScaleSpec) DeepCopyInto added in v0.4.739

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

type VirtualClusterCondition

type VirtualClusterCondition struct {
	// Type of account condition.
	Type VirtualClusterConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=VirtualClusterConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"`
}

VirtualClusterCondition describes the state of a virtual cluster at a certain point.

func (*VirtualClusterCondition) DeepCopy

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

func (*VirtualClusterCondition) DeepCopyInto

func (in *VirtualClusterCondition) DeepCopyInto(out *VirtualClusterCondition)

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

type VirtualClusterConditionType

type VirtualClusterConditionType string
const (
	VirtualClusterReady VirtualClusterConditionType = "Ready"
	VirtualClusterSaved VirtualClusterConditionType = "Saved"
)

/ ServingSite Condition

type VirtualClusterList

type VirtualClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`

	Items []VirtualCluster `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true VirtualClusterList is a list of VirtualCluster

func (*VirtualClusterList) DeepCopy

func (in *VirtualClusterList) DeepCopy() *VirtualClusterList

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

func (*VirtualClusterList) DeepCopyInto

func (in *VirtualClusterList) DeepCopyInto(out *VirtualClusterList)

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

func (*VirtualClusterList) DeepCopyObject

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

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

type VirtualClusterSpec

type VirtualClusterSpec struct {
	// The owner of the virtual bucket
	// +kubebuilder:validation:Optional
	TenantRef *v1.ObjectReference `json:"tenantRef,omitempty" protobuf:"bytes,1,name=tenantRef"`
	// Description is the user provided description
	//+kubebuilder:default:=""
	//+optional
	Description *string `json:"description.omitempty" protobuf:"bytes,2,opt,name=description"`
	// Nodes is the desired number of nodes
	//+kubebuilder:default:=1
	//+kubebuilder:validation:Minimum=1
	//+kubebuilder:validation:Maximum=10
	// +kubebuilder:validation:Optional
	Nodes *int32 `json:"nodes,omitempty" protobuf:"varint,3,opt,name=nodes"`
	// +kubebuilder:validation:Optional
	// NodeClassName is the class of nodes or vm
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	NodeClassName *string `json:"nodeClassName,omitempty" protobuf:"bytes,4,opt,name=nodeClassName"`
	// +kubebuilder:validation:Optional
	// Gpus is the desired number of gpus
	//+kubebuilder:default:=0
	//+kubebuilder:validation:Minimum=0
	//+kubebuilder:validation:Maximum=10
	// +kubebuilder:validation:Optional
	Gpus *int32 `json:"gpus,omitempty" protobuf:"varint,5,opt,name=gpus"`
	// +kubebuilder:validation:Optional
	// GpuClassName is the The class of gpu.
	// +kubebuilder:default:=""
	// +kubebuilder:validation:Optional
	GpuClassName *string `json:"gpuClassName,omitempty" protobuf:"bytes,6,opt,name=gpuClassName"`
	// +kubebuilder:validation:Optional
	// VolumeSize is the size of the volume that would be mounted on all the node of the cluster
	//+kubebuilder:default:=0
	//+kubebuilder:validation:Minimum=0
	//+kubebuilder:validation:Maximum=10
	// +kubebuilder:validation:Optional
	VolumeSize *int32 `json:"volumeSize,omitempty" protobuf:"varint,7,opt,name=volumeSize"`
	// +kubebuilder:validation:Optional
	// Spot indicate if we should we use spot instances.
	//+kubebuilder:default:=false
	//+optional
	Spot *bool `json:"spot,omitempty" protobuf:"varint,8,opt,name=spot"`
	// ConnectionName refer to the name of the provider connection
	// +kubebuilder:default:=""
	ConnectionName *string `json:"connectionName,omitempty" protobuf:"bytes,9,opt,name=connectionName"`
	// Owner is the account name of the owner of this cluster
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,10,opt,name=owner"`
	// Specify resource limits for the virtual cluster
	// +kubebuilder:validation:Optional
	Limits *ResourceLimitSpec `json:"limits,omitempty" protobuf:"bytes,11,opt,name=limits"`
	// The cloud region, if this cluster is created in a public cloud
	// +kubebuilder:validation:Optional
	Region *string `json:"region,omitempty" protobuf:"bytes,12,opt,name=region"`
	// The cloud AZ, if this cluster is created in a public cloud
	// +kubebuilder:validation:Optional
	Az *string `json:"az,omitempty" protobuf:"bytes,13,opt,name=az"`
	// The cluster kubernetes version
	// +kubebuilder:validation:Optional
	KubernetesVersion *string `json:"kubernetesVersion,omitempty" protobuf:"bytes,14,opt,name=kubernetesVersion"`
	// Auto Scale specification
	// +kubebuilder:validation:Optional
	AutoScale VirtualClusterAutoScaleSpec `json:"autoScale,omitempty" protobuf:"bytes,15,opt,name=autoScale"`
}

func (*VirtualClusterSpec) DeepCopy

func (in *VirtualClusterSpec) DeepCopy() *VirtualClusterSpec

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

func (*VirtualClusterSpec) DeepCopyInto

func (in *VirtualClusterSpec) DeepCopyInto(out *VirtualClusterSpec)

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

type VirtualClusterStatus

type VirtualClusterStatus struct {
	// ObservedGeneration is the Last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`
	// +kubebuilder:validation:Minimum=0
	//+optional
	AvailableNodes *int32 `json:"availableNodes" protobuf:"varint,2,opt,name=availableNodes"`
	// Number of available Gpus
	// +kubebuilder:validation:Minimum=0
	//+optional
	AvailableGpus *int32 `json:"availableGpus" protobuf:"varint,3,opt,name=availableGpus"`

	// Last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,4,opt,name=lastUpdated"`
	// Update in case of terminal failure
	// Borrowed from cluster api controller
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,5,opt,name=failureReason"`
	// Update in case of terminal failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,6,opt,name=failureMessage"`

	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []VirtualClusterCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,7,rep,name=conditions"`
}

func (*VirtualClusterStatus) DeepCopy

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

func (*VirtualClusterStatus) DeepCopyInto

func (in *VirtualClusterStatus) DeepCopyInto(out *VirtualClusterStatus)

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

type VirtualVolume

type VirtualVolume struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Spec              VirtualVolumeSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"`
	//+optional
	Status VirtualVolumeStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:storageversion +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description="" +kubebuilder:printcolumn:name="StorageConnection",type="string",JSONPath=".spec.connectionName",description="virtual bucket connections" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="" +kubebuilder:resource:path=virtualvolumes,shortName=vol,singular=virtualvolume,categories={infra,modela,all} VirtualVolume represent a volume api object

func (*VirtualVolume) AddFinalizer

func (volume *VirtualVolume) AddFinalizer()

func (*VirtualVolume) Archived

func (vv *VirtualVolume) Archived() bool

func (*VirtualVolume) CreateOrUpdateCond

func (volume *VirtualVolume) CreateOrUpdateCond(cond VirtualVolumeCondition)

Merge or update condition

func (*VirtualVolume) DeepCopy

func (in *VirtualVolume) DeepCopy() *VirtualVolume

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

func (*VirtualVolume) DeepCopyInto

func (in *VirtualVolume) DeepCopyInto(out *VirtualVolume)

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

func (*VirtualVolume) DeepCopyObject

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

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

func (*VirtualVolume) Default

func (volume *VirtualVolume) Default()

func (*VirtualVolume) GetCond

func (*VirtualVolume) GetCondIdx

func (volume *VirtualVolume) GetCondIdx(t VirtualVolumeConditionType) int

func (*VirtualVolume) HasFinalizer

func (volume *VirtualVolume) HasFinalizer() bool

func (*VirtualVolume) IsReady

func (volume *VirtualVolume) IsReady() bool

func (*VirtualVolume) ManifestUri

func (volume *VirtualVolume) ManifestUri() string

func (*VirtualVolume) MarkArchived

func (vv *VirtualVolume) MarkArchived()

func (*VirtualVolume) MarkReady

func (vv *VirtualVolume) MarkReady()

func (*VirtualVolume) RemoveFinalizer

func (volume *VirtualVolume) RemoveFinalizer()

func (*VirtualVolume) RootUri

func (volume *VirtualVolume) RootUri() string

func (*VirtualVolume) SetupWebhookWithManager

func (volume *VirtualVolume) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*VirtualVolume) ValidateCreate

func (volume *VirtualVolume) ValidateCreate() error

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

func (*VirtualVolume) ValidateDelete

func (volume *VirtualVolume) ValidateDelete() error

func (*VirtualVolume) ValidateUpdate

func (volume *VirtualVolume) ValidateUpdate(old runtime.Object) error

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

type VirtualVolumeCondition

type VirtualVolumeCondition struct {
	// Type of account condition.
	Type VirtualVolumeConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=VirtualVolumeConditionType"`
	// Status of the condition, one of True, False, Unknown.
	Status v1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"`
	// Last time the condition transitioned from one status to another.
	LastTransitionTime *metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,4,opt,name=lastTransitionTime"`
	// The reason for the condition's last transition.
	Reason string `json:"reason,omitempty" protobuf:"bytes,5,opt,name=reason"`
	// A human readable message indicating details about the transition.
	Message string `json:"message,omitempty" protobuf:"bytes,6,opt,name=message"`
}

func (*VirtualVolumeCondition) DeepCopy

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

func (*VirtualVolumeCondition) DeepCopyInto

func (in *VirtualVolumeCondition) DeepCopyInto(out *VirtualVolumeCondition)

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

type VirtualVolumeConditionType

type VirtualVolumeConditionType string

/ VirtualVolume conditions

const (
	VirtualVolumeReady VirtualVolumeConditionType = "Ready"
	VirtualVolumeSaved VirtualVolumeConditionType = "Saved"
)

/ VirtualVolume Condition

type VirtualVolumeList

type VirtualVolumeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
	Items           []VirtualVolume `json:"items" protobuf:"bytes,2,rep,name=items"`
}

+kubebuilder:object:root=true VirtualVolumeList is a list of mdvolumes

func (*VirtualVolumeList) DeepCopy

func (in *VirtualVolumeList) DeepCopy() *VirtualVolumeList

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

func (*VirtualVolumeList) DeepCopyInto

func (in *VirtualVolumeList) DeepCopyInto(out *VirtualVolumeList)

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

func (*VirtualVolumeList) DeepCopyObject

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

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

type VirtualVolumeSpec

type VirtualVolumeSpec struct {
	// The Lab that own the git repository
	// Default to the default volume.
	TenantRef *v1.ObjectReference `json:"tenantRef" protobuf:"bytes,1,name=tenantRef"`
	//  specify the api connections of this mdvolume cloud provider.
	// +kubebuilder:validation:Optional
	ConnectionName *string `json:"connectionName,omitempty" protobuf:"bytes,2,opt,name=connectionName"`
	// User provided description
	// +kubebuilder:validation:Optional
	// +kubebuilder:default:=""
	// +kubebuilder:validation:MaxLength=512
	Description *string `json:"description,omitempty" protobuf:"bytes,3,opt,name=description"`
	// The owner account name
	// +kubebuilder:default:="no-one"
	// +kubebuilder:validation:Optional
	Owner *string `json:"owner,omitempty" protobuf:"bytes,4,opt,name=owner"`
}

VirtualVolumeSpec define the desired state of the mdvolume.

func (*VirtualVolumeSpec) DeepCopy

func (in *VirtualVolumeSpec) DeepCopy() *VirtualVolumeSpec

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

func (*VirtualVolumeSpec) DeepCopyInto

func (in *VirtualVolumeSpec) DeepCopyInto(out *VirtualVolumeSpec)

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

type VirtualVolumeStatus

type VirtualVolumeStatus struct {
	// ObservedGeneration is the Last generation that was acted on
	//+kubebuilder:validation:Optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty" protobuf:"varint,1,opt,name=observedGeneration"`

	// Last time the object was updated
	//+kubebuilder:validation:Optional
	LastUpdated *metav1.Time `json:"lastUpdated,omitempty" protobuf:"bytes,2,opt,name=lastUpdated"`

	// Update in case of terminal failure
	// Borrowed from cluster api controller
	//+kubebuilder:validation:Optional
	FailureReason *catalog.StatusError `json:"failureReason,omitempty" protobuf:"bytes,3,opt,name=failureReason"`
	// Update in case of terminal failure message
	//+kubebuilder:validation:Optional
	FailureMessage *string `json:"failureMessage,omitempty" protobuf:"bytes,4,opt,name=failureMessage"`

	// +patchMergeKey=type
	// +patchStrategy=merge
	// +kubebuilder:validation:Optional
	Conditions []VirtualVolumeCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,5,rep,name=conditions"`
}

func (*VirtualVolumeStatus) DeepCopy

func (in *VirtualVolumeStatus) DeepCopy() *VirtualVolumeStatus

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

func (*VirtualVolumeStatus) DeepCopyInto

func (in *VirtualVolumeStatus) DeepCopyInto(out *VirtualVolumeStatus)

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

type WebhookSpec

type WebhookSpec struct {
	// +kubebuilder:default:=""
	Url *string `json:"url,omitempty" protobuf:"bytes,1,opt,name=url"`
	// Content type
	// +kubebuilder:default:="application/json"
	ContentType *string `json:"contentType,omitempty" protobuf:"bytes,2,opt,name=contentType"`
	// The webhook secret token
	Token *string `json:"token,omitempty" protobuf:"bytes,3,opt,name=token"`
	// custom headers to send
	Headers map[string]string `json:"headers,omitempty" protobuf:"bytes,4,opt,name=headers"`
	// +kubebuilder:default:=false
	SSL *bool `json:"ssl,omitempty" protobuf:"varint,5,opt,name=ssl"`
}

func (*WebhookSpec) DeepCopy

func (in *WebhookSpec) DeepCopy() *WebhookSpec

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

func (*WebhookSpec) DeepCopyInto

func (in *WebhookSpec) DeepCopyInto(out *WebhookSpec)

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