| 
 
 NAMEREST::Google::Apps::Provisioning - A Perl library to Google's RESTful Apps Provisioning API SYNOPSIS  use REST::Google::Apps::Provisioning
  $google = REST::Google::Apps::Provisioning->new(
      domain   => 'company.com',
      username => 'admin',
      password => 'g00gl34pp5!'
  );
  $user->{'jsmith'} = $google->getUser( username => 'jsmith' );
DESCRIPTIONREST::Google::Apps::Provisioning provides a Perl interface to Google's RESTful Apps API. CONSTRUCTORnew ( DOMAIN, USERNAME, PASSWORD )Creates a new REST::Google::Apps::Provisioning object. A domain parameter is required. Supplying authentication information to the constructor is optional, but needs to happen either here or with a call to the authenticate method. Example   $google = REST::Google::Apps::Provisioning->new(
      domain   => 'company.com',
      username => 'admin',
      password => 'g00gl34pp5!'
  );
METHODSauthenticate ( USERNAME, PASSWORD )Authenticate a session. Example   $google->authenticate(
      username => 'admin',
      password => 'g00gl34pp5!'
  )
  || die "Could not authenticate";
createUser ( USERNAME, GIVENNAME, FAMILYNAME, PASSWORD, PASSWORDHASHFUNCTION, ADMIN )Create a new user. The following parameters are required: 
 The following parameters are optional: 
 Example   $user->{'jsmith'} = $google->createUser(
      username   => 'jsmith',
      givenName  => 'Joseph',
      familyName => 'Smith',
      password   => 'j5m1thp455w0rd!'
  )
  || die "Could not create user";
deleteUser ( USERNAME )Delete a user. Example   delete $user->{'jsmith'} if $google->deleteUser( username => 'jsmith' );
renameUser ( USERNAME, NEWNAME )Rename a user. Example   $google->renameUser(
      username => 'jsmith',
      newname  => 'josephsmith'
  )
  || die "Could not rename user";
updateUser ( USERNAME, ATTR )Update a user's attributes. See the createUser function for a list of valid attributes. Example   $google->updateUser(
      username => 'jsmith',
      givenName => 'Joey'
  )
  || die "Could not update user";
getUser ( USER )Retrieve a hash containing a user's account information. Example   $user->{'jsmith'} = $google->getUser( username => 'jsmith' );
Hash Using the above example, the returned hash is:   'jsmith' => {
      'admin' => 'false',
      'ipWhitelisted' => 'false',
      'suspended' => 'false',
      'limit' => '7168',
      'username' => 'jsmith`',
      'changePasswordAtNextLogin' => 'false',
      'givenName' => 'Joseph',
      'familyName' => 'Smith',
      'agreedToTerms' => 'false'
  }
getAllUsersRetrieve a list of all users. Example $users = $google->getAllUsers(); createGroup ( GROUP, DESCRIPTION, PERMISSION )Create a new group. The following parameters are required: 
 The following parameters are optional: 
 Example   $google->createGroup(
      group => 'finance',
      description => 'Finance Department'
  )
  || die "Could not create group";
deleteGroup ( GROUP )Delete a group. Example   delete $group->{'finance'} if $google->deleteGroup( group => 'finance' );
updateGroup ( GROUP, ... )Not yet implemented. getGroup ( GROUP )Retrieve a hash containing group information. Example   $group->{'finance'} = $google->getGroup( group => 'finance' );
Hash Using the above example, the returned hash is:   'finance' => {
      'emailPermission' => 'Anyone',
      'groupId' => 'finance@company.com',
      'updated' => '2009-09-16T21:05:15.697Z',
      'groupName' => 'finance',
      'description' => 'Finance Department'
  }
getAllGroupsRetrieve a list of all groups. Example $groups = $google->getAllGroups(); addGroupMember ( GROUP, MEMBER )Add a member to a group. Example   $google->addGroupMember(
      group  => 'finance',
      member => 'jsmith'
  )
  || die "Could not add group member";
deleteGroupMember ( GROUP, MEMBER )Remove a member from a group. Example   $google->deleteGroupMember(
      group  => 'finance',
      member => 'jsmith'
  )
  || die "Could not delete group member";
getGroupMembers ( GROUP )Retrieve a list of group members. Example   $group->{'finance'}->{'members'} = $google->getGroupMembers( group => 'finance' );
Hash Using the above example, the returned hash is:   'members' => {
      'jsmith' => {
          'memberType' => 'User',
          'directMember' => 'true',
          'memberId' => 'jsmith@company.com'
      },
      'sschneid' => {
          'memberType' => 'User',
          'directMember' => 'true',
          'memberId' => 'sschneid@company.com'
      }
  }
addGroupOwner ( GROUP, OWNER )Add an owner to a group. Example   $google->addGroupOwner(
      group => 'finance',
      owner => 'jsmith'
  )
  || die "Could not add group owner";
deleteGroupOwner ( GROUP, OWNER )Remove an owner from a group. Example   $google->deleteGroupOwner(
      group => 'finance',
      owner => 'jsmith'
  )
  || die "Could not delete group owner";
getGroupOwner ( GROUP, OWNER )Not yet implemented. getGroupOwners ( GROUP )Retrieve a list of group owners. Example   $group->{'finance'}->{'owners'} = $google->getGroupOwners( group => 'finance' );
Hash Using the above example, the returned hash is:   'owners' => {
      'jsmith' => {
          'email' => 'jsmith@company.com',
          'type' => 'User'
      },
      'sschneid' => {
          'email' => 'sschneid@company.com',
          'type' => 'User'
      }
  }
createNickname ( USERNAME, NICKNAME )Create a nickname (e-mail alias). Example   $google->createNickname(
      username => 'jsmith',
      nickname => 'joe'
  )
  || die "Could not create nickname";
deleteNickname ( NICKNAME )Delete a nickname (e-mail alias). Example $google->deleteNickname( nickname => 'joe' ); getNickname ( NICKNAME )Retrieve a nickname. Example   $nickname->{'frank'} = $google->getNickname( nickname => 'frank' );
Hash Using the above example, the returned hash is:   'frank' => {
      'name' => 'frank',
      'username' => 'jsmith'
  }
getUserNicknames ( USERNAME )Retrieve a list of a user's nicknames. Example   $user->{'jsmith'}->{'nicknames'} = $google->getUserNicknames( username => 'jsmith' );
getAllNicknamesRetrieve a list of all nicknames. AUTHORScott Schneider <sschneid@gmail.com> 
 
  |