(ctx context.Context)
| 71 | } |
| 72 | |
| 73 | func 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 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…