Functions/Public/reservation-service/Remove-vRAStorageReservationPolicy.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 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
function Remove-vRAStorageReservationPolicy { <# .SYNOPSIS Remove a vRA Storage Reservation Policy .DESCRIPTION Remove a vRA Storage Reservation Policy .PARAMETER Id Storage Reservation Policy ID .PARAMETER Name Storage Reservation Policy Name .INPUTS System.String. .OUTPUTS None .EXAMPLE Remove-vRAStorageReservationPolicy -Id "34ae1d6c-9972-4736-acdb-7ee109ad1dbd" .EXAMPLE Remove-vRAStorageReservationPolicy -Name "StorageReservationPolicy01" .EXAMPLE Get-vRAStorageReservationPolicy -Name "StorageReservationPolicy01" | Remove-vRAStorageReservationPolicy -Confirm:$false #> [CmdletBinding(SupportsShouldProcess,ConfirmImpact="High",DefaultParameterSetName="ById")] Param ( [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true,ParameterSetName="ById")] [ValidateNotNullOrEmpty()] [String[]]$Id, [parameter(Mandatory=$true,ValueFromPipelineByPropertyName=$true,ParameterSetName="ByName")] [ValidateNotNullOrEmpty()] [String[]]$Name ) begin { } process { switch ($PsCmdlet.ParameterSetName) { "ById" { foreach ($StorageReservationPolicyId in $Id){ try { if ($PSCmdlet.ShouldProcess($StorageReservationPolicyId)){ $URI = "/reservation-service/api/reservations/policies/$($StorageReservationPolicyId)" # --- Run vRA REST Request Invoke-vRARestMethod -Method DELETE -URI $URI -Verbose:$VerbosePreference | Out-Null } } catch [Exception]{ throw } } } "ByName" { foreach ($StorageReservationPolicyName in $Name){ try { if ($PSCmdlet.ShouldProcess($StorageReservationPolicyName)){ $StorageReservationPolicy = Get-vRAStorageReservationPolicy -Name $Name if (-not $StorageReservationPolicy){ throw "Storage Reservation Policy with name $($Name) does not exist" } $Id = $StorageReservationPolicy.Id $URI = "/reservation-service/api/reservations/policies/$($Id)" # --- Run vRA REST Request Invoke-vRARestMethod -Method DELETE -URI $URI -Verbose:$VerbosePreference | Out-Null } } catch [Exception]{ throw } } } } } end { } } |