Test-NBDeprecatedParameter
Since
v4.5.0.0
SYNOPSIS
Checks if a deprecated parameter is being used and handles it appropriately.
SYNTAX
Test-NBDeprecatedParameter [-ParameterName] <String> [-DeprecatedInVersion] <String>
[-BoundParameters] <Hashtable> [[-ReplacementMessage] <String>] [-ProgressAction <ActionPreference>]
[<CommonParameters>]
DESCRIPTION
This helper function checks if a deprecated parameter is being used and: - Emits a warning if the current Netbox version is >= the deprecation version - Returns $true if the parameter should be excluded from the API request - Returns $false if the parameter should still be sent (older Netbox version)
This allows for graceful deprecation of parameters while maintaining backwards compatibility with older Netbox versions.
EXAMPLES
EXAMPLE 1
# In a function with deprecated Is_Staff parameter:
if (Test-NBDeprecatedParameter -ParameterName 'Is_Staff' -DeprecatedInVersion '4.5.0' -BoundParameters $PSBoundParameters) {
$PSBoundParameters.Remove('Is_Staff') | Out-Null
}
PARAMETERS
-ParameterName
The name of the deprecated parameter.
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: 1
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-DeprecatedInVersion
The Netbox version where this parameter was deprecated/removed.
Type: String
Parameter Sets: (All)
Aliases:
Required: True
Position: 2
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-BoundParameters
The $PSBoundParameters from the calling function.
Type: Hashtable
Parameter Sets: (All)
Aliases:
Required: True
Position: 3
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ReplacementMessage
Optional message explaining what to use instead.
Type: String
Parameter Sets: (All)
Aliases:
Required: False
Position: 4
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
-ProgressAction
{{ Fill ProgressAction Description }}
Type: ActionPreference
Parameter Sets: (All)
Aliases: proga
Required: False
Position: Named
Default value: None
Accept pipeline input: False
Accept wildcard characters: False
CommonParameters
This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.
INPUTS
OUTPUTS
[bool] - $true if parameter should be excluded, $false if it should be included
NOTES
AddedInVersion: v4.5.0.0 This function requires that Connect-NBAPI has been called and $script:NetboxConfig.ParsedVersion is set.