MCPcopy Index your code
hub / github.com/smallstep/cli / removeAction

Function removeAction

command/ca/policy/actions/remove.go:73–117  ·  view source on GitHub ↗
(ctx context.Context)

Source from the content-addressed store, hash-verified

71}
72
73func removeAction(ctx context.Context) (err error) {
74 var (
75 provisioner = retrieveAndUnsetProvisionerFlagIfRequired(ctx)
76 clictx = command.CLIContextFromContext(ctx)
77 reference = clictx.String("eab-key-reference")
78 keyID = clictx.String("eab-key-id")
79 )
80
81 client, err := cautils.NewAdminClient(clictx)
82 if err != nil {
83 return fmt.Errorf("error creating admin client: %w", err)
84 }
85
86 switch {
87 case policycontext.IsAuthorityPolicyLevel(ctx):
88 err = client.RemoveAuthorityPolicy()
89 case policycontext.IsProvisionerPolicyLevel(ctx):
90 if provisioner == "" {
91 return errs.RequiredFlag(clictx, "provisioner")
92 }
93 err = client.RemoveProvisionerPolicy(provisioner)
94 case policycontext.IsACMEPolicyLevel(ctx):
95 if provisioner == "" {
96 return errs.RequiredFlag(clictx, "provisioner")
97 }
98 if reference == "" && keyID == "" {
99 return errs.RequiredOrFlag(clictx, "eab-key-reference", "eab-key-id")
100 }
101 err = client.RemoveACMEPolicy(provisioner, reference, keyID)
102 default:
103 panic("no context for policy retrieval set")
104 }
105
106 if err != nil {
107 var ae *ca.AdminClientError
108 if errors.As(err, &ae) && ae.Type == "notFound" {
109 return errors.New("certificate issuance policy does not exist")
110 }
111 return fmt.Errorf("error deleting certificate issuance policy: %w", err)
112 }
113
114 fmt.Println("policy deleted")
115
116 return nil
117}

Callers

nothing calls this directly

Calls 7

CLIContextFromContextFunction · 0.92
NewAdminClientFunction · 0.92
IsAuthorityPolicyLevelFunction · 0.92
IsProvisionerPolicyLevelFunction · 0.92
IsACMEPolicyLevelFunction · 0.92
StringMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…