in main.go [1068:1107]
func revokeRun(cmd *cobra.Command, args []string) error {
ctx, client, err := clientWithContext(cmd.Context())
if err != nil {
return misuseError(err)
}
ref, err := parseRef(args[0])
if err != nil {
return misuseError(err)
}
sort.Strings(members)
switch t := ref.Type(); t {
case berglas.ReferenceTypeSecretManager:
if err := client.Revoke(ctx, &berglas.SecretManagerRevokeRequest{
Project: ref.Project(),
Name: ref.Name(),
Members: members,
}); err != nil {
return apiError(err)
}
fmt.Fprintf(stdout, "Successfully revoked permission on [%s] from: \n- %s\n",
ref.Name(), strings.Join(members, "\n- "))
case berglas.ReferenceTypeStorage:
if err := client.Revoke(ctx, &berglas.StorageRevokeRequest{
Bucket: ref.Bucket(),
Object: ref.Object(),
Members: members,
}); err != nil {
return apiError(err)
}
fmt.Fprintf(stdout, "Successfully revoked permission on [%s] from: \n- %s\n",
ref.Object(), strings.Join(members, "\n- "))
default:
return misuseError(fmt.Errorf("unknown type %T", t))
}
return nil
}