2019-10-30 08:52:37 -04:00
|
|
|
function ConvertTo-ByteIEC()
|
|
|
|
|
{
|
|
|
|
|
param(
|
|
|
|
|
[single]$Value,
|
|
|
|
|
[string]$Unit
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
switch ($Unit) {
|
|
|
|
|
{ 'B', 'Byte' -contains $_ } { $result = $Value; $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'KiB', 'Kibibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 10)); $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'MiB', 'Mebibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 20)); $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'GiB', 'Gibibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 30)); $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'TiB', 'Tebibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 40)); $boolOption = $true; }
|
|
|
|
|
{ 'PiB', 'Pebibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 50)); $boolOption = $true; }
|
2019-10-30 08:52:37 -04:00
|
|
|
default {
|
|
|
|
|
if (-Not $boolOption) {
|
2020-02-03 11:56:34 -05:00
|
|
|
Exit-IcingaThrowException -ExceptionType 'Input' -ExceptionThrown $IcingaExceptions.Inputs.ConversionUnitMissing -Force;
|
2019-10-30 08:52:37 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
2020-02-04 03:33:27 -05:00
|
|
|
function ConvertTo-Kibibyte()
|
2019-10-30 08:52:37 -04:00
|
|
|
{
|
|
|
|
|
param(
|
|
|
|
|
[single]$Value,
|
|
|
|
|
[string]$Unit
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
switch ($Unit) {
|
|
|
|
|
{ 'B', 'Byte' -contains $_ } { $result = ($Value / [math]::Pow(2, 10)); $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'KiB', 'Kibibyte' -contains $_ } { $result = $Value; $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'MiB', 'Mebibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 10)); $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'GiB', 'Gibibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 20)); $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'TiB', 'Tebibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 30)); $boolOption = $true; }
|
|
|
|
|
{ 'PiB', 'Pebibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 40)); $boolOption = $true; }
|
2019-10-30 08:52:37 -04:00
|
|
|
default {
|
|
|
|
|
if (-Not $boolOption) {
|
2020-02-03 11:56:34 -05:00
|
|
|
Exit-IcingaThrowException -ExceptionType 'Input' -ExceptionThrown $IcingaExceptions.Inputs.ConversionUnitMissing -Force;
|
2019-10-30 08:52:37 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
2020-02-04 03:33:27 -05:00
|
|
|
function ConvertTo-Mebibyte()
|
2019-10-30 08:52:37 -04:00
|
|
|
{
|
|
|
|
|
param(
|
|
|
|
|
[single]$Value,
|
|
|
|
|
[string]$Unit
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
switch ($Unit) {
|
|
|
|
|
{ 'B', 'Byte' -contains $_ } { $result = ($Value / [math]::Pow(2, 20)); $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'KiB', 'Kibibyte' -contains $_ } { $result = ($Value / [math]::Pow(2, 10)); $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'MiB', 'Mebibyte' -contains $_ } { $result = $Value; $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'GiB', 'Gibibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 10)); $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'TiB', 'Tebibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 20)); $boolOption = $true; }
|
|
|
|
|
{ 'PiB', 'Pebibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 30)); $boolOption = $true; }
|
2019-10-30 08:52:37 -04:00
|
|
|
default {
|
|
|
|
|
if (-Not $boolOption) {
|
2020-02-03 11:56:34 -05:00
|
|
|
Exit-IcingaThrowException -ExceptionType 'Input' -ExceptionThrown $IcingaExceptions.Inputs.ConversionUnitMissing -Force;
|
2019-10-30 08:52:37 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
2020-02-04 03:33:27 -05:00
|
|
|
function ConvertTo-Gibibyte()
|
2019-10-30 08:52:37 -04:00
|
|
|
{
|
|
|
|
|
param(
|
|
|
|
|
[single]$Value,
|
|
|
|
|
[string]$Unit
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
switch ($Unit) {
|
|
|
|
|
{ 'B', 'Byte' -contains $_ } { $result = ($Value / [math]::Pow(2, 30)); $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'KiB', 'Kibibyte' -contains $_ } { $result = ($Value / [math]::Pow(2, 20)); $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'MiB', 'Mebibyte' -contains $_ } { $result = ($Value / [math]::Pow(2, 10)); $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'GiB', 'Gibibyte' -contains $_ } { $result = $Value; $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'TiB', 'Tebibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 10)); $boolOption = $true; }
|
|
|
|
|
{ 'PiB', 'Pebibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 20)); $boolOption = $true; }
|
2019-10-30 08:52:37 -04:00
|
|
|
default {
|
|
|
|
|
if (-Not $boolOption) {
|
2020-02-03 11:56:34 -05:00
|
|
|
Exit-IcingaThrowException -ExceptionType 'Input' -ExceptionThrown $IcingaExceptions.Inputs.ConversionUnitMissing -Force;
|
2019-10-30 08:52:37 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
2020-02-04 03:33:27 -05:00
|
|
|
function ConvertTo-Tebibyte()
|
2019-10-30 08:52:37 -04:00
|
|
|
{
|
|
|
|
|
param(
|
|
|
|
|
[single]$Value,
|
|
|
|
|
[string]$Unit
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
switch ($Unit) {
|
|
|
|
|
{ 'B', 'Byte' -contains $_ } { $result = ($Value / [math]::Pow(2, 40)); $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'KiB', 'Kibibyte' -contains $_ } { $result = ($Value / [math]::Pow(2, 30)); $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'MiB', 'Mebibyte' -contains $_ } { $result = ($Value / [math]::Pow(2, 20)); $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'GiB', 'Gibibyte' -contains $_ } { $result = ($Value / [math]::Pow(2, 10)); $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'TiB', 'Tebibyte' -contains $_ } { $result = $Value; $boolOption = $true; }
|
|
|
|
|
{ 'PiB', 'Pebibyte' -contains $_ } { $result = ($Value * [math]::Pow(2, 10)); $boolOption = $true; }
|
2019-10-30 08:52:37 -04:00
|
|
|
default {
|
|
|
|
|
if (-Not $boolOption) {
|
2020-02-03 11:56:34 -05:00
|
|
|
Exit-IcingaThrowException -ExceptionType 'Input' -ExceptionThrown $IcingaExceptions.Inputs.ConversionUnitMissing -Force;
|
2019-10-30 08:52:37 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
|
}
|
|
|
|
|
|
2020-02-04 03:33:27 -05:00
|
|
|
function ConvertTo-Pebibyte()
|
2019-10-30 08:52:37 -04:00
|
|
|
{
|
|
|
|
|
param(
|
|
|
|
|
[single]$Value,
|
|
|
|
|
[string]$Unit
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
switch ($Unit) {
|
|
|
|
|
{ 'B', 'Byte' -contains $_ } { $result = ($Value / [math]::Pow(2, 50)); $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'KiB', 'Kibibyte' -contains $_ } { $result = ($Value / [math]::Pow(2, 40)); $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'MiB', 'Mebibyte' -contains $_ } { $result = ($Value / [math]::Pow(2, 30)); $boolOption = $true; }
|
2020-02-04 03:33:27 -05:00
|
|
|
{ 'GiB', 'Gibibyte' -contains $_ } { $result = ($Value / [math]::Pow(2, 20)); $boolOption = $true; }
|
2020-02-03 12:03:40 -05:00
|
|
|
{ 'TiB', 'Tebibyte' -contains $_ } { $result = ($Value / [math]::Pow(2, 10)); $boolOption = $true; }
|
|
|
|
|
{ 'PiB', 'Pebibyte' -contains $_ } { $result = $Value; $boolOption = $true; }
|
2019-10-30 08:52:37 -04:00
|
|
|
default {
|
|
|
|
|
if (-Not $boolOption) {
|
2020-02-03 11:56:34 -05:00
|
|
|
Exit-IcingaThrowException -ExceptionType 'Input' -ExceptionThrown $IcingaExceptions.Inputs.ConversionUnitMissing -Force;
|
2019-10-30 08:52:37 -04:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return $result;
|
|
|
|
|
}
|