v1alpha1

package
v1.10.0 Latest Latest
Warning

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

Go to latest
Published: Nov 26, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Overview

Package v1alpha1 contains ControlPlane resources. +kubebuilder:object:generate=true +groupName=spaces.upbound.io +versionName=v1alpha1

Index

Constants

View Source
const (
	// BackupCompleted indicates that the backup has completed successfully.
	ConditionTypeCompleted xpv1.ConditionType = "Completed"
	// BackupFailed indicates that the backup has failed.
	ConditionTypeFailed xpv1.ConditionType = "Failed"
)

Condition types for backups

View Source
const (
	// AllBackupsCompleted indicates that all backups have completed successfully.
	AllBackupsCompleted xpv1.ConditionReason = "AllBackupsCompleted"
	// AtLeastOneFailed indicates that at least one backup has failed.
	AtLeastOneFailed xpv1.ConditionReason = "AtLeastOneFailed"
)
View Source
const (
	// BackupFailedReason is the reason for a failed backup.
	BackupFailedReason xpv1.ConditionReason = "BackupFailed"
	// BackupRetryReason is the reason for a backup being retried.
	BackupRetryReason xpv1.ConditionReason = "BackupRetry"
	// BackupSuccessReason is the reason for a successful backup.
	BackupSuccessReason xpv1.ConditionReason = "BackupSuccess"
)
View Source
const (
	Group   = "spaces.upbound.io"
	Version = "v1alpha1"
)

Package type metadata.

View Source
const (
	// ReasonSecretRefMissing is added to object if the referenced secret(s) do not exist
	ReasonSecretRefMissing = xpv1.ConditionReason("ReferencedSecretNotFound")
	// ReasonSecretRefMissingKey is added when the object if the secret(s) exists, but the key data is missing
	ReasonSecretRefMissingKey = xpv1.ConditionReason("ReferencedSecretKeyNotFound")
	// ReasonSecretRefReady is added when the referenced secret(s) and data are found
	ReasonSecretRefReady = xpv1.ConditionReason("ReferencedSecretsReady")
	// ReasonSecretRefNone is added when object does not reference a secret
	ReasonSecretRefNone = xpv1.ConditionReason("NoReferencedSecrets")
)
View Source
const (
	ReasonSimulationStarting   xpv1.ConditionReason = "SimulationStarting"
	ReasonSimulationRunning    xpv1.ConditionReason = "SimulationRunning"
	ReasonSimulationComplete   xpv1.ConditionReason = "SimulationComplete"
	ReasonSimulationTerminated xpv1.ConditionReason = "SimulationTerminated"
)

Reasons a simulation is or isn't accepting changes.

View Source
const BackupScheduleLabelKey = "spaces.upbound.io/backupschedule"

BackupScheduleLabelKey is the label key used to identify Backups created by a BackupSchedule.

View Source
const (
	// ConditionSecretRefReady indicates the status of any referenced secrets
	// for API objects that reference a secret.
	ConditionSecretRefReady = xpv1.ConditionType("SecretRefsReady")
)
View Source
const SharedBackupLabelKey = "spaces.upbound.io/sharedbackup"

SharedBackupLabelKey is the label key used to identify Backups that are managed by a SharedBackup.

View Source
const SharedBackupScheduleLabelKey = "spaces.upbound.io/sharedbackupschedule"

SharedBackupScheduleLabelKey is the label key used to identify BackupSchedules that are managed by a SharedBackupSchedule.

View Source
const (
	// TypeAcceptingChanges indicates the simulated control plane is accepting
	// changes. All changes detected while this condition is true will appear in
	// the change summary.
	TypeAcceptingChanges xpv1.ConditionType = "AcceptingChanges"
)

Condition types.

Variables

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

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

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	SimulationKind             = reflect.TypeOf(Simulation{}).Name()
	SimulationGroupKind        = schema.GroupKind{Group: Group, Kind: SimulationKind}.String()
	SimulationKindAPIVersion   = SimulationKind + "." + SchemeGroupVersion.String()
	SimulationGroupVersionKind = SchemeGroupVersion.WithKind(SimulationKind)
)

Simulation type metadata.

View Source
var (
	// BackupKind is the kind of a Backup.
	BackupKind = reflect.TypeOf(Backup{}).Name()
)
View Source
var (
	// BackupScheduleKind is the kind of BackupSchedule.
	BackupScheduleKind = reflect.TypeOf(BackupSchedule{}).Name()
)
View Source
var (
	// InControlPlaneOverrideKind is the kind of the InControlPlaneOverride.
	InControlPlaneOverrideKind = reflect.TypeOf(InControlPlaneOverride{}).Name()
)
View Source
var (
	// SharedBackupConfigKind is the kind of a SharedBackupConfig.
	SharedBackupConfigKind = reflect.TypeOf(SharedBackupConfig{}).Name()
)
View Source
var (
	// SharedBackupKind is the kind of a SharedBackup.
	SharedBackupKind = reflect.TypeOf(SharedBackup{}).Name()
)
View Source
var (
	// SharedBackupScheduleKind is the kind of SharedBackupSchedule.
	SharedBackupScheduleKind = reflect.TypeOf(SharedBackupSchedule{}).Name()
)
View Source
var (
	// SharedExternalSecretKind is the kind of the SharedExternalSecret.
	SharedExternalSecretKind = reflect.TypeOf(SharedExternalSecret{}).Name()
)
View Source
var (
	// SharedSecretStoreKind is the kind of the SharedSecretStore.
	SharedSecretStoreKind = reflect.TypeOf(SharedSecretStore{}).Name()
)

Functions

func BackupCompleted

func BackupCompleted() xpv1.Condition

BackupCompleted returns a condition indicating that the backup has completed successfully.

func BackupFailed

func BackupFailed(err error) xpv1.Condition

BackupFailed returns a condition indicating that the backup has failed.

func BackupRetry

func BackupRetry(msg string) xpv1.Condition

BackupRetry returns a condition indicating that the backup is being retried.

func ReadyDeleted

func ReadyDeleted() xpv1.Condition

ReadyDeleted returns a condition that indicates the target object hierarchy has successfully been cleaned up, and the InControlPlaneOverride object is ready for garbage collection.

func ReadyTraversed

func ReadyTraversed(s corev1.ConditionStatus) xpv1.Condition

ReadyTraversed returns a condition that indicates whether the target object hierarchy has successfully been traversed or not.

func SecretRefsReadyMissing

func SecretRefsReadyMissing() xpv1.Condition

SecretRefsReadyMissing returns a condition indicating that the referenced secret(s) do not exist.

func SecretRefsReadyMissingKey

func SecretRefsReadyMissingKey() xpv1.Condition

SecretRefsReadyMissingKey returns a condition indicating that the referenced secret(s) exist, but the key data is missing.

func SecretRefsReadyNone

func SecretRefsReadyNone() xpv1.Condition

SecretRefsReadyNone returns a condition indicating that the referenced object is not a secret.

func SecretRefsReadyReady

func SecretRefsReadyReady() xpv1.Condition

SecretRefsReadyReady returns a condition indicating that the referenced secret(s) and data are found.

func SharedBackupCompleted

func SharedBackupCompleted() xpv1.Condition

SharedBackupCompleted returns a condition indicating that all backups have completed successfully.

func SharedBackupFailed

func SharedBackupFailed(err error) xpv1.Condition

SharedBackupFailed returns a condition indicating that at least one backup has failed.

func SimulationComplete

