Add Journal Default Settings in MB functionality
This commit is contained in:
@@ -126,7 +126,22 @@ function New-ZertoVpg {
|
|||||||
HelpMessage = "Name of the network to use during a Failover Test operation",
|
HelpMessage = "Name of the network to use during a Failover Test operation",
|
||||||
Mandatory = $true
|
Mandatory = $true
|
||||||
)]
|
)]
|
||||||
[string]$testNetwork
|
[string]$testNetwork,
|
||||||
|
[Parameter(
|
||||||
|
HelpMessage = "Name of the datastore to utilize to store Journal data. If not specified, the default datastore will be used.",
|
||||||
|
Mandatory = $false
|
||||||
|
)]
|
||||||
|
[string]$journalDatastore,
|
||||||
|
[Parameter(
|
||||||
|
HelpMessage = "Default journal hard limit in megabytes. Default set to 150MB.",
|
||||||
|
Mandatory = $false
|
||||||
|
)]
|
||||||
|
[int]$journalHardLimitInMb = 150,
|
||||||
|
[Parameter(
|
||||||
|
HelpMessage = "Default journal warning threshold in megabytes. If unset, will be set to 75% of the journal hard limit.",
|
||||||
|
Mandatory = $false
|
||||||
|
)]
|
||||||
|
[int]$journalWarningThresholdInMb = 0
|
||||||
)
|
)
|
||||||
|
|
||||||
begin {
|
begin {
|
||||||
@@ -142,6 +157,9 @@ function New-ZertoVpg {
|
|||||||
if ($PSBoundParameters.ContainsKey("serviceProfile")) {
|
if ($PSBoundParameters.ContainsKey("serviceProfile")) {
|
||||||
$identifiersTable['serviceProfileIdentifier'] = $(Get-ZertoServiceProfile -siteIdentifier $identifiersTable['recoverySiteIdentifier'] | Where-Object {$_.ServiceProfileName -like $serviceProfile}).serviceProfileIdentifier
|
$identifiersTable['serviceProfileIdentifier'] = $(Get-ZertoServiceProfile -siteIdentifier $identifiersTable['recoverySiteIdentifier'] | Where-Object {$_.ServiceProfileName -like $serviceProfile}).serviceProfileIdentifier
|
||||||
}
|
}
|
||||||
|
if ($PSBoundParameters.ContainsKey('journalDatastore')) {
|
||||||
|
$identifiersTable['journalDatastore'] = $(Get-ZertoVirtualizationSite -siteIdentifier $identifiersTable['recoverySiteIdentifier'] -datastores | Where-Object {$_.DatastoreName -like $journalDatastore}).DatastoreIdentifier
|
||||||
|
}
|
||||||
switch ($PSCmdlet.ParameterSetName) {
|
switch ($PSCmdlet.ParameterSetName) {
|
||||||
"recoveryClusterDatastoreCluster" {
|
"recoveryClusterDatastoreCluster" {
|
||||||
$identifiersTable['clusterIdentifier'] = $(Get-ZertoVirtualizationSite -siteIdentifier $identifiersTable['recoverySiteIdentifier'] -hostclusters | Where-Object {$_.VirtualizationClusterName -like $recoveryCluster}).ClusterIdentifier
|
$identifiersTable['clusterIdentifier'] = $(Get-ZertoVirtualizationSite -siteIdentifier $identifiersTable['recoverySiteIdentifier'] -hostclusters | Where-Object {$_.VirtualizationClusterName -like $recoveryCluster}).ClusterIdentifier
|
||||||
@@ -194,6 +212,9 @@ function New-ZertoVpg {
|
|||||||
$returnObject | Add-Member -MemberType NoteProperty -Name "VmIdentifier" -Value $vmIdentifier
|
$returnObject | Add-Member -MemberType NoteProperty -Name "VmIdentifier" -Value $vmIdentifier
|
||||||
$returnObject
|
$returnObject
|
||||||
}
|
}
|
||||||
|
if (($journalWarningThresholdInMb -eq 0) -or ($journalWarningThresholdInMb -gt $journalHardLimitInMb)) {
|
||||||
|
$journalWarningThresholdInMb = $journalHardLimitInMb * .75
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
process {
|
process {
|
||||||
@@ -253,6 +274,11 @@ function New-ZertoVpg {
|
|||||||
} else {
|
} else {
|
||||||
$baseSettings.Vms = $vmIdentifiers
|
$baseSettings.Vms = $vmIdentifiers
|
||||||
}
|
}
|
||||||
|
if ($identifiersTable.ContainsKey('journalDatastore')) {
|
||||||
|
$baseSettings.Journal.DatastoreIdentifier = $identifiersTable['journalDatastore']
|
||||||
|
}
|
||||||
|
$baseSettings.Journal.Limitation.HardLimitInMB = $journalHardLimitInMb
|
||||||
|
$baseSettings.Journal.Limitation.WarningThresholdInMB = $journalWarningThresholdInMb
|
||||||
$settingsURI = "{0}/{1}" -f $baseUri, $vpgSettingsIdentifier
|
$settingsURI = "{0}/{1}" -f $baseUri, $vpgSettingsIdentifier
|
||||||
Invoke-ZertoRestRequest -uri $settingsURI -body $($baseSettings | ConvertTo-Json -Depth 10) -method "PUT" | Out-Null
|
Invoke-ZertoRestRequest -uri $settingsURI -body $($baseSettings | ConvertTo-Json -Depth 10) -method "PUT" | Out-Null
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user