status

package
v3.0.0-pre1 Latest Latest
Warning

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

Go to latest
Published: Oct 14, 2026 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Copyright The ORC Authors.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClearStatusID

func ClearStatusID(ctx context.Context, controller interfaces.ResourceController, orcObject client.Object) error

ClearStatusID clears the status.id field of an ORC object using a JSON merge patch. This is necessary when an externally deleted managed resource is detected: clearing the ID allows the next reconciliation to enter the standard creation path and assign a new ID after the resource is recreated.

A JSON merge patch with an explicit null value is required because the generated apply configuration types use omitempty on the ID field, meaning a nil pointer would simply omit the field rather than clear it.

func SetCommonConditions

func SetCommonConditions[T any](
	orcObject orcv1alpha1.ObjectWithConditions,
	applyConfig WithConditionsApplyConfiguration[T],
	availableStatus metav1.ConditionStatus,
	reconcileStatus progress.ReconcileStatus,
	now metav1.Time,
)

func SetStatusID

func SetStatusID[
	orcObjectPT interface {
		client.Object
		orcv1alpha1.ObjectWithConditions
	},
	objectApplyPT interfaces.ORCApplyConfig[objectApplyPT, statusApplyPT],
	statusApplyPT interface {
		*statusApplyT
		interfaces.ORCStatusApplyConfigWithID[statusApplyPT]
	},
	statusApplyT any,
	osResourcePT any,
](
	ctx context.Context,
	controller interfaces.ResourceController,
	orcObject orcObjectPT,
	resourceID string,
	statusWriter interfaces.ResourceStatusWriter[orcObjectPT, osResourcePT, objectApplyPT, statusApplyPT],
) error

func UpdateStatus

func UpdateStatus[
	orcObjectPT interface {
		client.Object
		orcv1alpha1.ObjectWithConditions
	},
	osResourcePT *osResourceT,
	objectApplyPT interfaces.ORCApplyConfig[objectApplyPT, statusApplyPT],
	statusApplyPT interface {
		interfaces.ORCStatusApplyConfigWithLastSyncTime[statusApplyPT]
		*statusApply
	},
	statusApply any,
	osResourceT any,
](
	ctx context.Context,
	controller interfaces.ResourceController,
	statusWriter interfaces.ResourceStatusWriter[orcObjectPT, osResourcePT, objectApplyPT, statusApplyPT],
	orcObject orcObjectPT, osResource osResourcePT,
	reconcileStatus progress.ReconcileStatus,
) progress.ReconcileStatus

Types

type WithConditionsApplyConfiguration

type WithConditionsApplyConfiguration[T any] interface {
	WithConditions(...*applyconfigv1.ConditionApplyConfiguration) T
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL