Skip to content

Commit

Permalink
Merge pull request #191 from jakkulabs/set-vrareservation-missing-vsp…
Browse files Browse the repository at this point in the history
…here-type

Fix for issue #188
  • Loading branch information
jonathanmedd committed Dec 21, 2018
2 parents c35d259 + 47ec66d commit b17def9
Showing 1 changed file with 71 additions and 65 deletions.
136 changes: 71 additions & 65 deletions src/Functions/Public/reservation-service/Set-vRAReservation.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -139,11 +139,11 @@
[Int]$AlertReminderFrequency

)

begin {

}

process {

try {
Expand All @@ -168,7 +168,7 @@

}

if ($PSBoundParameters.ContainsKey("ReservationPolicy")) {
if ($PSBoundParameters.ContainsKey("ReservationPolicy")) {

Write-Verbose -Message "Updating Reservation Policy: $($ReservationPolicy)"

Expand All @@ -178,7 +178,7 @@

}

if ($PSBoundParameters.ContainsKey("Priority")) {
if ($PSBoundParameters.ContainsKey("Priority")) {

Write-Verbose -Message "Updating Priority: $($Reservation.priority) >> $($Priority)"

Expand All @@ -187,38 +187,38 @@
}

if ($PSBoundParameters.ContainsKey("Enabled")) {

if ($Enabled) {

$BoolAsString = "true"

}
else {

$BoolAsString = "false"

}
Write-Verbose -Message "Updating Reservation Status: $($Reservation.enabled) >> $($BoolAsString)"

Write-Verbose -Message "Updating Reservation Status: $($Reservation.enabled) >> $($BoolAsString)"

$Reservation.enabled = $BoolAsString

}

if ($PSBoundParameters.ContainsKey("EnableAlerts")) {

if ($EnableAlerts) {

$BoolAsString = "true"

}
else {

$BoolAsString = "false"

}
Write-Verbose -Message "Updating Alert Policy Status: $($Reservation.alertPolicy.enabled) >> $($BoolAsString)"

Write-Verbose -Message "Updating Alert Policy Status: $($Reservation.alertPolicy.enabled) >> $($BoolAsString)"

$Reservation.alertPolicy.enabled = $BoolAsString

Expand All @@ -245,19 +245,19 @@
}

if ($PSBoundParameters.ContainsKey("EmailBusinessGroupManager")) {

if ($EmailBusinessGroupManager) {

$BoolAsString = "true"

}
else {

$BoolAsString = "false"

}
Write-Verbose "Updating Email Business Group Manager Status: $($Reservation.alertPolicy.emailBgMgr) >> $($BoolAsString)"

Write-Verbose "Updating Email Business Group Manager Status: $($Reservation.alertPolicy.emailBgMgr) >> $($BoolAsString)"

$Reservation.alertPolicy.emailBgMgr = $BoolAsString

Expand All @@ -267,11 +267,11 @@

switch ($ReservationTypeName) {

'vSphere' {
{$_ -in 'vSphere','vSphere (vCenter)'} {

# ---
# --- Alert Policy
# ---
# ---

if ($PSBoundParameters.ContainsKey("StorageAlertPercentageLevel")) {

Expand Down Expand Up @@ -343,7 +343,7 @@

# --- Calculate the memory value in MB

$MemoryMB = [Math]::Round(($MemoryGB * 1024 * 1024 * 1024 / 1MB),4,[MidPointRounding]::AwayFromZero)
$MemoryMB = [Math]::Round(($MemoryGB * 1024 * 1024 * 1024 / 1MB),4,[MidPointRounding]::AwayFromZero)

$ReservationMemory = $Reservation.extensionData.entries | Where-Object {$_.key -eq "reservationMemory"}

Expand Down Expand Up @@ -379,15 +379,15 @@
}
else {

# --- Update the existing resource pool
# --- Update the existing resource pool

$NewResourcePool = Get-vRAReservationComputeResourceResourcePool -Type $ReservationTypeName -ComputeResourceId $ComputeResourceId -Name $ResourcePool

$ResourcePoolId = $NewResourcePool.id

$ResourcePoolLabel = $NewResourcePool.label

Write-Verbose "Updating Resource Pool: $($ResourcePoolObject.value.label) >> $($ResourcePool)"
Write-Verbose "Updating Resource Pool: $($ResourcePoolObject.value.label) >> $($ResourcePool)"

$ResourcePoolObject.value.id = $ResourcePoolId

Expand All @@ -400,10 +400,10 @@

Write-Verbose -Message "Setting Resource Pool To $($ResourcePool)"

$NewResourcePool = Get-vRAReservationComputeResourceResourcePool -Type $ReservationTypeName -ComputeResourceId $ComputeResourceId -Name $ResourcePool
$NewResourcePool = Get-vRAReservationComputeResourceResourcePool -Type $ReservationTypeName -ComputeResourceId $ComputeResourceId -Name $ResourcePool

$ResourcePoolTemplate = @"
{
"key": "resourcePool",
"value": {
Expand All @@ -413,23 +413,23 @@
"id": "$($NewResourcePool.Id)",
"label": "$($NewResourcePool.Label)"
}
}
}
"@
$Reservation.extensionData.entries += ($ResourcePoolTemplate | ConvertFrom-Json)

$Reservation.extensionData.entries += ($ResourcePoolTemplate | ConvertFrom-Json)

}
}

}

break
}

'vCloud Air' {

# ---
# --- Alert Policy
# ---
# ---

if ($PSBoundParameters.ContainsKey("StorageAlertPercentageLevel")) {

Expand Down Expand Up @@ -501,7 +501,7 @@

# --- Calculate the memory value in MB

$MemoryMB = [Math]::Round(($MemoryGB * 1024 * 1024 * 1024 / 1MB),4,[MidPointRounding]::AwayFromZero)
$MemoryMB = [Math]::Round(($MemoryGB * 1024 * 1024 * 1024 / 1MB),4,[MidPointRounding]::AwayFromZero)

$ReservationMemory = $Reservation.extensionData.entries | Where-Object {$_.key -eq "reservationMemory"}

Expand All @@ -518,61 +518,67 @@
}

'Amazon' {
Write-Verbose -Message "Support for this reservation type has not been added"

Write-Warning -Message "Support for Reservation type $ReservationTypeName has not been added"
break

}

'OpenStack' {
Write-Verbose -Message "Support for this reservation type has not been added"

Write-Warning -Message "Support for Reservation type $ReservationTypeName has not been added"
break

}

'vCloud' {
Write-Verbose -Message "Support for this reservation type has not been added"
break

Write-Warning -Message "Support for Reservation type $ReservationTypeName has not been added"
break

}

'HyperV' {
Write-Verbose -Message "Support for this reservation type has not been added"
break

Write-Warning -Message "Support for Reservation type $ReservationTypeName has not been added"
break

}

'KVM' {
Write-Verbose -Message "Support for this reservation type has not been added"
break

Write-Warning -Message "Support for Reservation type $ReservationTypeName has not been added"
break

}

'SCVMM' {
Write-Verbose -Message "Support for this reservation type has not been added"
break

Write-Warning -Message "Support for Reservation type $ReservationTypeName has not been added"
break

}

'XenServer' {

Write-Verbose -Message "Support for this reservation type has not been added"
break

}

Write-Warning -Message "Support for Reservation type $ReservationTypeName has not been added"
break

}

default {

Write-Warning -Message "Reservation type $ReservationTypeName for Reservation $($Reservation.name) for Reservation $($Reservation.name) did not match a known type"
break
}

}

if ($PSCmdlet.ShouldProcess($Id)){

$URI = "/reservation-service/api/reservations/$($Id)"
Write-Verbose -Message "Preparing PUT to $($URI)"

Write-Verbose -Message "Preparing PUT to $($URI)"

# --- Run vRA REST Request
Invoke-vRARestMethod -Method PUT -URI $URI -Body ($Reservation | ConvertTo-Json -Depth 100) -Verbose:$VerbosePreference | Out-Null
Expand All @@ -590,6 +596,6 @@
}
}
end {

}
}

0 comments on commit b17def9

Please sign in to comment.