PushoverForPS.psd1

@{

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

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

# ID used to uniquely identify this module
GUID = '6fbaba4d-d67f-4afa-8283-945d6254e532'

# Author of this module
Author = 'Chris Carter'

# Company or vendor of this module
CompanyName = 'N/A'

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

# Description of the functionality provided by this module
Description = 'The PowerShell PushoverForPS module provides commands for interacting with the Pushover API to send notifications to Android, iOS, and desktop browsers such as Chrome, Firefox, and Safari directly from PowerShell.
 
PushoverForPS closely follows the API documentation for Pushover. It checks that all tokens, keys, and device names conform to the specified character sets. The list of availble sounds are not hard-coded; they are retrieved and stored automatically from Pushover. Any parameters that have character limitations are checked for compliance.
 
PushoverForPS also includes automatic rate limiting. According to the Pushover API, any identical requests should not be repeated within five seconds of each other. This module checks each request to ensure that it does not match a request sent within the last five seconds. If it has, it will hold the request until five seconds has elapsed.
     
Receive-PushoverReceipt can be set up to poll the Pushover API periodically as a background job to wait until the Emergency notification has been acknowledged. See Get-Help Receive-PushoverReceipt for more information.
 
For more information run Get-Help PushoverForPS.'


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

# Functions to export from this module
FunctionsToExport = @('Send-Pushover','Test-PushoverKey','Receive-PushoverReceipt','Stop-PushoverRetry','Receive-PushoverSound')

# Cmdlets to export from this module
CmdletsToExport = '*'

# Variables to export from this module
#VariablesToExport = '*'

# Aliases to export from this module
AliasesToExport = @('snpo','tspk','rcpr','sppr','rcps')

#Format files to be loaded when importing this module
#FormatsToProcess = ''

#Type files to be loaded when importing this module
#TypesToProcess = ''

# 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 = @('Pushover','PushoverAPI','Notifications','Android','iOS','Desktop','Chrome','Firefox','Safari')

        # A URL to the license for this module.
        LicenseUri = 'http://creativecommons.org/licenses/by-sa/4.0/'

        # A URL to the main website for this project.
        ProjectUri = 'https://gallery.technet.microsoft.com/Send-Notifications-to-aec9763a'

        # ReleaseNotes of this module
        ReleaseNotes = "Added Pipeline input for all commands. Introduced rate limiting Any command that tries to send identical requests withing five seconds of each other will be paused until 5 seconds has been reached. This is due to the limitations outlined by the Pushover API.
 
I'm still going back and forth on the type of the response returns from the various commands. Right now they are PSCustomObject, but I thought about making them a custom type. Plus, I also keep going back and forth about whether the properties returned should be more in line with .NET and be `$response.CalledBackAt vs their current form straight from the Pushover API, `$response.Called_Back_At. Any opinions on this would be welcome."


    } # End of PSData hashtable

} # End of PrivateData hashtable


# HelpInfo URI of this module
HelpInfoURI = ''

}