func SimulationComplete() xpv1.Condition

SimulationComplete indicates a Simulation is complete, and no longer ready to accept changes. A SimulationComplete Simuluation's simulated control plane keeps running until the Simulation is terminated.

func SimulationRunning

func SimulationRunning() xpv1.Condition

SimulationRunning indicates a Simulation is running, and ready to accept changes.

func SimulationStarting

func SimulationStarting() xpv1.Condition

SimulationStarting indicates a Simulation is still starting. It isn't yet ready to accept changes.

func SimulationTerminated

func SimulationTerminated() xpv1.Condition

SimulationTerminated indicates a Simulation is terminated. The simulated control plane is deleted when a simulation is terminated.

Types

type Backup

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

	// +kubebuilder:validation:XValidation:rule="self.controlPlane == oldSelf.controlPlane",message="backup target controlplane can not be changed after creation"
	// +kubebuilder:validation:XValidation:rule="(!has(self.excludedResources) && !has(oldSelf.excludedResources)) || self.excludedResources == oldSelf.excludedResources",message="backup excluded resources can not be changed after creation"
	// +kubebuilder:validation:XValidation:rule="self.configRef == oldSelf.configRef",message="backup config ref can not be changed after creation"
	Spec   BackupSpec   `json:"spec"`
	Status BackupStatus `json:"status,omitempty"`
}

Backup represents a single backup of a ControlPlane.

func (*Backup) DeepCopy

func (in *Backup) DeepCopy() *Backup

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

func (*Backup) DeepCopyInto

func (in *Backup) DeepCopyInto(out *Backup)

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

func (*Backup) DeepCopyObject

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

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

type BackupCredentials

type BackupCredentials struct {
	// Source of the credentials.
	// Source "Secret" requires "get" permissions on the referenced Secret.
	// +kubebuilder:validation:Enum=Secret;InjectedIdentity
	// +kubebuilder:validation:Required
	Source xpv1.CredentialsSource `json:"source"`

	// CommonCredentialSelectors provides common selectors for extracting
	// credentials.
	LocalCommonCredentialSelectors `json:",inline"`
}

BackupCredentials specifies the credentials to access the object storage.

func (*BackupCredentials) DeepCopy

func (in *BackupCredentials) DeepCopy() *BackupCredentials

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

func (*BackupCredentials) DeepCopyInto

func (in *BackupCredentials) DeepCopyInto(out *BackupCredentials)

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

type BackupDefinition

type BackupDefinition struct {
	// TTL is the time to live for the backup. After this time, the backup
	// will be eligible for garbage collection. If not set, the backup will
	// not be garbage collected.
	// +optional
	TTL *metav1.Duration `json:"ttl,omitempty"`

	// DeletionPolicy is the policy for the backup.
	// +kube:validation:Enum=Orphan;Delete
	// +kubebuilder:default=Orphan
	DeletionPolicy xpv1.DeletionPolicy `json:"deletionPolicy,omitempty"`

	ControlPlaneBackupConfig `json:",inline"`

	// ConfigRef is a reference to the backup configuration.
	// ApiGroup is optional and defaults to "spaces.upbound.io".
	// Kind is required, and the only supported value is "SharedBackupConfig" at
	// the moment.
	// Name is required.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:XValidation:rule="(!has(self.apiGroup) || self.apiGroup == 'spaces.upbound.io') && self.kind == 'SharedBackupConfig'",message="backup config ref must be a reference to a SharedBackupConfig"
	// +kubebuilder:validation:XValidation:rule="size(self.name) > 0",message="backup config ref must have a name"
	ConfigRef common.TypedLocalObjectReference `json:"configRef"`
}

BackupDefinition defines all the parameters for a backup.

func (*BackupDefinition) DeepCopy

func (in *BackupDefinition) DeepCopy() *BackupDefinition

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

func (*BackupDefinition) DeepCopyInto

func (in *BackupDefinition) DeepCopyInto(out *BackupDefinition)

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

type BackupList

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

BackupList contains a list of Backups.

func (*BackupList) DeepCopy

func (in *BackupList) DeepCopy() *BackupList

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

func (*BackupList) DeepCopyInto

func (in *BackupList) DeepCopyInto(out *BackupList)

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

func (*BackupList) DeepCopyObject

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

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

type BackupObjectStorage

type BackupObjectStorage struct {
	// Provider is the name of the object storage provider.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=AWS;Azure;GCP
	Provider BackupObjectStorageProvider `json:"provider"`

	// Bucket is the name of the bucket to store backups in.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Bucket string `json:"bucket"`

	// Prefix is the prefix to use for all backups using this
	// SharedBackupConfig, e.g. "prod/cluster1", resulting in backups for
	// controlplane "ctp1" in namespace "ns1" being stored in
	// "prod/cluster1/ns1/ctp1".
	Prefix string `json:"prefix,omitempty"`

	// Config is a free-form map of configuration options for the object storage provider.
	// See https://github.com/thanos-io/objstore?tab=readme-ov-file for more
	// information on the formats for each supported cloud provider. Bucket and
	// Provider will override the required values in the config.
	// +kubebuilder:pruning:PreserveUnknownFields
	Config common.JSONObject `json:"config,omitempty"`

	// Credentials specifies the credentials to access the object storage.
	// +kubebuilder:validation:Required
	Credentials BackupCredentials `json:"credentials"`
}

BackupObjectStorage specifies the object storage configuration for the given provider.

+kubebuilder:validation:XValidation:rule="self.credentials.source != 'Secret' || (has(self.credentials.secretRef) && has(self.credentials.secretRef.name))",message="credentials.secretRef.name must be set when source is Secret"

func (*BackupObjectStorage) DeepCopy

func (in *BackupObjectStorage) DeepCopy() *BackupObjectStorage

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

func (*BackupObjectStorage) DeepCopyInto

func (in *BackupObjectStorage) DeepCopyInto(out *BackupObjectStorage)

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

type BackupObjectStorageProvider

type BackupObjectStorageProvider string

BackupObjectStorageProvider define the name of an object storage provider.

const (
	// BackupObjectStorageProviderAWS is the AWS object storage provider.
	BackupObjectStorageProviderAWS BackupObjectStorageProvider = "AWS"

	// BackupObjectStorageProviderAzure is the Azure object storage provider.
	BackupObjectStorageProviderAzure BackupObjectStorageProvider = "Azure"

	// BackupObjectStorageProviderGCP is the GCP object storage provider.
	BackupObjectStorageProviderGCP BackupObjectStorageProvider = "GCP"
)

type BackupPhase

type BackupPhase string

BackupPhase is a string representation of the phase of a backup.

const (
	// BackupPhasePending means the backup has been accepted by the system, but
	// is not yet being processed.
	BackupPhasePending BackupPhase = "Pending"
	// BackupPhaseInProgress means the backup is currently being processed.
	BackupPhaseInProgress BackupPhase = "InProgress"
	// BackupPhaseCompleted means the backup has been completed.
	BackupPhaseCompleted BackupPhase = "Completed"
	// BackupPhaseFailed means the backup has failed.
	BackupPhaseFailed BackupPhase = "Failed"
	// BackupPhaseDeleted means the backup has been deleted from the bucket, at
	// the best of our knowledge.
	BackupPhaseDeleted BackupPhase = "Deleted"
)

type BackupSchedule

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

	Spec   BackupScheduleSpec   `json:"spec"`
	Status BackupScheduleStatus `json:"status,omitempty"`
}

BackupSchedule represents a single ControlPlane schedule for Backups.

