github.com/Axway/agent-sdk@v1.1.101/pkg/migrate/instancemigration.go (about) 1 package migrate 2 3 import ( 4 "context" 5 6 apiv1 "github.com/Axway/agent-sdk/pkg/apic/apiserver/models/api/v1" 7 management "github.com/Axway/agent-sdk/pkg/apic/apiserver/models/management/v1alpha1" 8 "github.com/Axway/agent-sdk/pkg/config" 9 ) 10 11 // InstanceMigration - migrates api service instances 12 type InstanceMigration struct { 13 migration 14 } 15 16 // NewInstanceMigration - 17 func NewInstanceMigration(client client, cfg config.CentralConfig) *InstanceMigration { 18 return &InstanceMigration{ 19 migration: migration{ 20 client: client, 21 cfg: cfg, 22 }, 23 } 24 } 25 26 // Migrate migrates an api service instance 27 func (im *InstanceMigration) Migrate(_ context.Context, ri *apiv1.ResourceInstance) (*apiv1.ResourceInstance, error) { 28 if ri.Kind != management.APIServiceInstanceGVK().Kind { 29 return ri, nil 30 } 31 32 if len(ri.Finalizers) == 0 { 33 return ri, nil 34 } 35 36 ri.Finalizers = make([]apiv1.Finalizer, 0) 37 38 return im.migration.client.UpdateResourceInstance(ri) 39 }