func Terminating() xpv1.Condition {
	return xpv1.Condition{
		Type:               TypeTerminating,
		Status:             corev1.ConditionTrue,
		LastTransitionTime: metav1.Now(),
		Reason:             ReasonInUse,
	}
}
Terminating indicates a ProviderConfig has been deleted, but that the
deletion is being blocked because it is still in use.
package providerconfig
import (
	"context"
	"strings"
	"time"
	corev1 "k8s.io/api/core/v1"
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
	"sigs.k8s.io/controller-runtime/pkg/client"
	"sigs.k8s.io/controller-runtime/pkg/manager"
	"sigs.k8s.io/controller-runtime/pkg/reconcile"
	xpv1 "github.com/crossplane/crossplane-runtime/apis/common/v1"
	"github.com/crossplane/crossplane-runtime/pkg/errors"
	"github.com/crossplane/crossplane-runtime/pkg/event"
	"github.com/crossplane/crossplane-runtime/pkg/logging"
	"github.com/crossplane/crossplane-runtime/pkg/meta"
	"github.com/crossplane/crossplane-runtime/pkg/resource"
)
const (
	finalizer = "in-use.crossplane.io"
	shortWait = 30 * time.Second
	timeout   = 2 * time.Minute
	errGetPC        = "cannot get ProviderConfig"
	errListPCUs     = "cannot list ProviderConfigUsages"
	errDeletePCU    = "cannot delete ProviderConfigUsage"
	errUpdate       = "cannot update ProviderConfig"
	errUpdateStatus = "cannot update ProviderConfig status"
)
const (
	reasonAccount event.Reason = "UsageAccounting"
)
const (
	TypeTerminating xpv1.ConditionType   = "Terminating"
	ReasonInUse     xpv1.ConditionReason = "InUse"
)