func (*BackupSchedule) DeepCopy

func (in *BackupSchedule) DeepCopy() *BackupSchedule

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

func (*BackupSchedule) DeepCopyInto

func (in *BackupSchedule) DeepCopyInto(out *BackupSchedule)

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

func (*BackupSchedule) DeepCopyObject

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

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

type BackupScheduleDefinition

type BackupScheduleDefinition struct {
	// Suspend specifies whether the schedule is suspended. If true, no
	// Backups will be created, but running backups will be allowed to
	// complete.
	// +optional
	Suspend bool `json:"suspend,omitempty"`

	// Schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
	// +kubebuilder:validation:MinLength=1
	Schedule string `json:"schedule"`

	BackupDefinition `json:",inline"`
}

BackupScheduleDefinition defines the schedule for a Backup.

func (*BackupScheduleDefinition) DeepCopy

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

func (*BackupScheduleDefinition) DeepCopyInto

func (in *BackupScheduleDefinition) DeepCopyInto(out *BackupScheduleDefinition)

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

type BackupScheduleList

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

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

BackupScheduleList contains a list of BackupSchedules.

func (*BackupScheduleList) DeepCopy

func (in *BackupScheduleList) DeepCopy() *BackupScheduleList

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

func (*BackupScheduleList) DeepCopyInto

func (in *BackupScheduleList) DeepCopyInto(out *BackupScheduleList)

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

func (*BackupScheduleList) DeepCopyObject

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

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

type BackupScheduleSpec

type BackupScheduleSpec struct {
	// ControlPlane is the name of the ControlPlane to which the schedule
	// applies.
	// Requires "get" permission on the referenced ControlPlane.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="target can not be changed after creation"
	ControlPlane string `json:"controlPlane"`

	// UseOwnerReferencesBackup specifies whether an ownership chain should be
	// established between this resource and the Backup it creates.
	// If set to true, the Backup will be garbage collected when this resource
	// is deleted.
	// +optional
	UseOwnerReferencesInBackup bool `json:"useOwnerReferencesInBackup,omitempty"`

	BackupScheduleDefinition `json:",inline"`
}

BackupScheduleSpec defines a backup schedule over a set of ControlPlanes.

func (*BackupScheduleSpec) DeepCopy

func (in *BackupScheduleSpec) DeepCopy() *BackupScheduleSpec

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

func (*BackupScheduleSpec) DeepCopyInto

func (in *BackupScheduleSpec) DeepCopyInto(out *BackupScheduleSpec)

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

type BackupScheduleStatus

type BackupScheduleStatus struct {
	xpv1.ResourceStatus `json:",inline"`

	// LastBackup is the last time a Backup was run for this
	// Schedule schedule
	// +optional
	LastBackup *metav1.Time `json:"lastBackup,omitempty"`
}

BackupScheduleStatus represents the observed state of a BackupSchedule.

func (*BackupScheduleStatus) DeepCopy

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

func (*BackupScheduleStatus) DeepCopyInto

func (in *BackupScheduleStatus) DeepCopyInto(out *BackupScheduleStatus)

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

type BackupSpec

type BackupSpec struct {
	// ControlPlane is the name of the ControlPlane to backup.
	// Requires "backup" permission on the referenced ControlPlane.
	// +kubebuilder:validation:MinLength=1
	ControlPlane string `json:"controlPlane"`

	BackupDefinition `json:",inline"`
}

BackupSpec defines a backup over a set of ControlPlanes.

func (*BackupSpec) DeepCopy

func (in *BackupSpec) DeepCopy() *BackupSpec

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

func (*BackupSpec) DeepCopyInto

func (in *BackupSpec) DeepCopyInto(out *BackupSpec)

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

type BackupStatus

type BackupStatus struct {
	xpv1.ResourceStatus `json:",inline"`

	// Phase is the current phase of the backup.
	// +kubebuilder:validation:Enum=Pending;InProgress;Failed;Completed;Deleted
	// +kubebuilder:default=Pending
	Phase BackupPhase `json:"phase,omitempty"`

	// Retries is the number of times the backup has been retried.
	Retries int32 `json:"retries,omitempty"`
}

BackupStatus represents the observed state of a Backup.

func (*BackupStatus) DeepCopy

func (in *BackupStatus) DeepCopy() *BackupStatus

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

func (*BackupStatus) DeepCopyInto

func (in *BackupStatus) DeepCopyInto(out *BackupStatus)

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

type ChangedObjectReference

type ChangedObjectReference struct {
	// APIVersion of the changed resource.
	APIVersion string `json:"apiVersion"`

	// Kind of the changed resource.
	Kind string `json:"kind"`

	// Name of the changed resource.
	Name string `json:"name"`

	// Namespace of the changed resource.
	// +optional
	Namespace *string `json:"namespace,omitempty"`
}

A ChangedObjectReference represents a changed object.

func (*ChangedObjectReference) DeepCopy

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

func (*ChangedObjectReference) DeepCopyInto

func (in *ChangedObjectReference) DeepCopyInto(out *ChangedObjectReference)

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

type CompletionCriterion

type CompletionCriterion struct {
	// Type of criterion.
	// +kubebuilder:validation:Enum=Duration
	Type CompletionCriterionType `json:"type"`

	// Duration after which the simulation is complete.
	Duration metav1.Duration `json:"duration"`
}

A CompletionCriterion specifies when a simulation is complete.

func (*CompletionCriterion) DeepCopy

func (in *CompletionCriterion) DeepCopy() *CompletionCriterion

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

func (*CompletionCriterion) DeepCopyInto

func (in *CompletionCriterion) DeepCopyInto(out *CompletionCriterion)

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

type CompletionCriterionType

type CompletionCriterionType string

A CompletionCriterionType is a type of criterion.

const (
	// CompletionCriterionTypeDuration specifies that a simulation is complete
	// after a specified duration. The duration is relative to when the
	// simulation entered the AcceptingChanges state.
	CompletionCriterionTypeDuration CompletionCriterionType = "Duration"
)

type ControlPlaneBackupConfig added in v1.9.0

type ControlPlaneBackupConfig struct {
	// ExcludedResources is a slice of resource names that are not
	// included in the backup. Used to filter the included extra resources.
	// +optional
	// +listType=set
	ExcludedResources []string `json:"excludedResources,omitempty"`
}

ControlPlaneBackupConfig defines the configuration for a controlplane backup.

func (*ControlPlaneBackupConfig) DeepCopy added in v1.9.0

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

func (*ControlPlaneBackupConfig) DeepCopyInto added in v1.9.0

func (in *ControlPlaneBackupConfig) DeepCopyInto(out *ControlPlaneBackupConfig)

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

type ControlPlaneData

type ControlPlaneData struct {
	// ExportTimestamp is the time at which the source control plane's resources
	// were exported. Resources are exported to temporary storage before they're
	// imported to the simulated control plane.
	ExportTimestamp *metav1.Time `json:"exportTimestamp,omitempty"`

	// ImportTiemstamp is the time at which the source control plane's resources
	// were imported to the simulated control plane.
	ImportTimestamp *metav1.Time `json:"importTimestamp,omitempty"`
}

ControlPlaneData exported from the source control plane and imported to the simulated control plane.

func (*ControlPlaneData) DeepCopy

func (in *ControlPlaneData) DeepCopy() *ControlPlaneData

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

func (*ControlPlaneData) DeepCopyInto

func (in *ControlPlaneData) DeepCopyInto(out *ControlPlaneData)

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

