PSGSuite.psd1

#
# Module manifest for module 'NewManifest'
#
# Generated by: Nate Ferrell
#
# Generated on: 2/22/2017
#

@{

# Script module or binary module file associated with this manifest.
RootModule = 'PSGSuite.psm1'

# Version number of this module.
ModuleVersion = '1.1.2'

# ID used to uniquely identify this module
GUID = '9d751152-e83e-40bb-a6db-4c329092aaec'

# Author of this module
Author = 'Nate Ferrell'

# Company or vendor of this module
CompanyName = 'SCRT HQ'

# Copyright statement for this module
Copyright = '(c) SCRT HQ 2016 . All rights reserved.'

# Description of the functionality provided by this module
Description = '~~ Summary ~~
 
Powershell module wrapping G Suite (Google Apps) API calls in handy functions. Authentication is established using a service account via P12 key to negate the consent popup and allow for greater handsoff automation capabilities.
 
 
 
~~ Prerequisites ~~
 
In order to use this module, you''ll need to have the following:
 
� Powershell 3.0 or higher (module makes heavy use of Invoke-RestMethod).
� API Access Enabled in the Admin Console under Security
� Service Account key created and downloaded as a P12 key file.
� API Client access allowed for the Service Account that will be used towards the API scopes that you intend to utilize
� Domain-Wide Delegation enabled for the service account
 
 
 
~~ Tips & Tricks ~~
 
� All functions support pre-acquired Access Tokens (using the AccessToken parameter).
    � This is useful if you have a lot of recurring commands that leverage the same admin and scope(s) so you do not overrun the user API call quota, i.e. pulling info for a large set of emails in a user''s inbox.
� If the access token is not pre-acquired, then the P12KeyPath, AppEmail, AdminEmail, CustomerID, and Domain parameters will default to reading from the PSGSuite config file (these can also be named in each function call, if preferred).
� If you plan on using this module on multiple computers or between multiple accounts on the same computer, you will need a new PSGoogle config created for each computer / user account pair.
 
 
 
~~ Credits ~~
 
� Handling the Service Account OAuth procedure in Powershell:
    � http://www.thingsthatmademeangry.com/2014/11/google-apps-oauth2-service-account.html
 
� Initial expoloration into Google Apps management via command line:
    � https://github.com/jay0lee/GAM (thank you for all of your help along the way Jay & Ross!)'


# Minimum version of the Windows PowerShell engine required by this module
PowerShellVersion = '3.0'

# Name of the Windows PowerShell host required by this module
# PowerShellHostName = ''

# Minimum version of the Windows PowerShell host required by this module
# PowerShellHostVersion = ''

# Minimum version of Microsoft .NET Framework required by this module
# DotNetFrameworkVersion = ''

# Minimum version of the common language runtime (CLR) required by this module
# CLRVersion = ''

# Processor architecture (None, X86, Amd64) required by this module
ProcessorArchitecture = 'None'

# Modules that must be imported into the global environment prior to importing this module
# RequiredModules = @()

# Assemblies that must be loaded prior to importing this module
RequiredAssemblies = @()

# Script files (.ps1) that are run in the caller's environment prior to importing this module.
ScriptsToProcess = @()

# Type files (.ps1xml) to be loaded when importing this module
TypesToProcess = @()

# Format files (.ps1xml) to be loaded when importing this module
FormatsToProcess = @()

# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
# NestedModules = @()

# Functions to export from this module
FunctionsToExport = 'Add-GSDriveFilePermissions', 'Add-GSGmailDelegate', 
               'Add-GSGmailFilter', 'Add-GSGroupMember', 'Clear-GSSheet', 
               'Copy-GSDriveFile', 'Copy-GSSheet', 'Get-GSCalendarEventList', 
               'Get-GSCalendarResourceList', 'Get-GSDataTransferApplicationList', 
               'Get-GSDriveFile', 'Get-GSDriveFileInfo', 'Get-GSDriveFileList', 
               'Get-GSDriveFilePermissionsList', 'Get-GSGmailDelegates', 
               'Get-GSGmailFilterList', 'Get-GSGmailLabelList', 
               'Get-GSGmailMessageInfo', 'Get-GSGmailMessageList', 'Get-GSGroup', 
               'Get-GSGroupList', 'Get-GSGroupMemberList', 'Get-GSGroupSettings', 
               'Get-GSMobileDeviceList', 'Get-GSOrgUnitList', 'Get-GSSheetInfo', 
               'Get-GSShortURLInfo', 'Get-GSShortURLList', 'Get-GSToken', 'Get-GSUser', 
               'Get-GSUserASP', 'Get-GSUserASPList', 'Get-GSUserLicenseInfo', 
               'Get-GSUserLicenseList', 'Get-GSUserList', 'Get-GSUserPhoto', 
               'Get-GSUserSchemaInfo', 'Get-GSUserSchemaList', 'Get-GSUserToken', 
               'Get-GSUserTokenList', 'Get-GSUserVerificationCodes', 
               'Get-PSGSuiteConfig', 'Import-GSSheet', 'New-GSCalendarEvent', 
               'New-GSCalendarResource', 'New-GSDriveFile', 'New-GSGroup', 
               'New-GSOrganizationalUnit', 'New-GSSheet', 'New-GSShortURL', 
               'New-GSUser', 'New-GSUserSchema', 'New-GSUserVerificationCodes', 
               'Remove-GSGmailDelegate', 'Remove-GSGmailFilter', 
               'Remove-GSGmailMessage', 'Remove-GSGroup', 'Remove-GSGroupMember', 
               'Remove-GSMobileDevice', 'Remove-GSUser', 'Remove-GSUserASP', 
               'Remove-GSUserLicense', 'Remove-GSUserSchema', 'Remove-GSUserToken', 
               'Restore-GSUser', 'Revoke-GSToken', 'Revoke-GSUserVerificationCodes', 
               'Send-GmailMessage', 'Set-GSUserLicense', 'Set-PSGSuiteConfig', 
               'Set-PSGSuiteDefaultDomain', 'Start-GSDataTransfer', 
               'Switch-PSGSuiteDomain', 'Update-GSCalendarResource', 
               'Update-GSDriveFile', 'Update-GSGroupSettings', 
               'Update-GSOrganizationalUnit', 'Update-GSSheetValue', 'Update-GSUser', 
               'Update-GSUserLicense', 'Update-GSUserSchema'

# Cmdlets to export from this module
CmdletsToExport = @()

# Variables to export from this module
VariablesToExport = @()

# Aliases to export from this module
AliasesToExport = @()

# DSC resources to export from this module
# DscResourcesToExport = @()

# List of all modules packaged with this module
# ModuleList = @()

# List of all files packaged with this module
FileList = @()

# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{

    PSData = @{

        # Tags applied to this module. These help with module discovery in online galleries.
        Tags = 'Google','GSuite','Apps','G','Suite','REST','API','Admin','PSModule','Directory','User','Goo.gl'

        # A URL to the license for this module.
        # LicenseUri = ''

        # A URL to the main website for this project.
        ProjectUri = 'https://github.com/nferrell/PSGSuite'

        # A URL to an icon representing this module.
        IconUri = 'http://centerlyne.com/wp-content/uploads/2016/10/Google_-G-_Logo.svg_.png'

        # ReleaseNotes of this module
        # ReleaseNotes = ''

        # External dependent modules of this module
        # ExternalModuleDependencies = ''

    } # End of PSData hashtable
    
 } # End of PrivateData hashtable

# HelpInfo URI of this module
HelpInfoURI = 'https://github.com/nferrell/PSGSuite/wiki'

# Default prefix for commands exported from this module. Override the default prefix using Import-Module -Prefix.
# DefaultCommandPrefix = ''

}