Initial Commit to Dedicated Repo
This commit is contained in:
@@ -0,0 +1,257 @@
|
||||
function Get-ZertoVpgSetting {
|
||||
[cmdletbinding(
|
||||
DefaultParameterSetName = "default",
|
||||
SupportsShouldProcess = $false
|
||||
)]
|
||||
param(
|
||||
[Parameter(
|
||||
ParameterSetName = "vpgSettingsIdentifier",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "backup",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "dayOfWeek",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "retentionPeriod",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "schedulerPeriod",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "basic",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "bootGroup",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "journal",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "networks",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "priority",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "recovery",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "scripting",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "vms",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "vmIdentifier",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "nics",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "nicIdentifier",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "volumes",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "volumeIdentifier",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromRemainingArguments = $true,
|
||||
Mandatory = $true
|
||||
)]
|
||||
[string]$vpgSettingsIdentifier,
|
||||
[Parameter(
|
||||
ParameterSetName = "backup",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$backup,
|
||||
[Parameter(
|
||||
ParameterSetName = "dayOfWeek",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$dayOfWeek,
|
||||
[Parameter(
|
||||
ParameterSetName = "retentionPeriod",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$retentionPeriod,
|
||||
[Parameter(
|
||||
ParameterSetName = "schedulerPeriod",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$schedulerPeriod,
|
||||
[Parameter(
|
||||
ParameterSetName = "basic",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$basic,
|
||||
[Parameter(
|
||||
ParameterSetName = "bootGroup",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$bootgroup,
|
||||
[Parameter(
|
||||
ParameterSetName = "journal",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$journal,
|
||||
[Parameter(
|
||||
ParameterSetName = "networks",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$networks,
|
||||
[Parameter(
|
||||
ParameterSetName = "priority",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$priority,
|
||||
[Parameter(
|
||||
ParameterSetName = "recovery",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$rcovery,
|
||||
[Parameter(
|
||||
ParameterSetName = "scripting",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$scripting,
|
||||
[Parameter(
|
||||
ParameterSetName = "vms",
|
||||
Mandatory = $true )]
|
||||
[switch]$vms,
|
||||
[Parameter(
|
||||
ParameterSetName = "vmIdentifier",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "nics",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "volumes",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "nicIdentifier",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[Parameter(
|
||||
ParameterSetName = "volumeIdentifier",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[string]$vmIdentifier,
|
||||
[Parameter(
|
||||
ParameterSetName = "nics",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$nics,
|
||||
[Parameter(
|
||||
ParameterSetName = "nicIdentifier",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[string]$nicIdentifier,
|
||||
[Parameter(
|
||||
ParameterSetName = "volumes",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$volumes,
|
||||
[Parameter(
|
||||
ParameterSetName = "volumeIdentifier",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[string]$volumeIdentifier<#,
|
||||
[Parameter(
|
||||
ParameterSetName = "vpgSettingsIdentifier",
|
||||
Mandatory = $true
|
||||
)]
|
||||
[switch]$allSettings #>
|
||||
)
|
||||
|
||||
begin {
|
||||
$baseUri = "vpgSettings"
|
||||
}
|
||||
|
||||
process {
|
||||
if ( $PSCmdlet.ParameterSetName -eq "default" ) {
|
||||
$results = Invoke-ZertoRestRequest -uri $baseUri
|
||||
} elseif ($PSCmdlet.ParameterSetName -eq "vpgSettingsIdentifier") {
|
||||
$uri = "{0}/{1}" -f $baseUri, $vpgSettingsIdentifier
|
||||
$results = Invoke-ZertoRestRequest -uri $uri
|
||||
} elseif ( $PSCmdlet.ParameterSetName -eq "dayOfWeek" -or $PSCmdlet.ParameterSetName -eq "retentionPeriod" -or $PSCmdlet.ParameterSetName -eq "schedulerPeriod" ) {
|
||||
$uri = "{0}/{1}/backup/{2}" -f $baseUri, $vpgSettingsIdentifier, $PSCmdlet.ParameterSetName.ToLower()
|
||||
$results = Invoke-ZertoRestRequest -uri $uri
|
||||
} elseif ( $PSCmdlet.ParameterSetName -eq "nics" -or $PSCmdlet.ParameterSetName -eq "volumes" ) {
|
||||
$uri = "{0}/{1}/vms/{2}/{3}" -f $baseUri, $vpgSettingsIdentifier, $vmIdentifier, $PSCmdlet.ParameterSetName.ToLower()
|
||||
$results = Invoke-ZertoRestRequest -uri $uri
|
||||
} elseif ( $PSCmdlet.ParameterSetName -eq "vmIdentifier" ) {
|
||||
$uri = "{0}/{1}/vms/{2}" -f $baseUri, $vpgSettingsIdentifier, $vmIdentifier
|
||||
$results = Invoke-ZertoRestRequest -uri $uri
|
||||
} elseif ( $PSCmdlet.ParameterSetName -eq "nicIdentifier" ) {
|
||||
$uri = "{0}/{1}/vms/{2}/nics/{3}" -f $baseUri, $vpgSettingsIdentifier, $vmIdentifier, $nicIdentifier
|
||||
$results = Invoke-ZertoRestRequest -uri $uri
|
||||
} elseif ( $PSCmdlet.ParameterSetName -eq "volumeIdentifier" ) {
|
||||
$uri = "{0}/{1}/vms/{2}/volumes/{3}" -f $baseUri, $vpgSettingsIdentifier, $vmIdentifier, $volumeIdentifier
|
||||
$results = Invoke-ZertoRestRequest -uri $uri
|
||||
} else {
|
||||
$uri = "{0}/{1}/{2}" -f $baseUri, $vpgSettingsIdentifier, $PSCmdlet.ParameterSetName.ToLower()
|
||||
$results = Invoke-ZertoRestRequest -uri $uri
|
||||
}
|
||||
}
|
||||
|
||||
end {
|
||||
return $results
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user