type InControlPlaneOverride

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

	Spec   InControlPlaneOverrideSpec   `json:"spec"`
	Status InControlPlaneOverrideStatus `json:"status,omitempty"`
}

InControlPlaneOverride represents resource configuration overrides in a ControlPlane. The specified override can be applied on single objects as well as claim/XR object hierarchies.

func (*InControlPlaneOverride) DeepCopy

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

func (*InControlPlaneOverride) DeepCopyInto

func (in *InControlPlaneOverride) DeepCopyInto(out *InControlPlaneOverride)

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

func (*InControlPlaneOverride) DeepCopyObject

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

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

type InControlPlaneOverrideList

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

InControlPlaneOverrideList is a list of InControlPlaneOverride objects.

func (*InControlPlaneOverrideList) DeepCopy

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

func (*InControlPlaneOverrideList) DeepCopyInto

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

func (*InControlPlaneOverrideList) DeepCopyObject

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

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

type InControlPlaneOverrideSpec

type InControlPlaneOverrideSpec struct {
	// ControlPlaneName is the name of the target ControlPlane where
	// the resource configuration overrides will be applied.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="controlPlaneName is immutable"
	ControlPlaneName string `json:"controlPlaneName"`

	// TargetRef is the object reference to a Kubernetes API object where the
	// configuration override will start. The controller will traverse the
	// target object's hierarchy depending on the PropagationPolicy. If
	// PropagationPolicy is None, then only the target object will be updated.
	TargetRef ObjectReference `json:"targetRef"`

	// PropagationPolicy specifies whether the configuration override will be
	// applied only to the object referenced in TargetRef (None), after an
	// ascending or descending hierarchy traversal will be done starting with
	// the target object.
	// +kubebuilder:validation:Enum=None;Ascending;Descending
	// +kubebuilder:default=None
	// +optional
	PropagationPolicy PatchPropagationPolicy `json:"propagationPolicy"`

	// DeletionPolicy specifies whether when the InControlPlaneOverride object
	// is deleted, the configuration override should be kept (Keep) or
	// rolled back (RollBack).
	// +kubebuilder:validation:Enum=RollBack;Keep
	// +kubebuilder:default=RollBack
	// +optional
	DeletionPolicy PatchDeletionPolicy `json:"deletionPolicy"`

	// Override denotes the configuration override to be applied on the target
	// object hierarchy. The fully specified intent is obtained by serializing
	// the Override.
	Override Override `json:"override"`
}

InControlPlaneOverrideSpec defines a configuration override on a target object hierarchy in a target ControlPlane with the given name.

func (*InControlPlaneOverrideSpec) DeepCopy

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

func (*InControlPlaneOverrideSpec) DeepCopyInto

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

type InControlPlaneOverrideStatus

type InControlPlaneOverrideStatus struct {
	xpv1.ResourceStatus `json:",inline"`

	// +optional
	ObjectRefs []PatchedObjectStatus `json:"objectRefs,omitempty"`
}

InControlPlaneOverrideStatus defines the status of an InControlPlaneOverride object.

func (*InControlPlaneOverrideStatus) DeepCopy

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

func (*InControlPlaneOverrideStatus) DeepCopyInto

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

type LocalCommonCredentialSelectors

type LocalCommonCredentialSelectors struct {
	// A SecretRef is a reference to a secret key that contains the credentials
	// that must be used to connect to the provider.
	// +optional
	SecretRef *LocalSecretKeySelector `json:"secretRef,omitempty"`
}

LocalCommonCredentialSelectors provides common selectors for extracting credentials.

func (*LocalCommonCredentialSelectors) DeepCopy

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

func (*LocalCommonCredentialSelectors) DeepCopyInto

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

type LocalSecretKeySelector

type LocalSecretKeySelector struct {
	xpv1.LocalSecretReference `json:",inline"`

	// The key to select.
	// +kubebuilder:default=credentials
	Key string `json:"key"`
}

A LocalSecretKeySelector is a reference to a secret key in a predefined namespace.

func (*LocalSecretKeySelector) DeepCopy

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

func (*LocalSecretKeySelector) DeepCopyInto

func (in *LocalSecretKeySelector) DeepCopyInto(out *LocalSecretKeySelector)

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

type Matchable

type Matchable interface {
	labels.Labels
	// GetName return the resource name
	GetName() string
}

Matchable is a resource that is potentially matchable by a resource selector +kubebuilder:object:generate=false

type MetadataPatch

type MetadataPatch struct {
	// Annotations represents the Kube object annotations.
	// Only the following annotations are allowed to be patched:
	// - crossplane.io/paused
	// - spaces.upbound.io/force-reconcile-at
	// +kubebuilder:validation:XValidation:rule="self.all(k, k == 'crossplane.io/paused' || k == 'spaces.upbound.io/force-reconcile-at')",message="Only the crossplane.io/paused and spaces.upbound.io/force-reconcile-at annotations are allowed"
	Annotations map[string]string `json:"annotations,omitempty"`
}

MetadataPatch represents the Kube object metadata.

func (*MetadataPatch) DeepCopy

func (in *MetadataPatch) DeepCopy() *MetadataPatch

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

func (*MetadataPatch) DeepCopyInto

func (in *MetadataPatch) DeepCopyInto(out *MetadataPatch)

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

type ObjectReference

