Complete Install-Vra.ps1
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
function Install-Vra {
|
function Install-Vra {
|
||||||
[cmdletbinding()]
|
[cmdletbinding( SupportsShouldProcess = $true )]
|
||||||
param(
|
param(
|
||||||
[Parameter( Mandatory = $true )]
|
[Parameter( Mandatory = $true )]
|
||||||
[string]$hostName,
|
[string]$hostName,
|
||||||
@@ -7,7 +7,8 @@ function Install-Vra {
|
|||||||
[string]$datastoreName,
|
[string]$datastoreName,
|
||||||
[Parameter( Mandatory = $true )]
|
[Parameter( Mandatory = $true )]
|
||||||
[string]$networkName,
|
[string]$networkName,
|
||||||
[Parameter()]
|
[Parameter( HelpMessage = "Initial amount of memory to assign to the VRA in GB. Minimum is 1, Maximum is 16" )]
|
||||||
|
[ValidateRange(1, 16)]
|
||||||
[int]$memoryInGB = 3,
|
[int]$memoryInGB = 3,
|
||||||
[Parameter()]
|
[Parameter()]
|
||||||
[string]$groupName,
|
[string]$groupName,
|
||||||
@@ -26,5 +27,29 @@ function Install-Vra {
|
|||||||
)
|
)
|
||||||
|
|
||||||
$siteIdentifier = ((Get-Item Env:zertoLocalSiteInfo).value | ConvertFrom-Json).SiteIdentifier
|
$siteIdentifier = ((Get-Item Env:zertoLocalSiteInfo).value | ConvertFrom-Json).SiteIdentifier
|
||||||
$hostInformation = Get-ZertoVirtualizationSite -siteIdentifier $siteIdentifier -hosts | Where-Object {$_.VirtualizationHostName -eq $hostName}
|
$hostIdentifier = Get-ZertoVirtualizationSite -siteIdentifier $siteIdentifier -hosts | Where-Object {$_.VirtualizationHostName -eq $hostName} | Select-Object hostIdentifier -ExpandProperty hostIdentifier
|
||||||
|
$networkIdentifier = Get-ZertoVirtualizationSite -siteIdentifier $siteIdentifier -networks | Where-Object {$_.VirtualizationNetworkName -eq $networkName} | Select-Object NetworkIdentifier -ExpandProperty NetworkIdentifier
|
||||||
|
$datastoreIdentifier = Get-ZertoVirtualizationSite -siteIdentifier $siteIdentifier -datastores | Where-Object {$_.DatastoreName -eq $datastoreName} | Select-Object DatastoreIdentifier -ExpandProperty DatastoreIdentifier
|
||||||
|
$vraBasic = [ordered]@{}
|
||||||
|
$vraBasic['DatastoreIdentifier'] = $datastoreIdentifier.toString()
|
||||||
|
if ($PSBoundParameters.ContainsKey('groupName')) {
|
||||||
|
$vraBasic['GroupName'] = $groupName
|
||||||
|
}
|
||||||
|
$vraBasic['HostIdentifier'] = $hostIdentifier.toString()
|
||||||
|
$vraBasic['MemoryInGB'] = $memoryInGB
|
||||||
|
$vraBasic['NetworkIdentifier'] = $networkIdentifier.toString()
|
||||||
|
$vraBasic['UsePublicKeyInsteadOfCredentials'] = $true
|
||||||
|
$vraBasicNetwork = [ordered]@{}
|
||||||
|
if ( $PSCmdlet.ParameterSetName -eq "StaticIp" ) {
|
||||||
|
$vraBasicNetwork['DefaultGateway'] = $defaultGateway.toString()
|
||||||
|
$vraBasicNetwork['SubnetMask'] = $subnetMask.toString()
|
||||||
|
$vraBasicNetwork['VraIPAddress'] = $vraIpAddress.toString()
|
||||||
|
$vraBasicNetwork['VraIPConfigurationTypeApi'] = "Static"
|
||||||
|
} else {
|
||||||
|
$vraBasicNetwork['VraIPConfigurationTypeApi'] = "Dhcp"
|
||||||
|
}
|
||||||
|
$vraBasic['VraNetworkDataApi'] = $vraBasicNetwork
|
||||||
|
if ($PSCmdlet.ShouldProcess("Preforming operation 'Install-Vra' on Host $hostName with the following data \n $($vraBasic | convertto-json)")) {
|
||||||
|
Invoke-ZertoRestRequest -uri "vras" -method POST -body $($vraBasic | ConvertTo-Json)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user