Skip to content

brainysmurf/GAM

 
 

Repository files navigation

GAMI: GAM Improved

Please note that gami is under active development.

In addition to GAM (below) this package adds the following features:

  • Command line utility "gami" is installed into your path
  • Bash complete available
  • Installable into a virtualenv
  • Import a helper function that can run exact same gam commands listed in wiki. No more piping out to the system
  • Incorporates click and gets some bonus free-stuff, like automated help system, and python3 compatibility (although we have to change the print functions into click.echo calls, to start)
  1. Install into a Virtualenv

Clone me into a new directory, after that, I recommend first installing pyenv and pyenv-virtualenv to install into a virtualenv. This is required to work, and also is best practice with Python.

cd <path_to_parent_folder>
git clone <url>
cd gami
pyenv virtualenv gami
pyenv local gami
pip install -e .

That's it. Now you have gami as a commande line. When gami updates, just do this to get the latest:

cd <path_to_gami>
git pull origin master

2a) Authenticate with Google

From inside the directory, run python gam.py info domain and you'll get the usual rigamorle. You have to do this first before being able to use gami or the helper function

cd <path_to_gami>
python gam.py

And follow the usual rigamarole.

2b) Get yourself bash complete Nice, yes?

cd <path_to_gami>
echo "source "`pwd`/bash-complete.sh >> ~/.bash_profile

3a) Use "gami" command line utility

gami --help

All the functions have help too.

3b) Import a helper function

You can use gami from within your python code.

from gami.utils import run_gami_from_string
run_gami_from_string('gam info domain')    # any regular gam command

That function returns a python dictionary

What's different from Ditto Gam?

It provides a more modern cli interface, but manages to sort of "bootstrap" the old code, so nothing is broken, you can still use the same old commands in the same old way, but you can also opt-in on these other features.

How does it work?

Most of the magic happens in cli/cli.py, and most of the heavy lifing is done with click.

Dito GAM

GAM is a free, open source command line tool for Google Apps Administrators to efficiently manage domain and user settings quickly and easily. GAM has support for many features, such as

  • creating, deleting, and updating users, aliases, groups, organizations, and resource calendars
  • modifying user email settings such as IMAP, signatures, vacation messages, profile sharing, email forwarding, send as address, labels, and features.
  • delegating mailboxes and calendars to other users
  • modifying calendar access rights for users and resource calendars.
  • auditing user accounts and mailboes
  • monitoring incoming and outgoing email
  • generating detailed reports for users, groups, resources, account activity, email clients, and quotas.

Downloads

You can download current GAM from the GitHub Releases page.

Documentation

The GAM documentation is currently hosted in the GitHub Wiki

Mailing List / Discussion group

The GAM mailing list / discussion group is hosted on Google Groups. You can join the list and interact via email, or just post from the web itself.

Source Repository

The official GAM source repository is on GitHub.

Author

GAM is maintained by Jay Lee.

Thanks To

GAM is made possible and maintained by the work of Dito. Who is Dito?

Dito is solely focused on moving organizations to Google's cloud. After hundreds of successful deployments over the last 5 years, we have gained notoriety for our complete understanding of the platform, our change management & training ability, and our rock-star deployment engineers. We are known worldwide as the Google Apps Experts.

Need a Google Apps Expert? Contact Dito, which offers free premium GAM support for domains that sign up through Dito.

Packages

No packages published

Languages

  • Python 99.8%
  • Other 0.2%