Fix: SecureString arguments not working with REST-Api
Fixes checks like MSSQL using arguments of type `SecureString` not being usable with the Icinga for Windows REST-Api
Fix: PerfData writer in JEA context without REST-Api
Fixes corrupt Performance Data, in case plugins were executed inside a JEA context without the REST-Api.
Feature: Improves IMC update and uninstall handling for Framework
Improves handling for Icinga Management Console which will now terminate itself during full uninstallation and restarts after updating the Icinga PowerShell Framework, to apply changes directly
Fix: Certificate folder not present on first installation
Fixes the certificate folder not present during first installation, preventing permissions properly set from the start which might cause issues once required
Fix: Wrong conversion of certain threshold values
Fixes wrong conversion of values for `Convert-IcingaPluginThresholds`, which did not properly handle string values containing certain units inside the string itself
Feature: Rewrite PerfData Labels for multi output
Performance data should be created with some more adjustments to ensure we can properly create graphcs by using InfluxDB and Grafana as example
Fix: Automated Icinga Director installation for custom hostname
Fixes certificate generation and host registration, in case a custom hostname was set during usage of `Install-Icinga` automation
Fix: Exception for service recovery if service was not installed
Fixes an exception caused by service recovery setting, if the required service was not installed before.
Fix: Cache file encoding read/write
Fixes file encoding for Icinga for Windows v1.10.0 to ensure the cache is always properly created with the correct encoding
Fix: Argument does not support percent unit error messagae
Fixes error message `This argument does not support the % unit` in case a `BaseValue` is set, but the actual value is `0`
Fix: RemoteSouce being cleared during Update-IcingaRepository
Fixes `RemoteSource` being cleared within repository `.json` files during `Update-IcingaRepository` tasks
Fix: Encoding problems with special chars or German umlauts
Fixes Icinga for Windows plugin execution, by converting all parsed arguments and values from Icinga 2 from the `Default` of the PowerShell to `UTF8`.
This resolves issues during plugin execution on which arguments like `-Path`, `-TaskName` or anything else contained characters like `äöüß`.
In addition, we created an internal `StringBuilder` to resolve current issues on which unescaped strings within the Icinga configuration like `Icinga for Windows` instead of `'Icinga for Windows'`, are interpreted as `Icinga` instead of `Icinga for Windows` because of the whitespaces.
The new argument parser will test for this and create a proper string output value.
Fix: Adds DSL parser to string arguments to fix whitespace and $ escaping
Fixes an issue with current implementation, as string values containing whitespaces or `$` are rendered wrong by default, if not set in single quotes `''`
Example:
Using `My Service`
will output
`My`
`Service`
This issue is already fixed for arrays, but plain string values on arguments require this workaround.
As Icinga 2 will always set arguments if a DSL is specified, regardless if a value is present or not, we have to use a `set_if` expression for this, but can't as the Icinga Director baskets currently ignore `set_if_format` which requires to be an expression instead of a string.
Fix the creation of powershell arrays in Icinga2 configuration
Improves Icinga and Director configuration generator, by wrapping PowerShell arrays inside `@()` instead of simply writing them comma separated
Fix: Null-value exception on missing background daemons
Fixes `You cannot call a method on va null-valued expression` during installation or while enabling JEA, in case no background daemons have been configured.