-
Notifications
You must be signed in to change notification settings - Fork 1.4k
/
delete.go
29 lines (24 loc) · 863 Bytes
/
delete.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
29
package iam
import (
"fmt"
"github.com/kris-nova/logger"
"github.com/weaveworks/eksctl/pkg/ctl/cmdutils"
"github.com/weaveworks/eksctl/pkg/kubernetes"
)
func (m *Manager) Delete(serviceAccounts []string, plan, wait bool) error {
tasks, err := m.stackManager.NewTasksToDeleteIAMServiceAccounts(serviceAccounts, kubernetes.NewCachedClientSet(m.clientSet), wait)
if err != nil {
return err
}
tasks.PlanMode = plan
logger.Info(tasks.Describe())
if errs := tasks.DoAllSync(); len(errs) > 0 {
logger.Info("%d error(s) occurred and IAM Role stacks haven't been deleted properly, you may wish to check CloudFormation console", len(errs))
for _, err := range errs {
logger.Critical("%s\n", err.Error())
}
return fmt.Errorf("failed to delete iamserviceaccount(s)")
}
cmdutils.LogPlanModeWarning(plan && len(serviceAccounts) > 0)
return nil
}