type ObjectReference struct {
	// APIVersion of the referenced object.
	// +kubebuilder:validation:MinLength=1
	APIVersion string `json:"apiVersion"`

	// Kind of the referenced object.
	// +kubebuilder:validation:MinLength=1
	Kind string `json:"kind"`

	// Name of the referenced object.
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`

	// Namespace of the referenced object.
	// +optional
	Namespace *string `json:"namespace,omitempty"`
}

ObjectReference represents a optionally namespaces Kubernetes API object reference.

func (*ObjectReference) DeepCopy

func (in *ObjectReference) DeepCopy() *ObjectReference

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

func (*ObjectReference) DeepCopyInto

func (in *ObjectReference) DeepCopyInto(out *ObjectReference)

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

func (*ObjectReference) String

func (r *ObjectReference) String() string

type Override

type Override struct {
	// Metadata specifies the patch metadata.
	// +optional
	Metadata *MetadataPatch `json:"metadata,omitempty"`
}

Override represents a configuration patch which is serialized into JSON to obtain the fully specified intent to be used with server side apply.

func (*Override) DeepCopy

func (in *Override) DeepCopy() *Override

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

func (*Override) DeepCopyInto

func (in *Override) DeepCopyInto(out *Override)

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

type PatchDeletionPolicy

type PatchDeletionPolicy string

PatchDeletionPolicy controls what happens when an InControlPlaneOverride object is deleted. We either attempt to roll back the changes on the target object hierarchy, or we keep them.

const (
	// PatchDeletionRollBack attempts to roll back the changes on
	// the target object hierarchy when the InControlPlaneOverride object is
	// being deleted.
	PatchDeletionRollBack PatchDeletionPolicy = "RollBack"
	// PatchDeletionKeep keeps the changes on the target object
	// hierarchy when the InControlPlaneOverride object is being deleted.
	PatchDeletionKeep PatchDeletionPolicy = "Keep"
)

type PatchPropagationPolicy

type PatchPropagationPolicy string

PatchPropagationPolicy denotes the traversal direction on an object's hierarchy.

const (
	// PatchPropagateAscending denotes traversal on a target object hierarchy
	// following the metadata.ownerReferences.
	PatchPropagateAscending PatchPropagationPolicy = "Ascending"
	// PatchPropagateDescending denotes traversal on a target object hierarchy
	// following the spec.resourceRef & spec.resourceRefs reference fields.
	PatchPropagateDescending PatchPropagationPolicy = "Descending"
	// PatchPropagateNone denotes that no traversal will be done and
	// only the target object will be visited.
	PatchPropagateNone PatchPropagationPolicy = "None"
)

type PatchState

type PatchState string

PatchState denotes the result of the patch operation on the associated target object.

const (
	// PatchStateSkipped denotes that the target object was skipped.
	// The reason for the skip is specified in the `reason` field.
	PatchStateSkipped PatchState = "Skipped"
	// PatchStateError denotes that there was a transient error while patching
	// the object.
	PatchStateError PatchState = "Error"
)

type PatchStateReason

type PatchStateReason string

PatchStateReason denotes why a patch operation on the associated target object has been skipped.

const (
	// PatchStateReasonConflict denotes that the patch operation on
	// the associated target object has been skipped due to a conflict with
	// another field manager.
	PatchStateReasonConflict PatchStateReason = "Conflict"
	// PatchStateReasonSchemaMismatch denotes that the patch operation on
	// the associated target object has been skipped due to a schema mismatch
	// between the fully specified intent and the object's schema.
	PatchStateReasonSchemaMismatch PatchStateReason = "SchemaMismatch"
)

type PatchedObjectStatus

type PatchedObjectStatus struct {
	// ObjectReference is the Kubernetes object reference to the object
	// which has been updated.
	ObjectReference `json:",inline"`

	// Metadata UID of the patch target object.
	// +optional
	UID *types.UID `json:"uid,omitempty"`

	// Status of the configuration override.
	// +kubebuilder:validation:Enum=Success;Skipped;Error
	Status PatchState `json:"status"`

	// Reason is the reason for the target objects override Status.
	Reason PatchStateReason `json:"reason"`

	// Message holds an optional detail message detailing the observed state.
	// +optional
	Message *string `json:"message,omitempty"`
}

PatchedObjectStatus represents the state of an applied patch to an object in the target hierarchy.

func (*PatchedObjectStatus) DeepCopy

func (in *PatchedObjectStatus) DeepCopy() *PatchedObjectStatus

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

func (*PatchedObjectStatus) DeepCopyInto

func (in *PatchedObjectStatus) DeepCopyInto(out *PatchedObjectStatus)

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

func (*PatchedObjectStatus) String

func (r *PatchedObjectStatus) String() string

String returns a string representation of the PatchedObjectStatus.

type PreciseLocalObjectReference

type PreciseLocalObjectReference struct {
	// Name is the name of the referenced object.
	// +optional
	Name string `json:"name,omitempty"`

	// UID is the UID of the referenced object.
	UID types.UID `json:"uid,omitempty"`
}

PreciseLocalObjectReference references by name and uid.

func (*PreciseLocalObjectReference) DeepCopy

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

func (*PreciseLocalObjectReference) DeepCopyInto

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

type ResourceMetadata

type ResourceMetadata struct {

	// Annotations that are set on projected resource.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`

	// Labels that are set on projected resource.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
}

ResourceMetadata defines metadata fields for created resource.

func (*ResourceMetadata) DeepCopy

func (in *ResourceMetadata) DeepCopy() *ResourceMetadata

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

func (*ResourceMetadata) DeepCopyInto

func (in *ResourceMetadata) DeepCopyInto(out *ResourceMetadata)

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

type ResourceSelector

type ResourceSelector struct {

	// A resource is matched if any of the label selector matches.
	// In case when the list is empty, resource is matched too.
	// +optional
	LabelSelectors []metav1.LabelSelector `json:"labelSelectors,omitempty"`

	// A resource is selected if its metadata.name matches any of the provided names.
	// In case when the list is empty, resource is matched too.
	// +optional
	// +listType=set
	Names []string `json:"names,omitempty"`
}

ResourceSelector defines the selector for resource matching. An object is going to be matched if any of the provided label selectors matches object's labels AND any of provided names are equal to the object name.

func (*ResourceSelector) DeepCopy

func (in *ResourceSelector) DeepCopy() *ResourceSelector

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

func (*ResourceSelector) DeepCopyInto

func (in *ResourceSelector) DeepCopyInto(out *ResourceSelector)

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

func (*ResourceSelector) Matches

func (r *ResourceSelector) Matches(obj client.Object) (bool, error)

Matches returns true if the provided object is matched by the selector

type SecretStoreProvisioningFailure

type SecretStoreProvisioningFailure struct {
	// ControlPlane name where the failure occurred.
	ControlPlane string `json:"controlPlane"`

	// List of occurred conditions.
	// +optional
	Conditions []esv1beta1.SecretStoreStatusCondition `json:"conditions,omitempty"`
}

SecretStoreProvisioningFailure defines secret store provisioning failure.

func (*SecretStoreProvisioningFailure) DeepCopy

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

func (*SecretStoreProvisioningFailure) DeepCopyInto

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

type SecretStoreProvisioningSuccess

type SecretStoreProvisioningSuccess struct {
	// ControlPlane name where the secret store got projected
	ControlPlane string `json:"controlPlane"`
}

SecretStoreProvisioningSuccess defines secret store provision success.

func (*SecretStoreProvisioningSuccess) DeepCopy

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

func (*SecretStoreProvisioningSuccess) DeepCopyInto

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

type SharedBackup

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

	// +kubebuilder:validation:XValidation:rule="self.controlPlaneSelector == oldSelf.controlPlaneSelector",message="shared backup ControlPlane selectors can not be changed after creation"
	// +kubebuilder:validation:XValidation:rule="(!has(self.excludedResources) && !has(oldSelf.excludedResources)) || self.excludedResources == oldSelf.excludedResources",message="shared backup excluded resources can not be changed after creation"
	Spec   SharedBackupSpec   `json:"spec"`
	Status SharedBackupStatus `json:"status,omitempty"`
}

SharedBackup defines a backup over a set of ControlPlanes.

func (*SharedBackup) DeepCopy

func (in *SharedBackup) DeepCopy() *SharedBackup

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

func (*SharedBackup) DeepCopyInto

func (in *SharedBackup) DeepCopyInto(out *SharedBackup)

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

func (*SharedBackup) DeepCopyObject

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

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

type SharedBackupConfig

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

	Spec SharedBackupConfigSpec `json:"spec"`
}

SharedBackupConfig defines the configuration to backup and restore ControlPlanes.

func (*SharedBackupConfig) DeepCopy

func (in *SharedBackupConfig) DeepCopy() *SharedBackupConfig

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

func (*SharedBackupConfig) DeepCopyInto

func (in *SharedBackupConfig) DeepCopyInto(out *SharedBackupConfig)

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

func (*SharedBackupConfig) DeepCopyObject

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

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

type SharedBackupConfigList

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

SharedBackupConfigList contains a list of SharedBackupConfig.

func (*SharedBackupConfigList) DeepCopy

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

func (*SharedBackupConfigList) DeepCopyInto

func (in *SharedBackupConfigList) DeepCopyInto(out *SharedBackupConfigList)

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

func (*SharedBackupConfigList) DeepCopyObject

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

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

type SharedBackupConfigSpec

type SharedBackupConfigSpec struct {
	// ObjectStorage specifies the object storage configuration for the given provider.
	// +kubebuilder:validation:Required
	ObjectStorage BackupObjectStorage `json:"objectStorage"`
}

