MCPcopy Create free account
hub / github.com/eksctl-io/eksctl / createIAMServiceAccountTask

Method createIAMServiceAccountTask

pkg/cfn/manager/iam.go:22–40  ·  view source on GitHub ↗

createIAMServiceAccountTask creates the iamserviceaccount in CloudFormation

(ctx context.Context, errs chan error, spec *api.ClusterIAMServiceAccount, oidc *iamoidc.OpenIDConnectManager)

Source from the content-addressed store, hash-verified

20
21// createIAMServiceAccountTask creates the iamserviceaccount in CloudFormation
22func (c *StackCollection) createIAMServiceAccountTask(ctx context.Context, errs chan error, spec *api.ClusterIAMServiceAccount, oidc *iamoidc.OpenIDConnectManager) error {
23 name := c.makeIAMServiceAccountStackName(spec.Namespace, spec.Name)
24 logger.Info("building iamserviceaccount stack %q", name)
25 stack := builder.NewIAMRoleResourceSetForServiceAccount(spec, oidc)
26 if err := stack.AddAllResources(); err != nil {
27 return err
28 }
29
30 if spec.Tags == nil {
31 spec.Tags = make(map[string]string)
32 }
33 spec.Tags[api.IAMServiceAccountNameTag] = spec.NameString()
34
35 if err := c.CreateStack(ctx, name, stack, spec.Tags, nil, errs); err != nil {
36 logger.Info("an error occurred creating the stack, to cleanup resources, run 'eksctl delete iamserviceaccount --region=%s --name=%s --namespace=%s'", c.spec.Metadata.Region, spec.Name, spec.Namespace)
37 return err
38 }
39 return nil
40}
41
42// DescribeIAMServiceAccountStacks calls ListStacks and filters out iamserviceaccounts
43func (c *StackCollection) DescribeIAMServiceAccountStacks(ctx context.Context) ([]*Stack, error) {

Callers 1

DoMethod · 0.80

Calls 5

CreateStackMethod · 0.95
AddAllResourcesMethod · 0.65
NameStringMethod · 0.65

Tested by

no test coverage detected