Functions/Public/catalog-service/Remove-vRAService.ps1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
function Remove-vRAService { <# .SYNOPSIS Remove a vRA Service .DESCRIPTION Remove a vRA Service .PARAMETER Id The id of the service .INPUTS System.String .OUTPUTS None .EXAMPLE Remove-vRAService -Id "d00d3631-997c-40f7-90e8-7ccbc153c20c" .EXAMPLE Get-vRAService -Id "d00d3631-997c-40f7-90e8-7ccbc153c20c" | Remove-vRAService .EXAMPLE Get-vRAService | Where-Object {$_.name -ne "Default Service"} | Remove-vRAService #> [CmdletBinding(SupportsShouldProcess,ConfirmImpact="High")] Param ( [Parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)] [ValidateNotNullOrEmpty()] [String[]]$Id ) Begin { } Process { foreach ($ServiceId in $Id) { $URI = "/catalog-service/api/services/$($ServiceId)" $Service = Invoke-vRARestMethod -Method GET -URI $URI -Verbose:$VerbosePreference Write-Verbose -Message "Removing service $($Service.name)" $Service.status = "DELETED" # --- Remove the service try { if ($PSCmdlet.ShouldProcess($Service.name)){ # --- Build the URI string for the service $URI = "/catalog-service/api/services/$($ServiceId)" Invoke-vRARestMethod -Method PUT -URI $URI -Body ($Service | ConvertTo-Json -Compress) -Verbose:$VerbosePreference | Out-Null } } catch [Exception] { throw } } } End { } } |