A SharedBackupConfigSpec represents the configuration to backup or restore ControlPlanes.

func (*SharedBackupConfigSpec) DeepCopy

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

func (*SharedBackupConfigSpec) DeepCopyInto

func (in *SharedBackupConfigSpec) DeepCopyInto(out *SharedBackupConfigSpec)

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

type SharedBackupList

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

SharedBackupList contains a list of SharedBackups.

func (*SharedBackupList) DeepCopy

func (in *SharedBackupList) DeepCopy() *SharedBackupList

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

func (*SharedBackupList) DeepCopyInto

func (in *SharedBackupList) DeepCopyInto(out *SharedBackupList)

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

func (*SharedBackupList) DeepCopyObject

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

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

type SharedBackupSchedule

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

	Spec   SharedBackupScheduleSpec   `json:"spec"`
	Status SharedBackupScheduleStatus `json:"status,omitempty"`
}

SharedBackupSchedule defines a schedule for SharedBackup on a set of ControlPlanes.

func (*SharedBackupSchedule) DeepCopy

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

func (*SharedBackupSchedule) DeepCopyInto

func (in *SharedBackupSchedule) DeepCopyInto(out *SharedBackupSchedule)

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

func (*SharedBackupSchedule) DeepCopyObject

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

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

type SharedBackupScheduleList

type SharedBackupScheduleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	// Items is the list of SharedBackupSchedules.
	Items []SharedBackupSchedule `json:"items"`
}

SharedBackupScheduleList contains a list of SharedBackupSchedules.

func (*SharedBackupScheduleList) DeepCopy

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

func (*SharedBackupScheduleList) DeepCopyInto

func (in *SharedBackupScheduleList) DeepCopyInto(out *SharedBackupScheduleList)

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

func (*SharedBackupScheduleList) DeepCopyObject

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

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

type SharedBackupScheduleSpec

type SharedBackupScheduleSpec struct {
	// ControlPlaneSelector defines the selector for ControlPlanes to backup.
	// Requires "backup" permission on all ControlPlanes in the same namespace.
	// +kubebuilder:validation:XValidation:rule="(has(self.labelSelectors) || has(self.names)) && (size(self.labelSelectors) > 0 || size(self.names) > 0)",message="either names or a labelSelector must be specified"
	ControlPlaneSelector ResourceSelector `json:"controlPlaneSelector"`

	// UseOwnerReferencesBackup specifies whether an ownership chain should be
	// established between this resource and the Backup it creates.
	// If set to true, the Backup will be garbage collected when this resource
	// is deleted.
	// +optional
	UseOwnerReferencesInBackup bool `json:"useOwnerReferencesInBackup,omitempty"`

	BackupScheduleDefinition `json:",inline"`
}

SharedBackupScheduleSpec defines the desired state of a SharedBackupSchedule.

func (*SharedBackupScheduleSpec) DeepCopy

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

func (*SharedBackupScheduleSpec) DeepCopyInto

func (in *SharedBackupScheduleSpec) DeepCopyInto(out *SharedBackupScheduleSpec)

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

type SharedBackupScheduleStatus

type SharedBackupScheduleStatus struct {
	xpv1.ResourceStatus `json:",inline"`

	// SelectedControlPlanes is the list of ControlPlanes that are selected
	// for backup.
	// +optional
	// +listType=set
	SelectedControlPlanes []string `json:"selectedControlPlanes,omitempty"`
}

SharedBackupScheduleStatus represents the observed state of a SharedBackupSchedule.

func (*SharedBackupScheduleStatus) DeepCopy

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

func (*SharedBackupScheduleStatus) DeepCopyInto

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

type SharedBackupSpec

type SharedBackupSpec struct {
	// ControlPlaneSelector defines the selector for ControlPlanes to backup.
	// Requires "backup" permission on all ControlPlanes in the same namespace.
	// +kubebuilder:validation:XValidation:rule="(has(self.labelSelectors) || has(self.names)) && (size(self.labelSelectors) > 0 || size(self.names) > 0)",message="either names or a labelSelector must be specified"
	ControlPlaneSelector ResourceSelector `json:"controlPlaneSelector"`

	// UseOwnerReferencesBackup specifies whether an ownership chain should be
	// established between this resource and the Backup it creates.
	// If set to true, the Backup will be garbage collected when this resource
	// is deleted.
	// +optional
	UseOwnerReferencesInBackup bool `json:"useOwnerReferencesInBackup,omitempty"`

	BackupDefinition `json:",inline"`
}

SharedBackupSpec defines a backup over a set of ControlPlanes.

func (*SharedBackupSpec) DeepCopy

func (in *SharedBackupSpec) DeepCopy() *SharedBackupSpec

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

func (*SharedBackupSpec) DeepCopyInto

func (in *SharedBackupSpec) DeepCopyInto(out *SharedBackupSpec)

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

type SharedBackupStatus

type SharedBackupStatus struct {
	xpv1.ResourceStatus `json:",inline"`

	// Phase represents the current phase of the SharedBackup.
	// +kubebuilder:validation:Enum=Pending;InProgress;Failed;Completed
	// +kubebuilder:default=Pending
	Phase BackupPhase `json:"phase,omitempty"`

	// SelectedControlPlanes represents the names of the selected ControlPlanes.
	// +optional
	// +listType=set
	SelectedControlPlanes []string `json:"selectedControlPlanes,omitempty"`

	// Failed is the list of ControlPlanes for which the backup failed.
	// +optional
	// +listType=set
	Failed []string `json:"failed,omitempty"`

	// Completed is the list of ControlPlanes for which the backup completed successfully.
	// +optional
	// +listType=set
	Completed []string `json:"completed,omitempty"`
}

SharedBackupStatus represents the observed state of a SharedBackup.

func (*SharedBackupStatus) DeepCopy

func (in *SharedBackupStatus) DeepCopy() *SharedBackupStatus

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

func (*SharedBackupStatus) DeepCopyInto

func (in *SharedBackupStatus) DeepCopyInto(out *SharedBackupStatus)

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

type SharedExternalSecret

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

	Spec   SharedExternalSecretSpec   `json:"spec,omitempty"`
	Status SharedExternalSecretStatus `json:"status,omitempty"`
}

SharedExternalSecret specifies a shared ExternalSecret projected into the specified ControlPlanes of the same namespace as ClusterExternalSecret and with that propagated into the specified namespaces. +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:printcolumn:name="Provisioned",type=string,JSONPath=`.metadata.annotations.sharedexternalsecrets\.internal\.spaces\.upbound\.io/provisioned-total` +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories={externalsecrets},shortName=ses

func (*SharedExternalSecret) ControlPlaneSelector

func (c *SharedExternalSecret) ControlPlaneSelector() func(obj client.Object) (bool, error)

ControlPlaneSelector returns a function that can be used for checking if a given object matches the selector.

func (*SharedExternalSecret) DeepCopy

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

func (*SharedExternalSecret) DeepCopyInto

func (in *SharedExternalSecret) DeepCopyInto(out *SharedExternalSecret)

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

func (*SharedExternalSecret) DeepCopyObject

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

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

type SharedExternalSecretList

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

SharedExternalSecretList contains a list of SharedExternalSecret.

+kubebuilder:object:root=true

func (*SharedExternalSecretList) DeepCopy

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

func (*SharedExternalSecretList) DeepCopyInto

func (in *SharedExternalSecretList) DeepCopyInto(out *SharedExternalSecretList)

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

