in main.go [520:562]
func accessRun(cmd *cobra.Command, args []string) error {
ctx, client, err := clientWithContext(cmd.Context())
if err != nil {
return misuseError(err)
}
// Deprecated - update to new syntax
if accessGeneration != 0 {
args[0] = fmt.Sprintf("%s#%d", args[0], accessGeneration)
}
ref, err := parseRef(args[0])
if err != nil {
return misuseError(err)
}
switch t := ref.Type(); t {
case berglas.ReferenceTypeSecretManager:
plaintext, err := client.Access(ctx, &berglas.SecretManagerAccessRequest{
Project: ref.Project(),
Name: ref.Name(),
Version: ref.Version(),
})
if err != nil {
return apiError(err)
}
fmt.Fprintf(stdout, "%s", plaintext)
case berglas.ReferenceTypeStorage:
plaintext, err := client.Access(ctx, &berglas.StorageAccessRequest{
Bucket: ref.Bucket(),
Object: ref.Object(),
Generation: ref.Generation(),
})
if err != nil {
return apiError(err)
}
fmt.Fprintf(stdout, "%s", plaintext)
default:
return misuseError(fmt.Errorf("unknown type %T", t))
}
return nil
}