forked from gardener/gardener
-
Notifications
You must be signed in to change notification settings - Fork 0
/
actuator.go
28 lines (23 loc) · 1.34 KB
/
actuator.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and Gardener contributors
//
// SPDX-License-Identifier: Apache-2.0
package infrastructure
import (
"context"
"github.com/go-logr/logr"
extensionscontroller "github.com/gardener/gardener/extensions/pkg/controller"
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
)
// Actuator acts upon Infrastructure resources.
type Actuator interface {
// Reconcile the Infrastructure config.
Reconcile(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
// Delete the Infrastructure config.
Delete(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
// ForceDelete forcefully deletes the Infrastructure config.
ForceDelete(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
// Restore takes the state of the Infrastructure resource and applies it to the terraform pod's output state
Restore(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
// Migrate deletes the terraform k8s resources without deleting the corresponding resources in the IaaS provider
Migrate(context.Context, logr.Logger, *extensionsv1alpha1.Infrastructure, *extensionscontroller.Cluster) error
}