func (*SharedExternalSecretList) DeepCopyObject

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

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

func (*SharedExternalSecretList) Objects

func (s *SharedExternalSecretList) Objects() []client.Object

Objects return the list of items.

type SharedExternalSecretProvisioningFailure

type SharedExternalSecretProvisioningFailure struct {
	// ControlPlane name where the failure occurred.
	ControlPlane string `json:"controlPlane"`

	// List of conditions.
	// +optional
	Conditions []esv1beta1.ClusterExternalSecretStatusCondition `json:"conditions,omitempty"`
}

SharedExternalSecretProvisioningFailure describes a external secret provisioning failure in a specific control plane.

func (*SharedExternalSecretProvisioningFailure) DeepCopy

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

func (*SharedExternalSecretProvisioningFailure) DeepCopyInto

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

type SharedExternalSecretProvisioningSuccess

type SharedExternalSecretProvisioningSuccess struct {
	// ControlPlane name where the external secret got successfully projected.
	ControlPlane string `json:"controlPlane"`
}

SharedExternalSecretProvisioningSuccess defines external secret provisioning success.

func (*SharedExternalSecretProvisioningSuccess) DeepCopy

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

func (*SharedExternalSecretProvisioningSuccess) DeepCopyInto

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

type SharedExternalSecretSpec

type SharedExternalSecretSpec struct {
	// ExternalSecretName is the name to use when creating external secret within a control plane.
	// optional, if not set, SharedExternalSecret name will be used.
	// When set, it is immutable.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="externalSecretName is immutable"
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:MinLength=1
	// +optional
	ExternalSecretName string `json:"externalSecretName,omitempty"`

	// The metadata of the secret store to be created.
	// +optional
	ExternalSecretMetadata *ResourceMetadata `json:"externalSecretMetadata,omitempty"`

	// The secret is projected only to control planes
	// matching the provided selector. Either names or a labelSelector must be specified.
	// +kubebuilder:validation:XValidation:rule="(has(self.labelSelectors) || has(self.names)) && (size(self.labelSelectors) > 0 || size(self.names) > 0)",message="either names or a labelSelector must be specified"
	ControlPlaneSelector ResourceSelector `json:"controlPlaneSelector"`

	// The projected secret can be consumed
	// only within namespaces matching the provided selector.
	// Either names or a labelSelector must be specified.
	// +kubebuilder:validation:XValidation:rule="(has(self.labelSelectors) || has(self.names)) && (size(self.labelSelectors) > 0 || size(self.names) > 0)",message="either names or a labelSelector must be specified"
	NamespaceSelector ResourceSelector `json:"namespaceSelector"`

	// The spec for the ExternalSecrets to be created.
	ExternalSecretSpec esv1beta1.ExternalSecretSpec `json:"externalSecretSpec"`

	// Used to configure secret refresh interval in seconds.
	// +optional
	RefreshInterval *metav1.Duration `json:"refreshTime,omitempty"`
}

SharedExternalSecretSpec defines the desired state of SharedExternalSecret.

+kubebuilder:validation:XValidation:rule="has(self.externalSecretName) == has(oldSelf.externalSecretName)",message="externalSecretName is immutable"

func (*SharedExternalSecretSpec) DeepCopy

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

func (*SharedExternalSecretSpec) DeepCopyInto

func (in *SharedExternalSecretSpec) DeepCopyInto(out *SharedExternalSecretSpec)

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

type SharedExternalSecretStatus

type SharedExternalSecretStatus struct {

	// observed resource generation.
	// +optional
	ObservedGeneration *int64 `json:"observedGeneration,omitempty"`

	// list of provisioning failures.
	// +optional
	// +listType=map
	// +listMapKey=controlPlane
	Failed []SharedExternalSecretProvisioningFailure `json:"failed,omitempty"`

	// List of successfully provisioned targets.
	// +optional
	// +listType=map
	// +listMapKey=controlPlane
	Provisioned []SharedExternalSecretProvisioningSuccess `json:"provisioned,omitempty"`
}

SharedExternalSecretStatus defines the observed state of the ExternalSecret.

func (*SharedExternalSecretStatus) DeepCopy

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

func (*SharedExternalSecretStatus) DeepCopyInto

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

type SharedSecretStore

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

	Spec   SharedSecretStoreSpec   `json:"spec,omitempty"`
	Status SharedSecretStoreStatus `json:"status,omitempty"`
}

SharedSecretStore represents a shared SecretStore projected as ClusterSecretStore into matching ControlPlanes in the same namespace. Once projected into a ControlPlane, it can be referenced from ExternalSecret instances, as part of `storeRef` fields. The secret store configuration including referenced credential are not leaked into the ControlPlanes and in that sense can be called secure as they are invisible to the ControlPlane workloads. +kubebuilder:object:root=true +kubebuilder:storageversion +kubebuilder:printcolumn:name="Provisioned",type=string,JSONPath=`.metadata.annotations.sharedsecretstores\.internal\.spaces\.upbound\.io/provisioned-total` +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:subresource:status +kubebuilder:resource:scope=Namespaced,categories={externalsecrets},shortName=sss

func (*SharedSecretStore) ControlPlaneSelector

func (c *SharedSecretStore) ControlPlaneSelector() func(obj client.Object) (bool, error)

ControlPlaneSelector returns a function that can be used for checking if a given object matches the selector.

func (*SharedSecretStore) DeepCopy

func (in *SharedSecretStore) DeepCopy() *SharedSecretStore

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

func (*SharedSecretStore) DeepCopyInto

func (in *SharedSecretStore) DeepCopyInto(out *SharedSecretStore)

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

func (*SharedSecretStore) DeepCopyObject

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

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

type SharedSecretStoreList

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

SharedSecretStoreList contains a list of SharedSecretStore.

+kubebuilder:object:root=true

func (*SharedSecretStoreList) DeepCopy

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

func (*SharedSecretStoreList) DeepCopyInto

func (in *SharedSecretStoreList) DeepCopyInto(out *SharedSecretStoreList)

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

func (*SharedSecretStoreList) DeepCopyObject

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

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

func (*SharedSecretStoreList) Objects

func (s *SharedSecretStoreList) Objects() []client.Object

Objects return the list of items.

type SharedSecretStoreSpec

type SharedSecretStoreSpec struct {
	// SecretStoreName is the name to use when creating secret stores within a control plane.
	// optional, if not set, SharedSecretStore name will be used.
	// When set, it is immutable.
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="value is immutable"
	// +kubebuilder:validation:MaxLength=253
	// +kubebuilder:validation:MinLength=1
	// +optional
	SecretStoreName string `json:"secretStoreName,omitempty"`

	// The metadata of the secret store to be created.
	// +optional
	SecretStoreMetadata *ResourceMetadata `json:"secretStoreMetadata,omitempty"`

	// The store is projected only to control planes
	// matching the provided selector. Either names or a labelSelector must be specified.
	// +kubebuilder:validation:XValidation:rule="(has(self.labelSelectors) || has(self.names)) && (size(self.labelSelectors) > 0 || size(self.names) > 0)",message="either names or a labelSelector must be specified"
	ControlPlaneSelector ResourceSelector `json:"controlPlaneSelector"`

	// The projected secret store can be consumed
	// only within namespaces matching the provided selector.
	// Either names or a labelSelector must be specified.
	// +kubebuilder:validation:XValidation:rule="(has(self.labelSelectors) || has(self.names)) && (size(self.labelSelectors) > 0 || size(self.names) > 0)",message="either names or a labelSelector must be specified"
	NamespaceSelector ResourceSelector `json:"namespaceSelector"`

	// Used to configure the provider. Only one provider may be set.
	Provider esv1beta1.SecretStoreProvider `json:"provider"`

	// Used to configure http retries if failed.
	// +optional
	RetrySettings *esv1beta1.SecretStoreRetrySettings `json:"retrySettings,omitempty"`

	// Used to configure store refresh interval in seconds.
	// +optional
	RefreshInterval int `json:"refreshInterval,omitempty"`
}

