Update function to allow pipeline operations
This commit is contained in:
@@ -16,7 +16,7 @@ Describe $global:function -Tag 'Unit', 'Source', 'Built' {
|
||||
|
||||
Context "$($global:function)::Parameter Unit Tests" {
|
||||
It "Has a parameter for the VpgName that is Mandatory" {
|
||||
Get-Command $global:function | Should -HaveParameter vpgName -Mandatory -Type String
|
||||
Get-Command $global:function | Should -HaveParameter vpgName -Mandatory -Type 'String[]'
|
||||
}
|
||||
|
||||
It "Has a parameter for the CheckpointName that is Mandatory" {
|
||||
|
||||
@@ -4,10 +4,12 @@ function Checkpoint-ZertoVpg {
|
||||
param(
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Name of the VPG to tag."
|
||||
HelpMessage = "Name of the VPG to tag.",
|
||||
ValueFromPipeline = $true,
|
||||
ValueFromPipelineByPropertyName = $true
|
||||
)]
|
||||
[ValidateNotNullOrEmpty()]
|
||||
[string]$vpgName,
|
||||
[string[]]$vpgName,
|
||||
[Parameter(
|
||||
Mandatory = $true,
|
||||
HelpMessage = "Text to tag the checkpoint with."
|
||||
@@ -18,16 +20,18 @@ function Checkpoint-ZertoVpg {
|
||||
|
||||
begin {
|
||||
$baseUri = "vpgs"
|
||||
$vpgIdentifier = $(get-zertovpg -name $vpgName).vpgIdentifier
|
||||
$body = @{"checkpointName" = $checkpointName}
|
||||
}
|
||||
|
||||
process {
|
||||
if ($vpgIdentifier) {
|
||||
$uri = "{0}/{1}/Checkpoints" -f $baseUri, $vpgIdentifier
|
||||
Invoke-ZertoRestRequest -uri $uri -body $($body | ConvertTo-Json) -method "POST"
|
||||
} else {
|
||||
Write-Output "Cannot find VPG named $vpgName. Please check the name and try again."
|
||||
foreach ($name in $vpgName) {
|
||||
$vpgIdentifier = $(get-zertovpg -name $name).vpgIdentifier
|
||||
if ($vpgIdentifier) {
|
||||
$uri = "{0}/{1}/Checkpoints" -f $baseUri, $vpgIdentifier
|
||||
$body = @{"checkpointName" = $checkpointName}
|
||||
Invoke-ZertoRestRequest -uri $uri -body $($body | ConvertTo-Json) -method "POST"
|
||||
} else {
|
||||
Write-Output "Cannot find VPG named $name. Please check the name and try again."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ Add a tagged checkpoint to a specified VPG
|
||||
## SYNTAX
|
||||
|
||||
```
|
||||
Checkpoint-ZertoVpg [-vpgName] <String> [-checkpointName] <String> [<CommonParameters>]
|
||||
Checkpoint-ZertoVpg [-vpgName] <String[]> [-checkpointName] <String> [<CommonParameters>]
|
||||
```
|
||||
|
||||
## DESCRIPTION
|
||||
@@ -49,14 +49,14 @@ Accept wildcard characters: False
|
||||
Name of the VPG to tag.
|
||||
|
||||
```yaml
|
||||
Type: String
|
||||
Type: String[]
|
||||
Parameter Sets: (All)
|
||||
Aliases:
|
||||
|
||||
Required: True
|
||||
Position: 0
|
||||
Default value: None
|
||||
Accept pipeline input: False
|
||||
Accept pipeline input: True (ByPropertyName, ByValue)
|
||||
Accept wildcard characters: False
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user