Functions/Platforms/Remove-PASPlatform.ps1
Function Remove-PASPlatform { <# .SYNOPSIS Deletes a platform. .DESCRIPTION Deletes, target, dependent, group or rotational group platform. .PARAMETER TargetPlatform Specify if ID relates to Target platform .PARAMETER DependentPlatform Specify if ID relates to Dependent platform .PARAMETER GroupPlatform Specify if ID relates to Group platform .PARAMETER RotationalGroup Specify if ID relates to Rotational Group platform .PARAMETER ID The unique ID number of the platofrm to delete. .EXAMPLE Remove-PASPlatform -TargetPlatform -ID 9 Deletes Target Platform with ID of 9 .EXAMPLE Remove-PASPlatform -DependentPlatform -ID 9 Deletes Dependent Platform with ID of 9 .EXAMPLE Remove-PASPlatform -GroupPlatform -ID 39 Deletes Group Platform with ID of 39 .EXAMPLE Remove-PASPlatform -RotationalGroup -ID 59 Deletes Rotational Group Platform with ID of 59 .NOTES PAS 11.4 minimum .LINK https://pspas.pspete.dev/commands/Remove-PASPlatform #> [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', 'TargetPlatform', Justification = "False Positive")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', 'DependentPlatform', Justification = "False Positive")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', 'GroupPlatform', Justification = "False Positive")] [System.Diagnostics.CodeAnalysis.SuppressMessageAttribute('PSReviewUnusedParameter', 'RotationalGroup', Justification = "False Positive")] [CmdletBinding(SupportsShouldProcess)] param( [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true, ParameterSetName = "targets" )] [switch]$TargetPlatform, [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true, ParameterSetName = "dependents" )] [switch]$DependentPlatform, [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true, ParameterSetName = "groups" )] [switch]$GroupPlatform, [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true, ParameterSetName = "rotationalGroups" )] [switch]$RotationalGroup, [parameter( Mandatory = $true, ValueFromPipelinebyPropertyName = $true )] [int]$ID ) BEGIN { Assert-VersionRequirement -RequiredVersion 11.4 }#begin Process { #Create URL for request $URI = "$Script:BaseURI/API/Platforms/$($PSCmdLet.ParameterSetName)/$ID" if ($PSCmdlet.ShouldProcess($ID, "Delete $($PSCmdLet.ParameterSetName) Platform")) { #send request to web service Invoke-PASRestMethod -Uri $URI -Method DELETE -WebSession $Script:WebSession } } } |