SharedSecretStoreSpec defines the desired state of SecretStore.

+kubebuilder:validation:XValidation:rule="has(self.secretStoreName) == has(oldSelf.secretStoreName)",message="secretStoreName is immutable"

func (*SharedSecretStoreSpec) DeepCopy

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

func (*SharedSecretStoreSpec) DeepCopyInto

func (in *SharedSecretStoreSpec) DeepCopyInto(out *SharedSecretStoreSpec)

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

type SharedSecretStoreStatus

type SharedSecretStoreStatus struct {

	// observed resource generation.
	// +optional
	ObservedGeneration *int64 `json:"observedGeneration,omitempty"`

	// List of provisioning failures.
	// +optional
	// +listType=map
	// +listMapKey=controlPlane
	Failed []SecretStoreProvisioningFailure `json:"failed,omitempty"`

	// List of successfully provisioned targets.
	// +optional
	// +listType=map
	// +listMapKey=controlPlane
	Provisioned []SecretStoreProvisioningSuccess `json:"provisioned,omitempty"`

	xpv1.ResourceStatus `json:",inline"`
}

SharedSecretStoreStatus defines the observed state of the SecretStore.

func (*SharedSecretStoreStatus) DeepCopy

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

func (*SharedSecretStoreStatus) DeepCopyInto

func (in *SharedSecretStoreStatus) DeepCopyInto(out *SharedSecretStoreStatus)

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

type Simulation

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

	Spec   SimulationSpec   `json:"spec"`
	Status SimulationStatus `json:"status,omitempty"`
}

A Simulation creates a simulation of a source ControlPlane. You can apply a change set to the simulated control plane. When the Simulation is complete it will detect the changes and report the difference compared to the source control plane.

func (*Simulation) DeepCopy

func (in *Simulation) DeepCopy() *Simulation

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

func (*Simulation) DeepCopyInto

func (in *Simulation) DeepCopyInto(out *Simulation)

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

func (*Simulation) DeepCopyObject

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

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

type SimulationChange

type SimulationChange struct {
	// Change type.
	// +kubebuilder:validation:Enum=Unknown;Create;Update;Delete
	Change SimulationChangeType `json:"change"`

	// ObjectReference to the changed object.
	ObjectReference ChangedObjectReference `json:"objectRef"`
}

A SimulationChange represents an object that changed while the simulation was in the AcceptingChanges state.

func (*SimulationChange) DeepCopy

func (in *SimulationChange) DeepCopy() *SimulationChange

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

func (*SimulationChange) DeepCopyInto

func (in *SimulationChange) DeepCopyInto(out *SimulationChange)

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

type SimulationChangeType

type SimulationChangeType string

A SimulationChangeType represents the type of a change.

const (
	SimulationChangeTypeUnknown SimulationChangeType = "Unknown"
	SimulationChangeTypeCreate  SimulationChangeType = "Create"
	SimulationChangeTypeUpdate  SimulationChangeType = "Update"
	SimulationChangeTypeDelete  SimulationChangeType = "Delete"
)

Simulation change types.

type SimulationList

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

SimulationList contains a list of Simulations.

func (*SimulationList) DeepCopy

func (in *SimulationList) DeepCopy() *SimulationList

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

func (*SimulationList) DeepCopyInto

func (in *SimulationList) DeepCopyInto(out *SimulationList)

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

func (*SimulationList) DeepCopyObject

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

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

type SimulationSpec

type SimulationSpec struct {
	// ControlPlaneName is the name of the ControlPlane to simulate a change to.
	// This control plane is known as the Simulation's 'source' control plane.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:XValidation:rule="self == oldSelf",message="The source controlplane can't be changed"
	ControlPlaneName string `json:"controlPlaneName"`

	// DesiredState of the simulation.
	// +kubebuilder:default=AcceptingChanges
	// +kubebuilder:validation:Enum=AcceptingChanges;Complete;Terminated
	// +kubebuilder:validation:XValidation:rule="oldSelf != 'Complete' || self == 'Complete' || self == 'Terminated'",message="A complete Simulation can only be terminated"
	// +kubebuilder:validation:XValidation:rule="oldSelf != 'Terminated' || self == oldSelf",message="A Simulation can't be un-terminated"
	DesiredState SimulationState `json:"desiredState"`

	// CompletionCriteria specify how Spaces should determine when the
	// simulation is complete. If any of the criteria are met, Spaces will set
	// the Simulation's desired state to complete. Omit the criteria if you want
	// to manually mark the Simulation complete.
	// +optional
	CompletionCriteria []CompletionCriterion `json:"completionCriteria,omitempty"`
}

SimulationSpec specifies how to run the simulation.

func (*SimulationSpec) DeepCopy

func (in *SimulationSpec) DeepCopy() *SimulationSpec

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

func (*SimulationSpec) DeepCopyInto

func (in *SimulationSpec) DeepCopyInto(out *SimulationSpec)

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

type SimulationState

type SimulationState string

SimulationState represents the lifecyle state of a simulation.

const (
	// SimulationStateUnknown indicates the simulation's state is unknown.
	SimulationStateUnknown SimulationState = "Unknown"

	// SimulationStateStarting indicates the simulation is starting. It's not
	// yet ready to accept changes.
	SimulationStateStarting SimulationState = "Starting"

	// SimulationStateAcceptingChanges indicates the simulation is accepting
	// changes.
	SimulationStateAcceptingChanges SimulationState = "AcceptingChanges"

	// SimulationStateComplete indicates the simulation is complete. Changes
	// made once a simulation is complete won't appear in the change summary.
	// It's still possible to connect to and explore a complete simulation.
	SimulationStateComplete SimulationState = "Complete"

	// SimulationStateTerminated indicates the simulation has terminated. You
	// can explore the change summary, but the simulation is no longer
	// accessible.
	SimulationStateTerminated SimulationState = "Terminated"
)

type SimulationStatus

type SimulationStatus struct {
	xpv1.ResourceStatus `json:",inline"`

	// SimulatedControlPlaneName is the name of the control plane used to run
	// the simulation.
	// +kubebuilder:validation:MinLength=1
	// +optional
	SimulatedControlPlaneName *string `json:"simulatedControlPlaneName,omitempty"`

	// ControlPlaneData exported from the source control plane and imported to
	// the simulated control plane.
	// +optional
	ControlPlaneData *ControlPlaneData `json:"controlPlaneData,omitempty"`

	// Changes detected by the simulation. Only changes that happen while the
	// simulation is in the AcceptingChanges state are included.
	// +optional
	Changes []SimulationChange `json:"changes,omitempty"`
}

SimulationStatus represents the observed state of a Simulation.

func (*SimulationStatus) DeepCopy

func (in *SimulationStatus) DeepCopy() *SimulationStatus

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

func (*SimulationStatus) DeepCopyInto

func (in *SimulationStatus) DeepCopyInto(out *SimulationStatus)

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