func accessRun()

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
}