You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Get/New/Set/Remove-IBObject all now have a -BatchMode switch and -BatchGroupSize integer parameter. Using these can increase performance when used with pipeline input by grouping the objects into fewer WAPI calls using the WAPI request object instead of making a separate call for each input.
WAPI seems to treat these batch requests as a single transaction. So if one of the requests in a group fails, the rest are cancelled/reverted.
The default batch group size is 1000 which corresponds to the maximum page size when doing Get queries. But there is no Infoblox documented maximum, so the size can theoretically be increased to the Int32 maximum of 2147483647.
The module now supports running stateless by using an environment variable based connection profile. (Guide)
Connection profiles can now be stored using PowerShell SecretManagement instead of a local config file. (Guide)
Documentation Revamp
https://docs.dvolve.net/Posh-IBWAPI/ is a new dedicated website for Posh-IBWAPI documentation. Existing guides and tutorials have been migrated there from the Github wiki. The site is currently generated using the Markdown files in the docs folder in the main project repository by MkDocs. So it should now be easier to contribute fixes and updates.
The native module help is now also generated by platyPS from the Markdown files in docs/Functions.
Get-Help <function name> -Online should now open your browser to the appropriate page on the documentation site.
Enhancements
The -Filter parameter on Get-IBObject now supports using an IDictionary (such as a hashtable) to specify filters rather than just a string array.
For example, -Filter @{'name~'='myrec'} is the same as -Filter 'name~=myrec'.
Filters passed by dictionary will be automatically URL encoded instead of the caller needing to URL encode the filters in advance. This most useful when using regular expressions with a lot of special characters.
String based filters will continue to be passed as-is in the HTTP GET request like they were prior to 4.0.
The module will keep a cache of "readable fields" when Get-IBObject is used with -ReturnAll so that subsequent calls for all fields from the same object type won't need to make additional schema queries.
Invoke-IBWAPI will now automatically handle UTF-8 encoding JSON bodies when -ContentType is not specified. When -ContentType is specified, the body parameter will be sent as-is.
Invoke-IBWAPI has an additional parameter set which takes a -WAPIHost, -WAPIVersion, and -Query parameter instead of the normal -Uri parameter.
Tweaked Verbose and Debug logging throughout the module. JSON request bodies are now included in the Verbose output for functions that send them.
Breaking Changes
Most errors returned by the WAPI have been changed from terminating to non-terminating errors to better adhere to PowerShell standards. This will have a few notable effects on scripts using this module:
If there is an error thrown from one of the input objects when using the pipeline, the error will be sent to the error stream and the pipeline will continue processing the next object instead of terminating.
When you call a module function from within a script and it generates an error, the error will be sent to the error stream and the rest of the script will still be executed instead of terminating.
If your scripts currently depend on functions throwing terminating errors, you can re-enable that behavior by passing the -ErrorAction Stop parameter or setting the $ErrorActionPreference = 'Stop' variable which is normally set to Continue.
The minimum PowerShell version requirements have been increased to 5.1 for legacy Windows PowerShell and 7.0 for cross-platform PowerShell. Partial functionality may still work on older versions, but they are no longer being tested against.
The -Filters parameter on Get-IBObject has been renamed to -Filter but will continue to have a -Filters alias until at least the next major version.
The -ReturnAllFields parameter on Get-IBObject has been renamed to -ReturnAll but will continue to have a -ReturnAllFields alias until at least the next major version.
The -ReturnBaseFields paraemter on Get/Set/New-IBObject has been renamed to -ReturnBase but will continue to have a -ReturnBaseFields alias until at least the next major version.
The -ReturnFields parameter on Get/Set/New-IBObject has been renamed to -ReturnField but will continue to have a -ReturnFields alias until at least the next major version.
Automatic migration from 1.x connection profiles is no longer supported.