Update function to allow pipeline operations

This commit is contained in:
Wes Carroll
2020-02-28 08:15:53 -05:00
parent a36a7cb37a
commit e19f9b34f5
3 changed files with 17 additions and 13 deletions
+1 -1
View File
@@ -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" {
+13 -9
View File
@@ -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."
}
}
}
+3 -3
View File
@@ -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
```